通过多个接口进行 Ping

通过多个接口进行 Ping

我有以下网络设置。

图表

当红叉标记的链路处于开启状态时,我可以从第一台机器 (10.1.1.7) ping 到第二台机器 (10.1.1.3),没有任何问题。但是,如果我断开该链路并尝试从第一台机器 ping 到第二台机器,我会看到第二台机器的第二个接口 (10.1.3.2) 上发出了针对 IP 地址 10.1.1.3 的 arp 查询,但它没有回复这些查询。我认为这是意料之中的,因为该接口不知道其他接口的 IP 地址。

但是如果我仍然想让它们连接,我想我需要在以下之一中设置一些值:/proc/sys/net/ipv4/conf/(default|all)/arp_*

但是哪一个呢?我尝试设置了其中的一些,但没有成功。任何与此相关的帮助都将不胜感激。


** 更新 **

实际上,让我来澄清一下问题。我真正想要做的是从第一台机器向第二台机器开始文件传输。传输应该通过标记为“cross”的链接进行。在传输过程中,我将关闭该链接。传输应该自动切换到其他链接。您可以建议我对 IP 地址等进行任何更改。

我尝试的是:在机器 2 上,我将两个 MAC 接口保留在同一个子网中。即 NIC1:10.1.1.3 NIC2:10.1.1.17

然后我在机器 2 上创建了一个软件桥,给它 IP 地址 0,并在其下添加了 NIC1、NIC2。我的想法是桥将 NIC2 上收到的查询泛洪到 NIC1。

现在我遇到了一个新问题。当我将两个网卡都添加到网桥时,即使链路已打开,它们也会停止响应 ARP 查询。

答案1

我认为这是预料之中的,因为该接口不知道其他接口的 IP 地址。

是的。

但是哪一个呢?我尝试设置了其中的一些,但没有成功。任何与此相关的帮助都将不胜感激。

坦白说,我不明白你的意思,但你可能想问,如果交叉链路失败,如何能够 ping 通该 IP。如果我是对的,那么你必须在路由器上放置两个静态路由,例如:

route add 10.1.1.3/32 _ip_of_second_router (on the left router )
route add 10.1.1.3/32 10.1.3.2 (on the right)

更新:

如果有开关,则此方法无效:

  1. 10.10.0.3 与 10.1.1.7 位于同一子网,因此它将直接与他通信。
  2. 当链路发生故障时,PC 将与 10.1.1.7 接口 mac 进行通信
  3. 直至到期
  4. PC 会询问谁有 10.1.1.7
  5. 即使第二台 PC 回答说它在 10.1.3.2 接口上
  6. 第一台 PC 将开始与 10.1.3.2 接口的 mac 进行通信
  7. 但是当链接再次恢复时,第一台 PC 将继续与 10.1.3.2 接口的 mac 通信,并且不会选择 10.1.1.7 接口的 mac,直到第二条链接断开。

相关内容