Linux 将数据包转发到远程目的地(而非本地)

Linux 将数据包转发到远程目的地(而非本地)

网络案例:

Source--Routers ...   eth0=LINUX=eth1      ---- some routers.. -- Destination
2.2.2.2            10.0.0.1      192.168.0.1                      1.1.1.1

和 1.1.1.0/24 通过 192.168.0.100 dev eth1

到达 eth0 接口的数据包其源为:2.2.2.2 且目标为:1.1.1.1,需要转发到 eth1 接口。

经过一些测试,我发现使用“net.ipv4.ip_forward=1”时,LINUX 只能转发到本地可到达的目的地(可以通过相同的广播域到达,例如:192.168.0.2),但不能转发到远程目的地。

NAT 的情况并非如此,数据包的目的地址不是本地接口上的 IP。

这是常规路由器行为的情况,进行路由(而不仅仅是转发)。

我认为可以通过 iptables 规则以某种方式来实现。

任何建议都会有帮助。谢谢

相关内容