Windows Server 2008 - 无法绑定任何 TCP 端口

Windows Server 2008 - 无法绑定任何 TCP 端口

操作系统:Win Server 2008 RC2 Windows防火墙开启(关闭时无效果)

我突然被一个问题困扰,通过搜索我找不到任何类似的问题。

我运行了大约 20 个游戏服务器,这些服务器绑定到 UDP 端口,然后绑定到 UDP 端口上方的 TCP 端口 1。突然,一天前,新的 TCP 绑定停止了工作。

现在,我已经确认其他应用程序无法监听大多数端口。例如,我有一个我复制的 java 程序,并尝试了以下端口:33001、23789、89……完全随机的端口。

对于已经绑定 TCP 的应用程序(例如 HTTP 和 MySQL),我发现只有端口 8080 可以工作,而且仅适用于 Apache。如果应用程序保留其默认端口,则无法绑定,但是当端口为默认端口时,它们会恢复正常。

我已经通过 netstat 和 curports 检查了监听应用程序,还检查了这些端口上的任何连接,它们完全是免费的。

答案1

您的服务器可能用完了临时端口。

您可以在事件查看器(运行 -> eventvwr.msc)。查找以下警告:系统与协议编号:4227, 4231TCP/IP源。如果看到任何内容,则需要重新启动服务器并通过注册表调整 TCP/IP 协议 -Windows Server 2012 R2 耗尽临时端口,尽管它不应该如此

答案2

也许您的程序已列入防火墙的例外列表中,但该列表已被删除。

我也遇到过这样的情况安装了防火墙,你需要配置它们两个都正确。这导致了一些头发被拉扯。

答案3

您是否尝试过启动 Windows 防火墙服务,然后从 Windows 防火墙界面启动/停止它?

单击开始,单击搜索;搜索“具有高级安全性的 Windows 防火墙”

Windows 7 和 2008R2 存在必须启动后台服务的问题,无论您想用防火墙做什么。

答案4

如果您正在使用 Hyper-V 之类的服务,则可能是由于“排除的端口范围“。在这种情况下,一系列端口将不可用。

您可以通过以下方式验证

PS ~> netsh interface ipv4 show excludedportrange protocol=tcp

Protocol tcp Port Exclusion Ranges

Start Port    End Port
----------    --------
      5357        5357
      5985        5985
     47001       47001
     50000       50059     *

如果您的端口在上述范围内,则任何绑定它们的方法都将失败。根据超级用户的回答,你可以尝试通过以下方式释放它

net stop winnat

要保留您自己的端口,您可以使用

netsh int ipv4 add excludedportrange protocol=tcp startport=50323 numberofports=1

相关内容