
Как установить и настроить OpenVPN на OpenVZ
Это руководство покажет вам, как установить OpenVPN внутри вашей VPS с OpenVZ на Ubuntu. OpenVZ поддерживается в VPN с помощью ядра TUN / модуля TAP.
Первое, что вам нужно сделать, это разрешить TUN / TAP, если вы еще не сделали это:
Перейдите Hypanel->Machine Settings -> Enable TUN/TAP
Установку буду делать на Ubuntu.
Во-первых, установить OpenVPN пакет:
# sudo apt-get install openvpn # sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn # cd /etc/openvpn/ # sudo gunzip server.conf.gz
Это позволит скопировать и распаковать пример конфигурации сервера. Пример конфигурации использует диапазон IP 192.168.244.0 и подсеть 255.255.255.255
Измените файл server.conf в своем любимом редакторе:
# ee /etc/openvpn/server.conf
Теперь вам нужно раскомментировать следующее (удалить «;» впереди):
push “redirect-gateway def1 bypass-dhcp” push “dhcp-option DNS 192.168.244.134″ push “dhcp-option DNS 192.168.244.134″
Скопируйте необходимые файлы в создадим наши сертификаты:
# sudo mkdir /etc/openvpn/easy-rsa/ # sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ # cd /etc/openvpn/easy-rsa
Нам нужно настроить файл VARS, который содержит настройки для сертификатов.
Пожалуйста, имейте в виду, что поле «country» может содержать только 2 буквы.
Откройте файл VARS и перейдите до конца.
Файл по умолчанию содержит:
# Это значения по умолчанию для полей # Которые будут размещены в сертификате. # Не оставляйте любое из этих полей пустым. export KEY_COUNTRY=”UA” export KEY_PROVINCE=”RU” export KEY_CITY=”Kiev” export KEY_ORG=”Fort-Funston” export KEY_EMAIL=”captain@192.168.244.134”
Вы можете изменить эти значения, если хотите.
После этого создадим сертификаты для сервера:
# cd /etc/openvpn/easy-rsa/ # source vars # ./clean-all # ./pkitool –initca # ./pkitool –server server
Это поможет укрепить ваши соответствующие сертификаты, основанные файлы примеров немного поправив их. Я рекомендую это для не-продвинутых пользователей и новичков.
Создание клиентских сертификатов:
# cd /etc/openvpn/easy-rsa/ # source vars # ./pkitool hostname
Не забудьте заменить имя хоста с именем клиента на котором вы хотите подключиться. Это может быть использовано в качестве идентификатора, например, «client1»
Вы должны будете сделать 1 вещь, чтобы исправить маршрутизацию. То есть направлять трафик от tun0 к интерфейсу, который обеспечивает интернет (venet0:0 по умолчанию).
# iptables -t nat -A POSTROUTING -s 192.168.244.0/24 -j SNAT --to-source your_server_ip # iptables-save
Поскольку мы не можем использовать команду MASQUERADE, мы должны использовать SNAT. Также только полные интерфейсы поддерживаются (Так venet0: 0 не совместим с опцией-O). Вот почему я использую статическую конфигурацию на основе IP. Это будет маршрут весь сетевой трафик будет на 192.168.244.0 к интерфейсу internet-supplying.
# sudo /etc/init.d/openvpn restart
Настройте ваш VPN клиент на вашем компьютере
The client will need the following files (Клиенту понадобятся следующие файлы )
/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys/lvpsbl.crt /etc/openvpn/easy-rsa/keys/lvpsbl.key
Создайте конфигурационный файл, например lvpsbl.ovpn и изменить настройки сертификатов (включите указанные выше файлы:
В строке «имя удаленного хоста 1194 (remote hostname 1194)» измените «хост» с вашим VPS хостом и с соответствующим сертификатом.
Также изменить настройки SSL в случае, если вы использовали другое имя для клиентских сертификатов:
#Простой config файл client dev tun # необходим имя адаптера для TAP-Win32 # С панели Сетевые подключения # Если у вас есть больше чем один. На XP SP2, # Вам может понадобиться отключить брандмауэр # для адаптера TAP. ;dev-node MyTap # Ли мы подключились к TCP или # UDP сервер? Используйте те же настройки, как # как на server-е. ;proto tcp proto udp # Имя\ИП hostname/IP и порт сервера. # Вы можете иметь несколько удаленных записей # Для балансировки нагрузки между серверами. remote hostname 1194 ;remote my-server-2 1194 # Выбрать случайный host с удаленного # Списка для балансировки нагрузки. в противном случае # Попробовать hosts в указанном порядке. ;remote-random resolv-retry infinite # Большинство клиентов не нужно связываться с # Конкретным номером локального порта. nobind ;user nobody ;group nobody # Старайтесь сохранить некоторое состояние при перезапуске. persist-key persist-tun ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] ;mute-replay-warnings # SSL/TLS сертификаты. ca ca.crt cert ilvpsbl.crt key lvpsbl.key # Verify server certificate by checking ns-cert-type server # If a tls-auth key is used on the server # then every client must also have the key. ;tls-auth ta.key 1 # Select a cryptographic cipher. # If the cipher option is used on the server # then you must also specify it here. ;cipher x # Enable compression on the VPN link. # Don’t enable this unless it is also # enabled in the server config file. comp-lzo # Set log file verbosity. verb 3 # Silence repeating messages ;mute 20
Когда это будет сделано, импортируйте файлы клиента в ваш любимый клиент OpenVPN и все должно быть готовы к работе.
Для проверки соединения можно попробовать проверить связь с сервером локально (192.168.244.1) или подключиться к интернету через веб-браузер.
Как установить и настроить OpenVPN на OpenVZ полностью раскрыта.
«iptables -t nat -A POSTROUTING -s 192.168.244.0/24 -j SNAT —to-source your_server_ip» — исправьте, перед to-source два тире (double dash).
Спасибо. Поправил статью 🙂