接口间报文转发
Packet forwarding between interfaces
我有一个路由器,有 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
但是 return 流量似乎下降了。
N.B - 编辑命令(添加 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 规则并试试这个。
我有一个路由器,有 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
但是 return 流量似乎下降了。
N.B - 编辑命令(添加 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 规则并试试这个。