Linux 如何在没有路由器的情况下强制从 eth0 到 eth1 进行外部 ping

Linux 如何在没有路由器的情况下强制从 eth0 到 eth1 进行外部 ping

我正在尝试使用环回电缆将同一台机器上的 eth0 连接到 eth1。我的 eth0 为 2.2.2.1,eth1 为 2.2.2.2,网络掩码为 255.255.255.0,正确的 Bcast 为 2.2.2.255。我尝试 ping -I eth0 2.2.2.2 和 ping -I eth1 2.2.2.1。我的问题是,即使没有插入环回电缆,ping 仍然成功(就像是内部 ping 一样)。我如何强制执行外部 ping,以确保数据包通过连接的电缆?(我知道我可以将路由器和两个以太网连接到它,但我避免使用除简单的 cat 5 电缆之外的任何东西)。谢谢。

答案1

我不相信你能做到这一点。两个接口都在同一个网络上。因此,内核知道这一点。此外,ARP 信息在主机上。我不相信你能强制这样做,尤其是在第 2 层。

第 3 层通信有所不同,但即使如此,我也不明白如何强制内核的 TCP/IP 堆栈忽略它知道通信所需的一切这一事实。

唯一可行的选择是强制接口打开或关闭,具体取决于电缆状态(插入/拔出)。

答案2

有趣的问题,我认为这个答案就足够了强制本地 IP 流量流向外部接口

您的问题只是一个特例。

相关内容