Содержание

Настройка и работа с OpenVPN

Серверная часть

/usr/local/etc/openvpn/openvpn.conf

Файл с настройками для сервера OpenVPN

local x.x.x.x                                      # адрес, на котором слушать
port 1194                                          # порт
proto udp                                          # протокол, я предпочитаю udp
dev tap                                            # тип устройства, кем будет осуществляться соединение

ca /usr/local/etc/openvpn/2.0/keys/ca.crt
cert /usr/local/etc/openvpn/2.0/keys/server.crt
key /usr/local/etc/openvpn/2.0/keys/server.key     # This file should be kept secret
dh /usr/local/etc/openvpn/2.0/keys/dh1024.pem

server 10.8.1.0 255.255.255.0                      # что бы сервер видел клиентов
ifconfig-pool-persist ipp.txt                      # сохранять IP адреса клиентов, что бы выдать им такие же

ccd-exclusive                                      # использовать для соединения настройки клиентов в файлах, а не общие сервера.
client-config-dir /usr/local/etc/openvpn/ccd       # каталог где брать настройки
client-to-client                                   # что бы клиенты видели друг друга

keepalive 10 120                                   # через сколько считать клиента дохлым

comp-lzo
max-clients 100
user nobody
group nogroup

persist-key
persist-tun

status /var/log/openvpn/clients-status.log
log        /var/log/openvpn/clients.log
#verb 4

Каталог /usr/local/etc/openvpn/ccd

В нем должны находится файлы, название которого должно совпадать с именем пользователя в сертификате, например:

# cat /usr/local/etc/openvpn/ccd/linko
push "route 10.8.0.0 255.255.255.0"    # Прописываем на стороне клиента роут, что бы он видел нашу сеть
push "dhcp-option DNS 10.8.0.1"        # Пихаем ему наш DNS, что бы он мог ходить по DNS-именам нашей сети
ifconfig-push 10.8.1.22 255.255.255.0  # принудительно выдаем ему постоянный IP

Как добавлять пользователя

# cd /usr/local/etc/openvpn/2.0
# source vars
# pkitool username

После чего в каталоге /usr/local/etc/openvpn/2.0/keys появляются три файла

Нас интересуют только username.crt и username.key, отсылаем их пользователю вместе с файлом ca.crt

Клиентская часть

Клиенту надо скачать программу с адреса http://openvpn.se/download.html под надписью Installation Package (Both 32-bit and 64-bit TAP driver included):, установить, убедится что OpenVPN GUI запускается с правами администратора, и создать конфиг-файл.

Пуск → Все программы → OpenVPN → OpenVPN configuration file directory

Откроется папка, в ней создать файл, например, office с расширением ovpn, т.е. office.ovpn и поместить туда содержимое конфиг-файла, исправив пути на свои и названия ключей. Обратите внимание на двойные слеши, они обязательны.

remote x.x.x.x 1194
proto udp
ca "Q:\\Work\\vpn\\ca.crt"
cert "Q:\\Work\\vpn\\linko.crt"
key "Q:\\Work\\vpn\\linko.key"
comp-lzo
verb 3
mute 20
resolv-retry infinite
explicit-exit-notify 2
ping 10
ping-restart 60
nobind
client
dev tap
persist-key
persist-tun
route-method exe
route-delay 10