Windows Server 2019终端服务器异常路由行为求助
Windows Server 2019终端服务器异常路由行为求助
我手头有一台运行Windows Server 2019的虚拟机,它是一台终端服务器,配置了一大堆网络接口——其实是通过Trunk模式划分了多个VLAN接口,不过这部分应该和我现在遇到的问题没关系。
最近碰到个特别奇怪的现象,当我在PowerShell里执行netstat -n | findstr "192.168.4.80:445"命令后,得到了如下结果:
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
这里要说明的是,10.0.200.90和192.168.4.90这两个接口都是配置了/24子网掩码的。按正常的路由逻辑,访问同子网的192.168.4.80应该只会走192.168.4.90这个接口才对,但现在10.0.200.90这个完全不同子网的接口,居然也在和目标建立ESTABLISHED状态的445端口连接,这完全不符合预期。
初步排查建议(供参考)
- 先查系统路由表:执行
route print命令,重点盯紧192.168.4.0/24网段的路由条目,看看是不是存在错误的路由指向了10.0.200.0/24的接口 - 核对接口跃点数:Windows会根据接口跃点数选择优先路由,说不定
10.0.200.90接口的跃点数比192.168.4.90更低?可以在「网络连接属性→Internet 协议版本4(TCP/IPv4)→属性→高级」里查看和调整跃点数 - 检查静态路由:有没有人手动添加过奇怪的静态路由?
route print输出里的静态路由部分可以重点排查 - 跟踪实际路由:用
tracert 192.168.4.80命令走一遍路由,看看实际数据包是从哪个接口出去的,和netstat的结果做对比 - 排查应用绑定:如果这些连接是某个特定应用发起的,看看该应用是不是绑定了服务器上所有可用接口,而不是只绑定到
192.168.4.90
备注:内容来源于stack exchange,提问作者Martin




