Я использую OpenVPN на Ubuntu 20.04 и пытаюсь разрешить пользователям доступ к серверам, которые находятся в другой подсети. Вот схема того, как выглядит сеть:
Итак, eth1 подключен к DHCP и более широкому интернету, а eth0 подключен к частной сети с серверами на них. Таким образом, VPN работает на eth1 (192.168.1.0/24), но мне нужно иметь возможность доступа к оборудованию на eth0 (192.168.177.0/24) при подключении к VPN.
Я пробовал добавлять временные правила iptables, но не уверен, что они работали, потому что они на двух сетевых картах. Все, что я смог найти в Google, касается того, когда они на одной сетевой карте.
Редактировать: Я также добавил
push "route 192.168.177.0 255.255.255.0"
в свой server.conf
OpenVPN, но это, похоже, не сработало.
Редактирование 2: Я также попробовал следующие правила iptables:
sudo iptables -A INPUT -i tun0 -j ACCEPT
sudo iptables -A INPUT -i eth0 -j ACCEPT
sudo iptables -A INPUT -i eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -j ACCEPT
а также:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Я могу увидеть свой маршрут в списке, если запущу его route print
на клиенте Windows:
192.168.177.0 255.255.255.0 10.8.0.1 10.8.0.2 259