在我的网络设置中,我有两台计算机
- 装有 Windows 10 的客户端
- 搭载 CentOS v7.9 的 Ookla 服务器,它是托管在 ESXi 虚拟机管理程序中的虚拟机
两者都具有两个相同类型的网络适配器:
- 配置为 Internet 访问和使用 SSH 登录机器的适配器,使用普通的 1Gpbs 以太网链路(我们称之为“管理”NIC)
- 另一个是为了在它们之间建立 10Gbps 连接,我想从中进行速度测试。
请注意,在 10Gbps 链路中,客户端和服务器之间放置了一个服务路由器和一些额外的网络设备,但我非常确信它们配置正确。
管理网卡的 IP 位于不同的子网中(客户端为 10.85.xxx.yyy,服务器为 10.88.zzz.www),而 10Gbps 辅助网卡的 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 辅助 NIC 传输的 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 时,我可以看到未回复的 ARP 请求从 NIC 50.50.50.51 广播。
为了将所有流量从 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 适配器的 IP(服务器为 192.168.10.1,客户端为 192.168.10.2),而无需输入网关(10.85.220.1 仍为默认网关),然后重新启动。但问题仍然存在。
更新 #3我发现中间设备(有助于 L2 层转发和服务路由)中存在一些网络问题。解决这些问题后,我仍然遇到相同的问题。但是现在,当我发出tracert 192.168.10.1
识别服务器 10Gbps 适配器的路径时,我看到一些 LLMNR 帧224.0.0.252
从 Win 10 客户端的 10Gbps NIC 传输到多播 IP(),这些帧查询在 1Gbps NIC()中配置的默认网关的 IP。Ping10.85.220.1
仍然首选 1Gbps NIC。为什么这样做?无论如何,我按照此链接,因为服务器中 10Gbps NIC 的这个 IP 与文件中的 Ookla 服务器 URL 相关联/etc/hosts
,但这也不能解决问题。
答案1
最后,事实证明该问题是由服务路由器的配置细节引起的。