Windows Server 的本地 TCP 端口范围被某些东西默默阻止

Windows Server 的本地 TCP 端口范围被某些东西默默阻止

我正在处理 Windows Server 2022 Standard 设备(内部版本 20348),它显示与以下相关的非常奇怪的行为:本地 TCP 端口

在通常的动态范围(用于传出连接的本地端口)内有一系列端口,大致如下:2000端口范围,无法使用。例如,默认动态端口范围是49152 至 65535。但是,例如61164 至 63139导致程序显示与网络套接字相关的错误消息,通常是某种形式的Windows 套接字错误 10013。此锁定范围是未固定,它似乎在服务器重新启动时会移动数千个字节。这绕过了我最初的解决方法,即减少 Windows 的动态端口范围以避免出现问题的范围。

遗憾的是,经过广泛搜索后我发现的常见观察/解释并不适用:

  • 它是一个物理服务器,未虚拟化,不运行任何虚拟化
  • 默认的 Windows 防火墙(没有运行其他防火墙或网络安全软件)这些港口没有任何规则,而且这无论如何也无法解释端口范围的变化,而且问题仍然存在,即使暂时关闭
  • 最常见的罪魁祸首显然是排除 TCP 端口范围但是配置的排除端口是针对特定程序的狭窄排除,并且不匹配受影响的范围
  • 可用的诊断工具(如资源监视器和 Netstat)显示该范围内没有注册的 TCP 侦听端口,更不用说连接了。这使得查找可能保留端口的任何相关进程似乎变得不可能。
  • 这也发生在明确与本地主机建立的连接上,因此外部网络问题也不能解释

总而言之,有一个端口范围会产生绑定错误,就像被某些东西锁定了一样,但该范围不会显示在任何与网络相关的设置/诊断中,并且显然会在重启时改变位置

我无法进行诸如从头开始重新设置系统之类的“重大”改变,所以我希望这里的任何人都知道如何分析这种行为的罪魁祸首。

相关内容