如何配置linux路由以将数据包从一个接口发送出去,通过网桥发送到同一机箱上的另一个接口

如何配置linux路由以将数据包从一个接口发送出去,通过网桥发送到同一机箱上的另一个接口,linux,networking,routing,Linux,Networking,Routing,我正在测试一个以太网桥接设备。我在linux机箱上有多个以太网端口。我想将数据包从一个接口(例如,IP为192.168.1.1的eth0)发送到同一子网上的另一个接口(例如,IP为192.168.1.2的eth1) 我意识到,通常情况下,您不会在同一子网上配置两个接口,如果您这样做,内核将直接路由到每个接口,而不是通过网络。如何重写此行为,使192.168.1.2的流量从192.168.1.1接口流出,反之亦然 提前谢谢 我认为您需要在Linux中使用类似Mac Vlan的东西。这不能只用NAT

我正在测试一个以太网桥接设备。我在linux机箱上有多个以太网端口。我想将数据包从一个接口(例如,IP为192.168.1.1的eth0)发送到同一子网上的另一个接口(例如,IP为192.168.1.2的eth1)

我意识到,通常情况下,您不会在同一子网上配置两个接口,如果您这样做,内核将直接路由到每个接口,而不是通过网络。如何重写此行为,使192.168.1.2的流量从192.168.1.1接口流出,反之亦然


提前谢谢

我认为您需要在Linux中使用类似Mac Vlan的东西。这不能只用NAT来完成。阅读以下内容:。

这是一个猜测,但我希望它的方向是正确的

创建更具体的路由表条目,如下所示:

route add -host 192.168.1.2 dev eth0
route add -host 192.168.1.1 dev eth1

对于两个接口——或
all
设置。(打开此选项可能会使您的计算机更容易受到IP源欺骗攻击;请确保您在其他地方有良好的入侵防火墙规则以防止出现问题。)(请参阅
sysctl-a | grep accept_local

这个问题不适合这样做。但无论如何我还是要尝试一下:在链中的某个地方使用NAT,您可能能够完成这一点。(不是传统的SNAT顺便说一句)我认为accept_local参数是关键。我会向你汇报运气好吗?如果不是这样,请标记您的问题,并请主持人将其迁移到。(我认为这也是本文的主题,但SF观众可能更了解内核的可调性。)