我有一个路由器,有 2 个接口 eth0 与 IP 10.2.40.4 和 eth2 与 IP 10.2.20.3 我希望来自 10.2.40.0/24 网络的流量从下一跳 IP 为 10.2.20.1 的 10.2.20.3 接口流出
但无法通过。在 eth0 上运行 tcpdump,我可以看到从 10.2.40.3(机器 IP)到 8.8.8.8 的流量,在 eth2 上我可以看到流量转换为 10.2.40.4 到 8.8.8.8
但是返回的流量似乎正在下降。
我有一个路由器,有 2 个接口 eth0 与 IP 10.2.40.4 和 eth2 与 IP 10.2.20.3 我希望来自 10.2.40.0/24 网络的流量从下一跳 IP 为 10.2.20.1 的 10.2.20.3 接口流出
但无法通过。在 eth0 上运行 tcpdump,我可以看到从 10.2.40.3(机器 IP)到 8.8.8.8 的流量,在 eth2 上我可以看到流量转换为 10.2.40.4 到 8.8.8.8
但是返回的流量似乎正在下降。
注意 - 编辑命令(添加 eth2 作为传出接口)
我从所描述的设置中了解到,您路由器的 wan 端是 eth2,其地址为 10.2.20.3。因此,我希望传出数据包(在 eth2 上)具有源 IP 10.2.20.3 而不是 10.2.40.4。我认为这表明你的 nat 规则被颠倒了。
事实上,您需要的唯一 iptables 规则似乎是: iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
我建议您删除所有其他 DNAT/SNAT/MASQUERADE 规则并尝试这个。