我有一台运行 Windows Server 2019 的虚拟机,它是一台具有许多网络接口的终端服务器。它实际上是一个中继,正在为许多 vlan 接口配置,从而导致这么多接口 - 但这对我的问题来说并不重要。现在,来到奇怪的部分:
PS C:\Users\XXXX> netstat -n | findstr "192.168.4.80:445"
TCP 10.0.200.90:49531 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49532 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49533 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49534 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49528 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49529 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49530 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:55959 192.168.4.80:445 ESTABLISHED
这里讨论的两个接口都配置了/24
网络掩码 - 并且10.0.200.90/24
接口保存默认网关。路由表非常大,因为有很多接口,但是 192.168.4.0/24 子网没有冲突的路由。以下是相关部分:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.200.250 10.0.200.90 271
10.0.200.0 255.255.255.0 On-link 10.0.200.90 271
10.0.200.90 255.255.255.255 On-link 10.0.200.90 271
10.0.200.255 255.255.255.255 On-link 10.0.200.90 271
192.168.4.0 255.255.255.0 On-link 192.168.4.90 271
192.168.4.90 255.255.255.255 On-link 192.168.4.90 271
192.168.4.255 255.255.255.255 On-link 192.168.4.90 271
===========================================================================
某些连接是如何通过默认网关发送的,而某些连接又采用正确的接口路由的?我在防火墙(默认网关)的数据包过滤器日志中注意到了这一点,因此这不仅仅是显示问题,某些数据包确实是通过默认网关发送的 - 我通过资源监视器检查,这些连接属于 PID 4(系统),很可能是映射的网络驱动器。
就我所知,只有当两条路由具有相同的子网时,才会考虑度量 - 在这种情况下,度量较低的路由将获胜。但无论配置了什么度量,默认网关路由都不应该胜过接口路由 - 对吗?
我的第一个想法是,这一定是 Windows 内部的一个错误 - 可能是启动界面的进程和映射网络驱动器的进程之间存在竞争条件。但这纯粹是猜测,我希望有人能给我更深入的见解...