今天我的机器无法访问互联网。我仍然可以访问一些本地网络资源。当我查看错误日志时,我看到以下 tcpip 警告:
由于所有端口均正在使用中,因此从全局 UDP 端口空间分配临时端口号的请求失败。
我运行了它netstat -anob
,并且在输出中列出了数千次 DNScache(从端口 50000 开始一直到 65536)。
这是我第二次遇到这种情况。根据找到的说明终止 DNSClient 进程这里确实有效,但我想弄清楚是什么导致了这个问题。
更新:当出现此问题时,我仍然能够使用在问题出现之前使用 DNS 解析主机名的程序上网。例如,我可以继续使用 Pidgin 与朋友聊天。我还可以使用 IP 地址直接连接到网站。
答案1
我找到了!这是 HealthAlertsSvc(Windows Server 健康服务)。看来我的 Windows Home Server 2011 计算机上的健康服务崩溃了,这暴露了客户端 HealthAlertsSvc 中的一个错误,它无法正确释放 UDP 端口。
为了再次确认情况确实如此,我在服务器端和桌面上禁用了该服务。当我在桌面上重新启用该服务时,保持打开状态的 UDP 连接数开始缓慢增长。在我重新启动服务器上的服务后,大量 UDP 连接立即被释放,列表不再增长。