![摆脱虚假的“无互联网”网络信息](https://linux22.com/image/1581347/%E6%91%86%E8%84%B1%E8%99%9A%E5%81%87%E7%9A%84%E2%80%9C%E6%97%A0%E4%BA%92%E8%81%94%E7%BD%91%E2%80%9D%E7%BD%91%E7%BB%9C%E4%BF%A1%E6%81%AF.png)
我有一台可以访问互联网的计算机,但 NCSI 在系统托盘中报告该电脑没有互联网。
OneNote 和其他软件检查此指标并失败,因为它们错误地认为互联网已关闭。我试过禁用被动轮询,但这只会导致指示器停留在无互联网状态。禁用 IPv6 也没有任何效果。
有什么方法可以强制电脑始终认为它可以访问互联网吗?
答案1
如果您的网络连接包括对msftncsi.com
和/或msftconnecttest.com
域的访问限制,您可能需要设置以下内容:
dns.msftncsi.com
本地 DNS 服务中的虚假名称,映射到 IP 地址131.107.255.255
。- 对于 Windows 7(至少),
www.msftncsi.com
本地 DNS 服务中的虚假名称会映射到可提供/ncsi.txt
URI 的本地 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 测试。
然后我记得我已经做了我所做的事情并将密钥恢复EnableActiveProbing
为1
,重新启动了计算机(虽然注销并重新登录也可能有效)并且问题解决了。
值得注意的是,从相同的注册表路径,您可以访问 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 服务器设置。