Гугл четко выводит на эту статью. Добавим рабочий вариант для истории.
Сервер:
cat /etc/openvpn/server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 172.16.31.0 255.255.255.0
ifconfig-pool-persist ipp.txt 0
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
tls-server
status openvpn-status.log
verb 3
client-to-client
client-config-dir /etc/openvpn/ccd
reneg-sec 0 ; не разрывать соединение каждый час для обновления ключа "не безопастно"
Добавляем по необходимости
push "route 192.168.0.0 255.255.255.0" ; говорим клиентам что за сеть за сервером, чтоб они добавили маршрут в роутинг
push "explicit-exit-notify 3"
Если нам нужны сети за клиентами openvpn, добавляем
route 192.168.115.0 255.255.255.0 172.16.31.1 ; рассказываем серверу что за сети у клиентов (office1) чтоб знал маршрутизацию
route 192.168.33.0 255.255.255.0 172.16.31.1 ; их может быть очень много (office2)
Настройки что бы клиенты получали постоянно один и тот же адрес VPN
имена office1, office2 берутся из название ключа когда создаете сертификат клиента
Клиент office1 с внутренней сетью 192.168.115.Х
cat /etc/openvpn/ccd/office1
ifconfig-push 172.16.31.2 172.16.31.1
iroute 192.168.115.0 255.255.255.0
Клиент 2 с внутренней сетью 192.168.33.Х
cat /etc/openvpn/ccd/office2
ifconfig-push 172.16.31.3 172.16.31.1
iroute 192.168.33.0 255.255.255.0
Настройки клиента
cat /etc/openvpn/client.conf
client
dev tun
proto udp
remote Х.Х.Х.Х 1194 # Внешний адрес сервера
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
ca /etc/openvpn/ca.crt # Ключ сервера
cert /etc/openvpn/office1.crt # Ключи клиента
key /etc/openvpn/office1.key # Ключи клиента
comp-lzo
verb 3
mute 20
#tun-mtu 1380 # если ping есть а нечего не качается внутри сети, снижаем mtu