Как настроить настройка OpenVPN в Ubuntu с использованием OpenVZ /openvpn ubuntu openvz
apt-get install openvpn
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
# редактируем переменные
nano ./vars
# меняем строки
export KEY_SIZE=1024 # Длинна ключа
export KEY_EXPIRE=3650 # Срок действия ключа в днях
# описание сертификатов по-умолчанию
export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Moscow"
export KEY_ORG="http://"
export KEY_EMAIL="[email protected]"
# инициализируем переменные и чистим папку keys и создаем сертификаты
. ./vars
. ./clean-all
./build-ca # корневой сертификат
./build-key-server server # сертификат сервера
./build-dh # ключ Диффи Хельман
# если вы планируете использовать tls-auth, который позволит скрыть порт на котором сервер слушает vpn подключения, защитить от DoS атак и кое чего еще, то выполните еще и эту строку:
openvpn —genkey —secret ./keys/ta.key
# Включили tls-auth? Тогда не забудьте передать ta.key клиентам, его надо будет положить рядом с сертификатом пользователя.
# перенесем полученные сертификаты в рабочую папку
cp ./keys/ca.crt /etc/openvpn
cp ./keys/server.crt /etc/openvpn
cp ./keys/server.key /etc/openvpn
cp ./keys/dh1024.pem /etc/openvpn
# Для tls-auth, выполните и эту строку:
cp ./keys/ta.key /etc/openvpn
# настроим сервер
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
nano /etc/openvpn/server.conf
# все настройки по-умолчанию нас устроят, меняем, раскомментируем:
local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client # раскомментируйте, если хотите иметь доступ между клиентами внутри вашего VPN
# Для включения tls-auth, необходимо добавить (без #)
# tls-auth ta.key 0
Для OpenVZ возможно необходимо изменить MTU
tun-mtu 1200
# Если хотите спрятать сервер от китайских ботов и ФСБ, поменяйте стандартный порт, на любой другой. Только не забудьте прописать этот же порт в настройках клиента.
port 1194
# применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
nano /etc/rc.local
# добавляем строки до exit 0
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state —state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
для openvz другое
iptables -t nat -A POSTROUTING -o venet0 —j SNAT -–to адрес_сервера
iptables -A FORWARD -i venet0 -o tun0 -m state —state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
Всё, серверная часть готова. Можно подключаться. Для перехода к следующим этапам, надо выгрузить с нашего сервера сертификаты из папки:
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
Настройка Windows клиента
1. Скачиваем и устанавливаем клиент:
2. Создаем файл конфигурации myvpnconfig.ovpn (обычный текстовый файл):
remote IP_вашего_сервера 1194
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls server
pkcs12 vpn.windows.p12
verb 3
pull
# Если вы включили tls-auth на сервере, добавьте в конфиг эту строку:
tls-auth ta.key 1
3. Создаем batch скрипт (start_my_vpn.cmd) для запуска VPN сессии:
cd C:\some\path\openvpn\
"C:\Program Files\OpenVPN\bin\openvpn.exe" —config C:\some\path\openvpn\myvpnconfig.ovpn
4. Скрипт и конфиг ложим в одну папку, в эту же папку кидаем vpn.windows.p12 сертификат, брать его тут
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/vpn.windows.p12
5. Готово, ярлык на скрипт кидаем на рабочий стол, запускаем от имени администратора или от пользователя с его правами, при запуске он попросит ввести пароль для «импорта» сертификата.
Если пароль верный, то несколько секунд и мы подключились:
Для не параноиков или автостарта туннеля без ввода пароля, можно вместо p12 использовать связку сертификатов ca.crt, vpn.windows.key и vpn.windows.crt, выглядит это так,
вместо
pkcs12 vpn.windows.p12
пишем:
ca ca.crt
cert vpn.windows.crt
key vpn.windows.key
Файлы брать все там же
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
и положить в папку с myvpnconfig.ovpn и start_my_vpn.cmd.
http://habrahabr.ru/post/153855/
http://habrahabr.ru/post/188474/
http://www.lissyara.su/articles/freebsd/security/openvpn+pkcs-12/