私は Ubuntu 20.04 で OpenVPN を実行しており、ユーザーが別のサブネットにあるサーバーにアクセスできるようにしようとしています。ネットワークの図は次のようになります。
つまり、eth1 は DHCP と広域インターネットに接続され、eth0 はサーバーがあるプライベート ネットワークに接続されます。したがって、VPN は eth1 (192.168.1.0/24) で実行されていますが、VPN に接続しているときは eth0 (192.168.177.0/24) 上のマシンにアクセスできる必要があります。
一時的な iptables ルールを追加してみましたが、2 つの NIC 上にあるため、機能しているかどうかわかりません。Google で見つけたものはすべて、同じ NIC 上にある場合に関するものでした。
push "route 192.168.177.0 255.255.255.0"
編集: OpenVPNにも追加しましたが
server.conf
、機能していないようです。
編集 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