Настройка OpenVPN.

Это просто ещё одна инструкция по настройке OpenVPN сервера. Допустим что у нас уже есть VDS простой конфигурации (512mb памяти и т. п.). На нём установлена CentOS 6 (собственно, для CentOS 7 делать нужно всё тоже самое) и на него же мы будем ставить наш VPN сервер.

Настраиваем OpenVPN сервер.

1. Приступаем. Ставим необходимые пакеты и проводим первичные приготовления.

# yum install epel-release
# yum install openvpn easy-rsa

# mkdir -p /etc/openvpn/easy-rsa/keys
# cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
# cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

2. Готовим окружение. Открываем файл /etc/openvpn/easy-rsa/vars и при необходимости изменяем в нём следующие строки:

export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Moscow"
export KEY_ORG="Superorg"
export KEY_EMAIL="info@superdomain.com"
export KEY_OU="SuperorgVPN"

Генерируем сертификат и ключ для сервера (здесь для него используется имя server):

# cd /etc/openvpn/easy-rsa
# source ./vars 
# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-dh
# cd /etc/openvpn/easy-rsa/keys/
# cp dh2048.pem ca.crt server.crt server.key /etc/openvpn/

В ходе создания сертификата, система предложит установить на него пароль. Делать это или нет, каждый для себя решает сам. Возможно, если VPN настраивается на собственном сервере и только для собственного использования, пароль на сертификаты можно и не устанавливать.

3. Пишем конфиг OpenVPN сервера. Открываем файл /etc/openvpn/server.conf и там прописываем следующее

# cat /etc/openvpn/server.conf
local 1.2.3.4
port 3333
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
mssfix
fragment 1300
log openvpn.log
verb 5

1.2.3.4 — IP сервера, 3333 — порт, на котором будет работать OpenVPN, лог можно отправить в /dev/null при необходимости. Конфиг сохраняем, сервис openvpn перезапускаем и добавляем его в автозапуск.

# chkconfig openvpn on
# service openvpn restart

4. Настраиваем маскарад и разрешаем форвардинг. В iptables добавляем следующее правило:

# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# service iptables save

# cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

5. Создаём сертификаты для клиента (здесь для него используется имя client).

# cd /etc/openvpn/easy-rsa
# ./build-key client
# mkdir /root/clientserts
# mv /etc/openvpn/easy-rsa/keys/client.* /root/clientserts/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /root/clientserts/
# cd /root/
# zip -r -9 clientserts.zip clientserts/

В итоге, мы получаем архив clientserts.zip, в котором для настройки OpenVPN на десктопе, нам будут нужны следующие файлы:

client.crt
client.key
ca.crt

Остаётся только настроить наш софт на ПК для работы с OpenVPN.

Настраиваем OpenVPN клиенты.

Настраиваем подключение в Linux, с помощью NetworkManager следующим образом…

Окно основных настроек:

Окно дополнительных настроек:

В Windows для настройки OpenVPN соединения можно пойти вот таким путём:

  • Скачиваем с офф. сайта GUI для OpenVPN в Windows
  • Сертификаты и ключ из архива закидываем в директорию C:\\Program Files\\OpenVPN\\config\\
  • Там же создаём client.ovpn файл со следующим содержимым:
client
remote 1.2.3.4 3333
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
comp-lzo yes
mssfix
fragment 1300
dev tun
proto udp
nobind
auth-nocache
script-security 2
persist-key
persist-tun
  • Запускаем GUI OpenVPN, с помощью которого и подключаемся с созданным конфигом.

После того, как OpenVPN настроен, а подключение к нему установлено, имеет смысл сразу же проверить, всё ли работает корректно. Например можно зайти на 2ip.ru и посмотреть, какой IP и какая информация о подключении отображается там. Если всё сделано верно, 2ip покажет вместо нашего реального IP, адрес настроенного только что сервера. С этого момента, можно приступать к работе в сети.

@SysadminNotes

3 thoughts on “Настройка OpenVPN.

  1. В Windows для настройки OpenVPN
    …..
    cert «C:\\Program Files\\OpenVPN\\config\\client.crt»
    key «C:\\Program Files\\OpenVPN\\config\\server.key»
    …..
    в последнем не server.key, а client.key

    + порты лучше указать заранее, что можно выбрать только 1194 в случае с udp

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *