Если клиент уже находится за NAT-ом, проброс трафика не заработает, а в логах можно будет найти строки вроде “MULTI: bad source address from client [a.b.c.d], packet dropped” — так как у OpenVPN нет правил для обработки пакетов из подсети a.b.c.0/24, они дропаются. Поэтому прописываем нужные правила: в /etc/openvpn/server.conf добавляем строки
client-config-dir ccd # директория с настройками для клиентов route a.b.c.0 255.255.255.0 # обрабатывать пакеты из подсети
а в /etc/openvpn/ccd/ создаем файл client_name1.conf и в нем пишем
iroute a.b.c.0 255.255.255.0 # разрешаем доступ к VPN из подсети a.b.c.0/24
Настройка серверной части закончена, перезапускаем OpenVPN.
$ sudo systemctl restart openvpn@server
Теперь конфиг файл сервера примет вид:
....
server 10.8.0.0 255.255.255.0 # подсеть для туннеля, может быть любой
route 10.8.0.0 255.255.255.252 # указываем подсеть, к которой будем обращаться через vpn rab
route 192.168.1.0 255.255.255.0 # обрабатывать пакеты из подсети 192.168.1.0/24 (home lan)
push "route 192.168.113.0 255.255.255.0" # передаем маршрут клиентам
## START Закоментировать 2 строки если интернет-шлюз не нужен
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.8.0.1"
## END
....
Соответственно клиентский будет выглядеть так:
# cat /etc/openvpn/ccd/user-server-pc
push "route 192.168.36.0 255.255.255.0"
iroute 192.168.1.0 255.255.255.0
route 192.168.36.0 255.255.255.0
Перегружаем сервис:
# systemctl restat openvpn@server # systemctl status openvpn@server