저는 Ubuntu 20.04에서 OpenVPN을 실행하고 있으며 사용자가 다른 서브넷에 있는 서버에 액세스하도록 허용하려고 합니다. 다음은 네트워크의 모습을 보여주는 다이어그램입니다.
따라서 eth1은 DHCP 및 더 넓은 인터넷에 연결되고 eth0은 서버가 있는 개인 네트워크에 연결됩니다. 따라서 VPN은 eth1(192.168.1.0/24)에서 실행되고 있지만 VPN에 연결되면 eth0(192.168.177.0/24)의 시스템에 액세스할 수 있어야 합니다.
임시 iptables 규칙을 추가하려고 시도했지만 두 개의 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