摆脱虚假的“无互联网”网络信息

摆脱虚假的“无互联网”网络信息

我有一台可以访问互联网的计算机,但 NCSI 在系统托盘中报告该电脑没有互联网。

OneNote 和其他软件检查此指标并失败,因为它们错误地认为互联网已关闭。我试过禁用被动轮询,但这只会导致指示器停留在无互联网状态。禁用 IPv6 也没有任何效果。

有什么方法可以强制电脑始终认为它可以访问互联网吗?

答案1

如果您的网络连接包括对msftncsi.com和/或msftconnecttest.com域的访问限制,您可能需要设置以下内容:

  • dns.msftncsi.com本地 DNS 服务中的虚假名称,映射到 IP 地址131.107.255.255
  • 对于 Windows 7(至少),www.msftncsi.com本地 DNS 服务中的虚假名称会映射到可提供/ncsi.txtURI 的本地 IPv4 HTTP 服务器(见下文),和/或ipv6.msftncsi.com映射到可提供相同服务的本地 IPv6 HTTP 服务器的虚假名称
  • 当发送 GET 请求时/ncsi.txt,HTTP 服务器应该响应 200 HTTP 结果代码,并且响应的数据应该是一行文本:

    Microsoft NCSI

  • 对于 Windows 10,www.msftconnecttest.com指向可提供 URI 的本地 HTTP 服务器的虚假名称/connecttest.txt。响应应为 200 HTTP 结果代码和一行文本:

    Microsoft Connect Test

如果 Windows 能够成功发出这些 DNS 和 HTTP 请求,它应该会认为它已连接到互联网。如果这些请求被阻止,则会触发“无互联网”消息。如果收到不同的答案,Windows 将假定存在“强制门户”。

Windows 的新更新可能会引入新的测试。

答案2

我确实遇到了这个问题,但不幸的是这是我自己的错。

问题是因为我关闭了NCSI 履行职责。我一开始这样做是有充分理由的。我在现场,一直收到 Edge 窗口,提示我是否已连接。

因此“解决”弹出的 Edge 窗口我在注册表项中禁用了以下内容:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet

并将EnableActiveProbing键设置为0

通过这样做,我解决了我眼前的问题,但后来当我回到我的正常网络时,我注意到我总是看到No Internet Connection通知,即使我确实有一个有效的网络连接,并且我可以从上面的链接运行 NCSI 测试。

然后我记得我已经做了我所做的事情并将密钥恢复EnableActiveProbing1,重新启动了计算机(虽然注销并重新登录也可能有效)并且问题解决了。

值得注意的是,从相同的注册表路径,您可以访问 NCSI 用来检查连接性的站点,因此如果您位于非互联网连接的站点,您可以重新使用通知来显示与本地资源的连接。

答案3

断开 VPN 连接后,类似的问题发生过多次……我将本地 DNS 服务器 127.0.0.1 设置为工作站上 DNS 查找的默认服务器。信不信由你,但添加此行131.107.255.255 dns.msftncsi.com可以C:\Windows\System32\drivers\etc\hosts解决问题。至少对我的情况而言。据我了解,它在某种程度上有助于在切换网络时解析 dns.msftncsi.com。PS 我还禁用了 VPN 和默认网络适配器的 IPv6。

答案4

对于 Windows Server 2022,答案可能简单得多。转到您的域控制器,并确保它们都没有在其网络适配器上使用 127.0.0.1 作为 DNS 服务器设置。

相关内容