OpenVPN: как создать много клиентских конфигов

Jul 02, 2016 18:24

Любой админ, получая новую задачу с кучей однотипных действий, сталкивается с выбором: либо сделать это вручную, медленно и нудно, но зато гарантированно, либо автоматизировать, но затратить неизвестно сколько времени и, возможно, не достичь результата к сроку, да еще и нагоняй от начальства получить. Каждый выбирает своё, в зависимости от опыта и ( Read more... )

it-шное, howto, за что я люблю этот мир, учусь, админские будни

Leave a comment

Comments 11

hvostat_hvostat July 2 2016, 15:34:30 UTC

... )

Reply


rustedowl July 2 2016, 16:32:22 UTC
*задумчиво* Какой знакомый стиль... дай угадаю, вдохновлялась моим getsettings.sh? :D
Баш очень простой, я же говорил :) Кстати, готовые скрипты на формирование кучи конфигов для OpenVPN есть - народ просто правит собственный скрипт easy-rsa, задавая большинство параметров заранее и добавляя for в начале скрипта, уже где-то видел на англоязычных форумах OpenVPNа. Но у меня так и не появилось необходимости им воспользоваться.
Я сам пользуюсь XCA :)

Reply

murav1ik July 4 2016, 10:20:08 UTC
Да чем только не вдохновлялась.)) Но твой скрипт тоже читала, да.

Странно, но мне не нашлось ни одного такого скрипта. Да и побоялась бы я править скрипт easy-rsa, мало ли что.))

Ооо, интересно! Посмотрю подробнее, что это за XCA. Спасибо!

Reply


(The comment has been removed)

klink0v July 2 2016, 20:41:00 UTC
Ошибки пофиг, всё равно "для собственноручного использования". Внешние запросы обрабатываться всё равно не будут.

Другое дело, что сам способ выбран далеко не самый простой. Я ниже уже отписался на эту тему.

Reply

murav1ik July 4 2016, 10:20:57 UTC
Ооо, спасибо за замечание, попобую допилить!)

Reply


klink0v July 2 2016, 20:34:12 UTC
Мадемуазель явно не ищет лёгких путей.

#!/bin/bash

. ./vars
DSTDIR="/root/testdir"

for NUM in `seq -w 1 200` ; do
FILE=$NUM-client$NUM.ovpn
cat << ENDCAT >> $DSTDIR/$FILE
dev tun
proto udp
remote 1.2.3.4
nobind
прочие бла-бла-бла
ENDCAT
echo -e "\n" >> $DSTDIR/$FILE
cat "$KEY_DIR"/ca.crt >> $DSTDIR/$FILE
echo -e "
\n\n" >> $DSTDIR/$FILE

./pkitool --batch --keysize 2048 "$NUM-client$NUM"
cat "$KEY_DIR"/"$NUM-client$NUM".crt | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' >> $DSTDIR/$FILE
echo -e "
\n\n" >> $DSTDIR/$FILE
cat "$KEY_DIR"/"$NUM-client$NUM".key >> $DSTDIR/$FILE
echo "
" >> $DSTDIR/$FILE
done

Обрати внимание, перед словом "ENDCAT" не должно быть пробелов. Это важно ( ... )

Reply

rustedowl July 2 2016, 20:48:39 UTC
Самостоятельное обучение - это очень важный и полезный процесс :)

Reply

murav1ik July 4 2016, 10:28:09 UTC
Спасибо, Данила!)) Хоть ты меня понимаешь))

Reply

murav1ik July 4 2016, 10:27:01 UTC
Я ждала твоего комментария и грызла ногти от волнения! =))
Впечатлилась твоим скриптом. Посмотрю еще подробнее чуть позже.

Но мне было важно создавать клиентские конфиги не по номерам, а именно с человекопонятным именем.

Reply


Leave a comment

Up