На сервере ESXI у меня есть несколько виртуальных машин: одна с внешним IP-адресом (и доступом в Интернет), которая настроена как NAT (и играет роль сервера OpenVPN), и несколько виртуальных машин в VLAN (с использованием IP-адресов 192.168.182. * / 28).
Я настроил сервер и клиент OpenVPN, как описано в документации debian, для доступа к этим виртуальным машинам VLAN.
В настоящее время у меня запущены (tun) сервер и клиент OpenVPN, я могу пинговать друг друга через интерфейс tun0.
Проблема в том, что я не могу пинговать с клиентских машин OpenVPN, которые находятся в ESXI VLAN. Не могли бы вы посоветовать, как это исправить?
Таблица маршрутизации клиента OpenVPN:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 88.198.179.46 0.0.0.0 UG 0 0 0 eth0
10.9.8.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
88.198.179.40 0.0.0.0 255.255.255.248 U 0 0 0 eth0
Таблица маршрутизации сервера OpenVPN:
default static.193.120. 0.0.0.0 UG 0 0 0 eth0
10.9.8.2 * 255.255.255.255 UH 0 0 0 tun0
46.4.120.192 * 255.255.255.224 U 0 0 0 eth0
192.168.182.16 * 255.255.255.240 U 0 0 0 eth1
Насколько я понимаю, мне нужно маршрутизировать пакеты на сервере OpenVPN на 192.168.182. * / 28 VLAN.
Я включил пересылку ipv4 с помощью следующей команды: echo "1" > /proc/sys/net/ipv4/ip_forward
Я добавил следующие правила в iptables (88.198.179.41/29 - это ip / подсеть клиента), но это не помогло:
*nat
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 46.4.120.218
COMMIT
*filter
-A FORWARD -s 192.168.182.0/24 -d 88.198.179.41/29 -j ACCEPT
-A FORWARD -d 192.168.182.0/24 -s 88.198.179.41/29 -j ACCEPT
COMMIT
Возможно, мне нужно определить какой-то маршрут на VPNClient?
Вы не опубликовали свою конфигурацию openvpn, но я предполагаю, что вам не хватает маршрута к остальной части LAN:
push "route 192.168.182.0 255.255.255.240"
Это добавит необходимый маршрут для клиента при подключении. Кроме того, убедитесь, что другие клиенты в вашей локальной сети знают, что использовать сервер OpenVPN в качестве шлюза для сети OpenVPN.