“超出本地计算机网络适配卡的名称限制”错误消息

“超出本地计算机网络适配卡的名称限制”错误消息

首先我要声明,我已经从许多来源寻找信息或解决方案,但始终无法找到永久的解决方案。

问题:Windows 服务器在尝试访问任何网络资源时,似乎毫无原因地随机开始响应错误消息。无论是网络驱动器、UNC 路径还是符号链接。此外,一旦出现此错误,客户端也无法访问服务器。当我尝试连接时,远程桌面会显示无法找到计算机。PING 将返回分配的 IP,但会显示请求超时。Windows 事件日志中没有此错误的信息。

该服务器是运行 Windows Server 2016 的虚拟机。仅分配了一个虚拟网卡,并且没有分段 VLAN。

从...开始http://support.microsoft.com/kb/319504- 我知道这是针对较旧版本的 Windows 的,但当我在服务器产生错误时执行命令“net use *\server\folder”时,我确实得到了“发生系统错误 68”的信息。然而,修复该问题的所有方法都不起作用。

我很难相信所有临时端口都已被利用。执行命令“netsh int ipv4 show dynamicport tcp”当前显示有 16384 个端口可供使用。

在服务器产生错误时执行“netstat -ano”会显示使用的网络资源非常少(少于 50)。状态为侦听或已建立。没有会话或端口卡在 time_wait 或 close_wait 中。

下一个,https://support.microsoft.com/en-us/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista。这篇文章证实了我所看到的动态端口范围,即它从 49152 开始,而不是 1024 到 5000 之间。它还向我展示了上面使用的 netsh 命令。

大多数 Google 搜索都只是将我引导回 support.microsoft.com/kb/319504,这是我访问的第一篇文章,或者它们针对不相关的产品(例如 BizTalk 或 Exchange)。

VM 负载较轻,连接的客户端不多,目前安装的软件只有 SQL Server 2016。

如果我重新启动虚拟机,错误会消失几天。然后又会再次出现。真正奇怪的是,我有 2 台虚拟机出现这种情况。虚拟机主机运行正常,没有错误。该主机上的所有其他虚拟机都运行正常,没有错误。底层网络也没有报告问题。所有机器都在同一个域中。

我不知道是什么导致了错误。如能得到任何帮助我将不胜感激。

谢谢

答案1

我在 Windows Server 2016 Hypervisor 上遇到了同样的问题。我的 netstat 结果显示,就建立/监听连接而言,与原始帖子大致相同 - 没有什么异常。

事情开始变得有趣了:我已将此虚拟机管理程序设置为防火墙的 Watchguard 日志存储库,并注意到当出现有问题的连接问题时,此日志服务的一个元素也会失败。不确定这个故障是先有鸡还是先有蛋,但日志服务使用 PostgreSQL-8.2 并将其作为设置为“自动”启动的服务运行。发现该服务未运行,当我尝试在此状态下手动启动它时,它会启动然后停止。我注意到即使服务已停止,postgres.exe 进程的几个挂起实例仍在运行。如果我结束这些进程,我可以启动 PostgreSQL-8.2 服务,服务器的网络连接就会突然恢复正常。

不过,我还不确定如何防止这种情况发生,或者 PostgreSQL 服务是否导致了这种情况,或者这只是一系列故障中的一张多米诺骨牌。

在大多数情况下,这可能不是真正需要寻找的东西,但可以为其他人提供寻找已挂断网络连接的服务或进程的线索。

答案2

您的虚拟机的网络配置与此相关。请分享一下吗?

尽管我对 Linux 比 Windows 更熟悉,但如果您使用的是简单的桥接网络,我可以想象这种情况的发生要么是由于一个或多个其他节点(两个虚拟机和一个主机共享一个 IP,它们之间用尽了所有的临时端口)导致的资源耗尽,要么仅仅是因为系统希望使用的临时端口已被另一个虚拟机或主机本身使用,而 Windows 天真地认为它对所有端口拥有独占权,这意味着无法打开bind显然min(in_use_port + 1, max_port)表明端口已耗尽。与此假设不符的一个方面是ping没有响应。Ping 是 ICMP,与临时端口的可用性或缺乏性无关。

相关内容