Iptables 将所有流量转发到除本地局域网之外的不同接口

Iptables 将所有流量转发到除本地局域网之外的不同接口

我有两个 LAN

本地 LAN:172.30.30.0/24,网关为 172.30.30.254

远程 LAN:192.168.2.0/24,网关为 192.168.2.1

两个局域网都可以通信,并且可以 ping 通对方的设备。

我引入了新机器 172.30.30.10,并将所有 172.30.30.0/24 设备网关设置为该 IP。

我需要将所有流量转发到 172.30.30.10 的 eth0 >>> tun0 接口,除了本地局域网间通信。

所以我到目前为止所做的是

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
ip route add -net 192.168.2.0/24 gw 172.30.30.254 dev eth0 metric 101

因此在此之后,我能够从 172.30.30.0/24 网络 ping 到 192.168.2.0/24,反之亦然

但是当 tun0 接口在连接到 vpn 后创建时,只能进行单向 ping,即 172.30.30.0/24 到 192.168.2.0/24,而不是相反。

我还能做什么以便即使连接到 vpn(tun0 接口)后也可以 ping 通其他网络?

相关内容