在我的网络设置中,我有两台计算机
- 使用 Windows 10 的客户端
- 带有 CentOS v7.9 的 Ookla 服务器,它是托管在 ESXi 虚拟机管理程序中的虚拟机
两者都有两个相同类型的网络适配器:
- 一个适配器,配置用于 Internet 访问和使用 SSH 登录机器,使用普通的 1Gpbs 以太网链路(我们称它们为“管理”网卡)
- 另一个促进它们之间的 10Gbps 连接,我想从中进行速度测试。
请注意,服务路由器和一些额外的网络设备放置在 10Gbps 链路中的客户端和服务器之间,但我非常确信它们配置正确。
管理 NIC 具有不同子网中的 IP(客户端中的 10.85.xxx.yyy 和服务器中的 10.88.zzz.www),而促进 10Gbps 的 NIC 具有相同子网中的 IP(服务器中的 50.50.50.50/24 和50.50.50.51/24 在客户端)。没有为子网 50.50.50.0/24 配置网关,因为没有为该子网提供网关功能的设备。不过,我的管理网卡已经配置了网关,所以我没有违反“单一网关”的原则。
虽然当 IP 50.50.50.51/24 设置为促进其 10Gbps 的 NIC 时自动配置 Windows 10 PC 中的路由表,但我什至无法 ping IP 50.50.50.50 并看到从其 10Gbps 传输的 ICMP ping 数据包- 促进 NIC,更不用说在这个链接上进行速度测试了。相反,数据包是从其“管理”网卡(下面的路由表中的接口“10.85.220.116”)传输的。出于这个原因,我还添加了静态路由:(route add 50.50.50.50 mask 255.255.255.255 0.0.0.0 metric 2 IF 13
其中 IF 13 是下面的接口“50.50.50.51”),但 ping 数据包继续从 1Gbps 适配器传输,正如我在 Wireshark 捕获中看到的那样。问题没有通过重新启动客户端得到解决。此外,反向 ping(服务器 --> 客户端)也不成功。
至此,我在Windows 10 PC中的路由表如下:
另外,当我第一次 ping 主机 50.50.50.50 时,我可以看到从 NIC 50.50.50.51 广播未回复的 ARP 请求。
为了将所有流量从 IP 地址为 50.50.50.51 的接口路由到子网 50.50.50.0/24,我还能尝试什么?
万一这很重要,我的 Win 10 版本是:10.0.17134.1488
.
更新:在删除到 50.50.50.50 的静态路由后,我还尝试将路由的度量减少到 50.50.50.0/24 ( route change 50.50.50.0 mask 255.255.255.0 0.0.0.0 metric 2 IF 13
),但这也没有解决我的问题。现在,我的路由表如下:
我仍然有同样的问题。
更新#2根据 djdomi 在聊天中的建议,我意识到 IP 选择可能是一个问题。因此,我从子网 192.168.10.0/24 中为 10Gbps 适配器(服务器为 192.168.10.1,客户端为 192.168.10.2)选择了 IP,而没有进入网关(10.85.220.1 仍然是默认网关)并重新启动。但是,问题仍然存在。
更新#3我在中间设备中发现了一些网络问题(这有助于 L2 层的转发和服务路由)。解决它们后,我仍然遇到同样的问题。但是现在,当我发出tracert 192.168.10.1
识别服务器 10Gbps 适配器的路径时,我看到一些 LLMNR 帧224.0.0.252
从 Win 10 客户端的 10Gbps NIC 传输到多播 IP ( ),这些帧查询配置的默认网关的 IP 1Gbps 网卡 ( 10.85.220.1
)。Ping 仍然更喜欢 1Gbps 网卡。为什么这样做?无论如何,我按照此链接中的说明禁用了 LLMNR 协议,因为服务器中 10Gbps NIC 的这个 IP 与文件中的 Ookla 服务器 URL 相关联/etc/hosts
,但这也没有解决问题。
最后,该问题被证明是由服务路由器中的配置细节引起的。