我有一个 VPN 客户端 192.168.0.9,它通过我的家庭 VPN 服务器 192.168.0.12 连接。(我的大多数 LAN 客户端都通过 192.168.0.12 连接以使用 VPN)。
我想通过我的家庭路由器 192.168.0.1 端口 123456 从 WAN 端口转发到我的 VPN 客户端 192.168.0.9
如果我使用 192.168.0.1 作为 192.168.0.9 的网关,则一切正常。如果我使用 192.168.0.12 作为网关,则无法正常工作。
VPN 192.168.0.12 上的 Iptable 如下所示。
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables --flush
iptables -t nat -F
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -I INPUT -i eth0 -m comment --comment "In from LAN" -j ACCEPT
iptables -A INPUT -i lo -m comment --comment "loopback" -j ACCEPT
iptables -A OUTPUT -o lo -m comment --comment "loopback" -j ACCEPT
iptables -I INPUT -i eth0 -m comment --comment "In from LAN" -j ACCEPT
iptables -I OUTPUT -o tun0 -m comment --comment "Out to VPN" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 1198 -m comment --comment "openvpn" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 123 -m comment --comment "ntp" -j ACCEPT
iptables -A OUTPUT -p UDP --dport 67:68 -m comment --comment "dhcp" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m comment --comment "LAN out to VPN" -j ACCEPT
I have tried to add these rules
iptables -t nat -A POSTROUTING -s 192.168.0.12 -j SNAT --to-source 192.168.0.9
iptables -t nat -A PREROUTING -d 192.168.0.12 -j DNAT --to-destination 192.168.0.9
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 123456 -j DNAT --to-destination 192.168.0.9:123456
iptables -t nat -A PREROUTING -i eth0 -p udp -m udp --dport 123456 -j DNAT --to-destination 192.168.0.9:123456
然后我将端口 123456 从 192.168.0.1 转发到 192.168.0.12,但它不起作用。
请问有什么帮助吗?