Win10 无网络问题

Windows10 能上网但显示未连接网络,任务栏显示小地球图标。

之前用的是 Windows10 LTSC 2019, 最近升级了 Windows10 LTSC 2021. 就出现了右下角显示未连接网络的问题,但实际上网络是正常的。

原因、原理

问题都出在一个叫 ncsi 的东西上,这是微软用来检测网络状况的一个工具。从注册表中可以看到检测方式两种,一种是检测 DNS 连通状况,另一种是检测网页连通状况。

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

例如:

  • 检测 DnsProbeHost 的 DNS 返回值是否等于 DnsProbeContent

  • 检测 http://${WebProbeHost}/${WebProbePath} 的 Response 返回值是否等于 WebProbeContent

解决办法

关闭检测功能(不推荐,不实用)

通过配置 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet 下的 EnableActiveProbing 关闭这个检测功能。

据网友反馈,这样操作,一些应用依然会认为计算机没有联网而无法使用。

使用之前的检测地址

微软在某次更新中,使用了新的检测地址。而有一段时间这个检测地址被国内网络屏蔽了,导致 Windows 错误地提示未连接到互联网。不过现在应该已经解除屏蔽了。

上方图片即为之前的检测配置,对照修改就可。

下面为导出的 .reg 注册表项,可复制粘贴保存为 .reg 文件打开导入。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"ActiveDnsProbeContent"="131.107.255.255"
"ActiveDnsProbeContentV6"="fd3e:4f5a:5b81::1"
"ActiveDnsProbeHost"="dns.msftncsi.com"
"ActiveDnsProbeHostV6"="dns.msftncsi.com"
"ActiveWebProbeContent"="Microsoft NCSI"
"ActiveWebProbeContentV6"="Microsoft NCSI"
"ActiveWebProbeHost"="www.msftncsi.com"
"ActiveWebProbeHostV6"="ipv6.msftncsi.com"
"ActiveWebProbePath"="ncsi.txt"
"ActiveWebProbePathV6"="ncsi.txt"
"CaptivePortalTimer"=dword:00000000
"CaptivePortalTimerBackOffIncrementsInSeconds"=dword:00000005
"CaptivePortalTimerMaxInSeconds"=dword:0000001e
"EnableActiveProbing"=dword:00000001
"PassivePollPeriod"=dword:0000000f
"StaleThreshold"=dword:0000001e
"WebTimeout"=dword:00000023

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\ManualProxies]

诊断网络

一直以为 window 的诊断功能是没有作用的。但据一些网友反馈,前面两种方法都没有作用,使用诊断网络修复后却正常了。

修改 Host 文件

这是我遇到的情况,以上几种方法都尝试无果。

一番折腾后发现使用 AdGuardHome 的 dns 服务时,会提示未联网。但是使用自动 Dns 时,则不会提示。因此猜测是与AdGuardHome冲突了。

C:\Windows\System32\drivers\etc\hosts 中添加

131.107.255.255    dns.msftncsi.com
fd3e:4f5a:5b81::1    dns.msftncsi.com

自此问题解决

替换检测地址

根据检测的原理,可以选择合适的域名和网站替换掉微软的检测地址。

参数含义默认值
DnsProbeHostdns 检测地址dns.msftncsi.com
DnsProbeContentdns 解析结果131.107.255.255, fd3e:4f5a:5b81::1
WebProbeHostweb 检测域名www.msftncsi.com
WebProbePathweb 检测路径ncsi.txt
完整的检测地址http://www.msftncsi.com/ncsi.txt
WebProbeContent检测地址返回的内容Microsoft NCSI

例如 dns.alidns.com 的 DNS 解析结果为 2400:3200::1, 2400:3200:baba::1, 223.5.5.5, 223.6.6.6

自行折腾去吧。

end

这个东西猜测和安卓系统上面的网络叹号是一回事。不过谷歌的那个检测地址是被墙了。

Built with Hugo
Theme Stack designed by Jimmy