
На сервере 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 в VLAN 192.168.182.*/28.
Я включил переадресацию 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?
решение1
Вы не опубликовали свою конфигурацию OpenVPN, но я предполагаю, что вы упустили маршрут к остальной части локальной сети:
push "route 192.168.182.0 255.255.255.240"
Это добавит необходимый маршрут на клиенте при подключении. Также убедитесь, что другие клиенты в вашей локальной сети знают, что нужно использовать сервер OpenVPN в качестве шлюза для сети OpenVPN.