Файл конфигурации.Создаем конфигурационный файл нашего OpenVPN сервера.
ee /usr/local/etc/openvpn/server.conf
# указываем на каком локальном интерфейсе OpenVPN будет слушать
# по умолчанию OpenVPN слушает все интерфейсы
#local xxx.xxx.xx.x
# порт на котором работает сервер
port 1194
# протокол - TCP или UDP
proto udp
# используемый тип устройства и номер
dev tun0
# указываем по каким интерфейсам можно подключаться к OpenVPN по telnet
# указывать нужно IP адреса интерфейсов сервера
management localhost 8329
management 192.168.0.xx 8329
management 213.230.xxx.xx 8329
# указываем файл CA
ca /usr/local/etc/openvpn/keys/ca.crt
# указываем файл с сертификатом сервера
cert /usr/local/etc/openvpn/keys/server.crt
# указываем файл с ключем сервера
key /usr/local/etc/openvpn/keys/server.key
# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /usr/local/etc/openvpn/keys/dh1024.pem
# указываем где находится файл отозванных сертификатов
#crl-verify /usr/local/etc/openvpn/crl.pem
# задаем IP-адрес сервера и маску подсети (виртуальной сети)
server 10.10.100.0 255.255.255.0
# указываем внутренний DNS и WINS сервер
push "dhcp-option DNS 192.168.0.1"
push "dhcp-option DNS 192.168.0.10"
push "dhcp-option WINS 192.168.0.1"
# задаем МАРШРУТ который передаём клиенту
# и маску подсети для того чтобы он "видел"
# сеть за OpenVPN сервером
# Офис
push "route 192.168.0.0 255.255.255.0"
# Филиал №1
push "route 192.168.1.0 255.255.255.0"
# Филиал №2
push "route 192.168.2.0 255.255.255.0"
# указываем где хранятся файлы с
# настройками IP-адресов клиентов
client-config-dir ccd
# добавляем маршрут сервер-клиент
route 10.10.100.0 255.255.255.252
# Филиал №1
route 192.168.1.0 255.255.255.0
# Филиал №2
route 192.168.2.0 255.255.255.0
# делает сервер OpenVPN основным шлюзом
#push "redirect-gateway def1"
# разрешает видеть клиентам друг друга (по виртуальным IP)
#client-to-client
# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn
# включаем TLS аутентификацию
tls-server
# указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-auth keys/ta.key 0
# TLS таймаут
tls-timeout 120
# выбираем алгоритм хеширования
# по умолчанию используется SHA1
# выбирать вам какой использовать (SHA1, MD5 итд итп)
# вывод полного списка openvpn --show-digests
auth SHA1
# выбираем алгоритм шифрования пакетов
# по умолчанию используется/рекомендуется BF-CBC
# вывод полного списка openvpn --show-ciphers
cipher BF-CBC
# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120
# сжатия трафика с помощью библиотеки LZO
comp-lzo
# максимальное количество одновременных соединений/количество клиентов
max-clients 100
# от какого пользователя и группы работает OpenVPN
user nobody
group nobody
# не перечитывать ключи после получения
# SIGUSR1 или ping-restart
persist-key
# не закрывать и переоткрывать TUNTAP
# устройство, после получения
# SIGUSR1 или ping-restart
persist-tun
# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn-status.log
# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn.log
# уровень информации для отладки
# 0 -- quiet except for fatal errors.
# 1 -- mostly quiet, but display non-fatal network errors.
# 3 -- medium output, good for normal operation.
# 9 -- verbose, good for troubleshooting
verb 3
# макс кол-во однотипных записей в лог
#mute 20
Создаем директорию /var/log/openvpn/ и 2 файла где будут храниться логи
#mkdir /var/log/openvpn/
#touch /var/log/openvpn/openvpn-status.log
#touch /var/log/openvpn/openvpn.log
Добавляем OpenVPN в автозагрузку системы
#ee /etc/rc.conf
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_dir="/usr/local/etc/openvpn"
И запускаем OpenVPN сервер
# /usr/local/etc/rc.d/openvpn start
Starting openvpn.
#
Проверим в процесcах
#ps axw | grep openvpn
2983 ?? Ss 0:00.00 /usr/local/sbin/openvpn --cd /usr/local/etc/openvpn
--daemon openvpn --config /usr/local/etc/openvpn/server.conf