我在 Ubuntu 20.04 上執行 OpenVPN,並且嘗試允許使用者存取位於不同子網路上的伺服器。這是網路的示意圖:
因此,eth1 連接到 DHCP 和更廣泛的互聯網,eth0 連接到具有伺服器的專用網路。因此,VPN 在 eth1 (192.168.1.0/24) 上運行,但當連接到 VPN 時,我需要能夠存取 eth0 (192.168.177.0/24) 上的機器。
我嘗試新增臨時 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