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