当对等体重新启动时,无法在具有 2 个 NIC 的 Windows 主机上 ping 本地对等体

网络工程 跟踪路由
2022-02-13 11:26:09

配置

在我们的系统中,Windows PC 有两个 NIC,一个用于 WAN,一个用于 LAN(无网关)。对于 LAN 端,一台 Linux PC 通过两个交换机连接。此外,switch2 通过 Linux PC 开启/关闭。

    10.8.12.13/255.255.255.0(广域网)
        PC1(视窗)
    192.168.0.21/255.255.255.0(局域网)
            |
        开关 1
            |
            | (下面的switch和linux pc是一起开/关的)
            |
        开关 2
            |
    192.168.0.100/255.255.255.0(局域网)
        PC2 (Linux)

问题

PC1在整个系统上电时可以ping通PC2(192.168.0.100),而如果我们只关闭并重新打开PC2(使用开关2),PC1无法ping通PC2。

在这种情况下:

D:\>tracert 192.168.0.100

最多最多30个跳跃点跟踪
到 UIH_RESERVED_CT_GANTRY [192.168.0.100] 的路由:

  1 5 毫秒 11 毫秒 3 毫秒 10.8.12.253
  2 6 毫秒 1 毫秒 1 毫秒 10.6.103.81
  3 * * * 请求调用。
  4 * * * 请求调用。
  5 * * * 祈求。
  6 * ^C

在这种情况下,当我们将 PC1 的网卡重新插入 WAN(10.8.12.13)时,PC1 将能够再次 ping PC2 成功。

不知道为什么在重新插入后路由表没有任何变化 - 两者都有行“92.168.0.0 25之前和5.255.255.0发生在192.168.0.21 266”之前:

==================================================== ==========================
接口列表
 17...0c c4 7a 0d c9 ad ......英特尔(R) 82574L 千兆网络连接 #3
 13...0c c4 7a 0d c9 ac ......Intel(R) 82579LM 千兆网络连接
  1.................................软件环回接口 1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP 适配器
 16...00 00 00 00 00 00 00 e0 Microsoft ISATAP 适配器 #2
 15...00 00 00 00 00 00 00 e0 Teredo 隧道伪接口
==================================================== ==========================
IPv4 路由表
==================================================== ==========================
活动请求:
网络目标 网络掩码 网关 接口 跃点数
          0.0.0.0 0.0.0.0 10.8.12.254 10.8.12.13 10
        10.8.12.0 链接 55.255.0.2.5上 10.8.12.13 266
       10.8.12.13 255.255.255.255 在链路上 10.8.12.13 266
      10.8.12.255 255.255.255.255 在线路上 10.8.12.13 266
        127.0.0.0 25.0.0.0 在链接上 127.0.0.1 306
        127.0.0.1 255.255.55.255 在链路上 127.0.0.1 306
  127.25.25.255 255.55.25525.在3层引线上127.0.0.1 255.55.25525.127.0.0.1
      192.168.0.0255.25.255.0 在链路上 192.168.0.21 266
     192.168.0.21 255.255.255.255 在上层192.168.0.21 266
    192.0.5 258.0.5 255.255.255 在上192.168.0.21上192.0.21 2666
        224.0.0.0 24.0.0.0 在链接上 127.0.0.1 306
        224.0.0.0 24.0.0.0 在链接上 10.8.12.13 266
        224.0.0.0 24.0.0.0 在链接上 192.168.0.21 266
  255.25.25.255 255.55.255525在3层引线上127.0.0.1 255.55.255.06
  255.25.25.255 255.55.25525525在布线上 10.8.12.13 10.8.12.13 2626
  255.25.25.255 255.55.255252525线上 192.168.0.266

此外,在我们的另一个系统中,仅提供了 switch2(没有 switch1)。那里不会发生同样的问题。我知道的唯一区别是,在这个另一个系统中,当 switch2 断电时 LAN 端 NIC 将被停用。

    10.8.12.13/255.255.255.0(广域网)
        PC1(视窗)
    192.168.0.21/255.255.255.0(局域网)
            |
            | (下面的switch和linux pc是一起开/关的)
            |
        开关 2
            |
    192.168.0.100/255.255.255.0(局域网)
        PC2 (Linux)

非常感谢任何建议。

1个回答

看来,当您执行跟踪路由时,路径是从您的 WAN 接口而不是 LAN 端取出的。

每次关闭 PC2 和 SWITCH2 时,您都会清除 PC1 上的学习路由,我认为只有当您移除 WAN 接口时,它才会尝试学习到 PC2 的路径,因为它是唯一可用的接口。一旦它了解了两条路径,它就可以根据 PC1 的路由表选择正确发送 PINS 的位置。

您可能会做的是使用以下命令在 PC1 上设置静态路由

route -p add 192.168.0.0 mask 255.255.255.0 0.0.0.0 IF <InterfaceNumber> metric 2

我们使用 0.0.0.0 作为下一跳,以便我们可以告诉 Windows 使用特定的接口。您可以在路由打印时找到列出的接口编号。

或者,如果您不需要使用其他 PC,您可以将 PC2 指定为下一跳route -p add 192.168.0.0 mask 255.255.255.0 192.168.0.100 metric 2

试一试,看看这对你有什么作用。如果这不起作用,您可以使用以下命令删除静态路由

route delete 192.168.0.0

希望这对您的追求有所帮助。

瞌睡虫