GD Star Rating
loading...
loading...
Здравствуйте, уважаемые! Может у кого-нибудь есть скрипт автоматической настройки openvpn сервера – поделитесь, а? Или может общими усилиями сможем сделать рабочий скрипт для всех. Сам в баше не очень силен, поэтому не знаю что где дописать и поправить. Пока что на просторах сети нашел вот такой вариант:
что из этого вам хотелось бы автоматизировать?http://www.openvpn.net/index.php/open-so …
Stephan-V: в идеале хотелось бы иметь скрипт который при запуске на vps ставил бы все нужные пакеты, генерировал все нужные для подключения сертификаты и ключи, конфигурировал сам vps чтобы openvpn нормально работал, прописывал автостарт опенвпна и прописывал ведение логов в пустоту. Примерно по такому алгоритмуhttp://elwood.su/?p=8 .
По поводу конфигурирования сервера вот товарищ мне сказал изменить скрипт openvpn-add таким образом и должно работать, пока не проверялhttp://paste.org.ru/?ruq63a .
: > ставил бы все нужные пакеты
apt-get install openvpn / yum install openvpn
> генерировал все нужные для подключения сертификаты
есть easy-rsa, и сертификат зависит от ваших данных. пользовательские серты генерятся индивидуально. да и к тому же заранее неизвестно, какой алгоритм аунтефикации будет лучше – серт или пароль. так что здесь нет общего решения, которое стоило бы вносить в скрипт, всё равно всем нужно что-то своё.
> конфигурировал сам vps чтобы openvpn нормально работал
что значит “нормально”?
> автостарт опенвпна
из пакета, если мы говорим о сервере
> прописывал ведение логов в пустоту
лол ок
короче затея сомнительная
: да-да, охуенный хауту на елвуде
Stephan-V: Лично мне нужно без пароля, по сертификатам только. Нормально работал, это значит настроить нат и включить устройство для туннелирования в конфиг, прописать свои днс, порт.. вывод логов в пустоту я вот нашел в конфиг сервера вроде нужно прописать:
log /dev/null
status /dev/null
log-append /dev/null
verb 0
в openvpn.conf на сервере всмысле
: это очень частный шаблон и он будет интересен только вам
Stephan-V: Частного ничего не вижу здесь, все в рамках стандартных инструкций по поднятию опенвпн. Вот примерная схема как мне это видится, но есть несколько сложных и не очень моментов которые я не знаю как правильно реализовать в башскрипте.
apt–get install openvpn
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/
cd /etc/openvpn/../vars
source./vars./clean-all./build-key-server server./build-dh./build-key client1
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
cd /etc/openvpn
gunzip server.conf.gz
Теперь в каталоге /etc/openvpn находится файл конфигурации с именем server.conf
Внести в него следующие необходимые изменения (укажите полные пути к файлам ключей):
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
Остальные параметры оставляем такие какие были, то есть по-умолчанию.
Так же как понимаю нужно прописать
proto udp (или tcp)
local 82.146.57.24 # сюда ставим IP адрес нашего VDS-сервера (нужно предварительно получить ип и автоматом вписать его в эту строку).
dev tap
port 443 # по этому порту будут происходить клиентские коннекты.
Также для ведения логов (после настройки необходимо отключить) для поиска возможных проблем в работе можно в файле конфигурации OpenVPN сервера /etc/openvpn/server.conf добавить строку
log /var/log/openvpn.log
вместо этого я думаю сразу прописывать:
log /dev/null
status /dev/null
log–append /dev/null
verb 0
Так же нужно добавить строки:
push “redirect-gateway”
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”
далее добавить в /etc/rc.local
/sbin/iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
/sbin/iptables -A FORWARD -i venet0 -o tun0 -m state –state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
далее нужно сгенерировать MyVpnConfig.ovpn параметры для которого должны браться из ранее сгенерированного server.conf
client #указываем OpenVPN, что необходимо работать в режиме клиента
proto udp #указываем, что сервер работает через udp/tcp
remote 82.146.57.24 #хост, к которому присоединяемся
port 5278 #порт к которому следует подключатся
dev tun #используемый тип устройства tap
resolv-retry infinite #количество повторов соединения
redirect-gateway #ВАЖНО! переназначить стандартный шлюз на шлюз VPN
persist-tun #Не закрывать и переоткрывать TUNTAP устройство, после получения SIGUSR1 или ping-restart
persist-key #Не перечитывать ключи после получения SIGUSR1 или ping-restart
tls-client #указываем, что подключение осуществляется по средствам tls-ключа
tls-auth ta.key 1 #указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
dh dh1024.pem #указываем файл Диффи Хельман
ca ca.crt #указываем файл CA
cert client.crt #указываем файл с сертификатом клиента
key client.key #указываем файл с ключем клиента
cipher DES-EDE3-CBC # Triple-DES #включаем шифрацию пакетов
#cipher none
comp-lzo #Включить сжатие траффика
verb 0 #Уровень информации для отладки
dev tap
/etc/init.d/openvpn start
в идеале потом папку с клиентскими конфигами еще заархивировать чтобы удобнее скачивать было.
Блин, парсер такой парсер. Вот в общемhttp://paste.org.ru/?fijb3u
: всё изучать не стал, ибо много ненужных мне частностей. почему вы вообще решили, что кому-то интересно обязательно поднимать опенвпн для ната клиентов? почему не для бриджинга? то что вы приводите это одна из возможных конфигураций, ещё раз говорю, и интересна она не всем
Stephan-V: Мне кажется эту конфигурацию легче всего максимально автоматизировать, чтобы не править конфиги руками. Ну я как бы вас конкретно не прошу участвовать. Не интересно, так не интересно. Кому-то может будет интересно просто помочь решить задачку или же предложить другие варианты решения.
: скрипты фигня установок, натов и прочего фигня, а вот онлайн-конструктор конфига сервера и ответных конфигов клиентов к нему – жизнеспособная идея и на ней можно заработать
Stephan-V: Задумка неплохая + еще можно доразвить идею.
: нужно только пути будет подправить под текущие, но это поди разберешься, не маленький)
: Вот спасибо!