Пример файла /etc/openvpn/server.conf
port 1194
proto udp
dev tun
;dev-node tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt
push "route 192.168.7.0 255.255.255.0" # home subnet
;duplicate-cn
keepalive 10 120
;cipher BF-CBC # Blowfish (default)
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
;status openvpn-status.log
;log-append openvpn.log
verb 10
mute 20
client-to-client
client-config-dir /etc/openvpn/ccd
route 192.168.1.0 255.255.255.0
Указываем, на каком порту принимать соединения:
port 1194
Указываем протокол (tcp или udp):
proto udp
Указываем, что именно будем инкапсулировать в туннеле (ethernet фреймы - tap или ip пакеты - tun)
dev tun
Прописываем пути к ключам и сертификатам:
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
Выделяем внутренний диапазон адресов для VPN:
server 10.10.10.0 255.255.255.0 # vpn subnet
В какой файл будем записывать выданные для VPN адреса?:
ifconfig-pool-persist ipp.txt
Прописываем на клиенте маршрут до домашней сети (той которая за сервером):
push "route 192.168.7.0 255.255.255.0" # home subnet
Пинговать каждые 10 секунд, если хост не отвечает в течении 120 секунд, считать его в недоступным:
keepalive 10 120
Разрешить сжатие пакетов:
comp-lzo
Прописываем пользователя и группу, от имени которых будет запускаться демон:
user nobody
group nogroup
Пытаться переподключаться после падений интерфейса (не уверен, что правильно перевёл):
persist-key
persist-tun
Уровень подробности логов (от 0 до 9):
verb 4
Не писать в логи повторяющиеся сообщения:
mute 20
Разрешить пересылку пакетов между клиентами:
client-to-client
Автоматически прописать машрут на сервере до клиента
client-config-dir /etc/openvpn/ccd
route 192.168.1.0 255.255.255.0
Копипаст с сайта