电脑显示无网络连接却可以上网,这到底是怎么回事?

2021-10-18 17:03:01 26点赞 86收藏 19评论

最近在公司遇到一个奇怪的问题,不少用户电脑的Windows10操作系统右下角显示无网络连接(地球标志),但是基本的Internet访问却是正常的(比如浏览器访问Internet)。如果仅仅是如此,那也无妨。但是一些涉及网络的应用程序却出现了访问受限,或者验证未通过的情况(比如Outlook Exchange Online)。

电脑显示无网络连接却可以上网,这到底是怎么回事?

自己从网络的角度研究了半天都没有头绪,不得已求助了微软Premier Support,最后终于把问题解决了。这里将解决方法分享给各位值友,供大家参考。

原来微软操作系统中判断网络是否连通是通过一个简单的URL实现的。

从Windows 10 1607版本之后,这个URL是http://www.msftconnecttest.com/connecttest.txt

电脑显示无网络连接却可以上网,这到底是怎么回事?

大家可以试一下,网络连通情况下,浏览器访问这个URL返回的结果是文本Microsoft Connect Test

而当时,我们公司电脑返回的却是如下结果,404无法找到主机的错误。

电脑显示无网络连接却可以上网,这到底是怎么回事?

用Network Monitor抓包时,可以看到以下情况。http://www.msftconnecttest.com/connecttest.txt这个链接对应的IP地址是13.107.4.52,用它作为筛选条件,可以注意到网络包频繁出现被重置的情况。

电脑显示无网络连接却可以上网,这到底是怎么回事?

咨询了微软技术支持,才知道已经有不少公司都遇到了类似的问题,而问题的来源出自我国的几大网络运营商(ISP)。ISP们针对一些外国的IP地址做了一些限制,可能是特殊时期的一些特殊举措,真是让人大跌眼镜。

如果你和ISP们打过交道就知道,让它们短期内修改网络限制是不太可能的,只能使用一些变通的方法。首先我们要知道微软是如何让操作系统知道访问那个URL来判断网络是否连通的。

我们知道,操作系统里不少配置都是在注册表中定义的,而这一服务在注册表中的路径为:

HKLMSYSTEMCurrentControlSetServicesNlaSvcParametersInternet

电脑显示无网络连接却可以上网,这到底是怎么回事?

所有的信息都在上图标黄的部分中。

第一个Workaround就是更换微软认证的地址。Windows 10 1607之前的版本确实是通过一个不同的URL来完成认证的,而这个URL目前依然有效,且未被ISP屏蔽。

具体方法为回到注册表同一路径,将对应信息更换为www.msftncsi.com等,具体参见下图标黄位置。

电脑显示无网络连接却可以上网,这到底是怎么回事?

修改完成后,重启电脑,就会发现问题已经解决。

如果要批量修改,可以将其写到脚本中。比如下面就是用PowerShell写的脚本,将下面所有内容拷贝至记事本,并保存为.ps1文件运行即可。也可以通过组策略或者SCCM等方式推送到对应的客户端上。

$registryPath = "HKLM:SYSTEMCurrentControlSetServicesNlaSvcParametersInternet"

$Name1 = "ActiveWebProbeContent"

$Name2 = "ActiveWebProbeContentV6"

$Name3 = "ActiveWebProbeHost"

$Name4 = "ActiveWebProbeHostV6"

$Name5 = "ActiveWebProbePath"

$Name6 = "ActiveWebProbePathV6"

$value1 = "Microsoft NCSI"

$value2 = "Microsoft NCSI"

$value3 = "www.msftncsi.com"

$value4 = "ipv6.msftncsi.com"

$value5 = "ncsi.txt"

$value6 = "ncsi.txt"

New-ItemProperty -Path $registryPath -Name $name1 -Value $value1 `

-PropertyType ExpandString -Force | Out-Null

New-ItemProperty -Path $registryPath -Name $name2 -Value $value2 `

-PropertyType ExpandString -Force | Out-Null

New-ItemProperty -Path $registryPath -Name $name3 -Value $value3 `

-PropertyType ExpandString -Force | Out-Null

New-ItemProperty -Path $registryPath -Name $name4 -Value $value4 `

-PropertyType ExpandString -Force | Out-Null

New-ItemProperty -Path $registryPath -Name $name5 -Value $value5 `

-PropertyType ExpandString -Force | Out-Null

New-ItemProperty -Path $registryPath -Name $name6 -Value $value6 `

-PropertyType ExpandString -Force | Out-Null

还有一种方式是在企业内部环境中搭建NCSI网站,欺骗客户端认为网络是连通状态的。

具体方法如下:

内网一台服务器(需要确保客户端能够连接到该server的80端口)安装IIS角色,在IIS控制台>Sites>Default Web Site,右击属性选择Edit Site Binding,添加server的ip地址和80端口,host name为www.msftconnecttest.com

电脑显示无网络连接却可以上网,这到底是怎么回事?

找到网站的Physical Path, 默认为 %SystemDrive%inetpubwwwroot

电脑显示无网络连接却可以上网,这到底是怎么回事?

用管理员运行notepad,填写 Microsoft Connect Test

保存到wwwroot路径,命名为 connecttest.txt

电脑显示无网络连接却可以上网,这到底是怎么回事?

下面开始配置DNS,在内网DNS server上添加两个primaryzone,

msftconnecttest.com

msftncsi.com

电脑显示无网络连接却可以上网,这到底是怎么回事?

在 msftconnecttest.com这个zone添加A记录 名称为www,指向第一步配置的IIS server的ip (和Site binding里的ip一致)

电脑显示无网络连接却可以上网,这到底是怎么回事?

在 msftncsi.com 这个zone添加A记录 名称为 dns,ip指向131.107.255.255

电脑显示无网络连接却可以上网,这到底是怎么回事?

完成配置,测试NCSI是否能通过internalIIS server完成探测。

这一方法的局限性在于会修改DNS会导致所有局域网内电脑的设置被修改,可能会造成其他网络问题。

这里总结了两个临时的解决方案,不过在写这篇文章的时候,微软已经自行解决了这一问题,产品组修改了中国大陆解析NCSI探测的ip地址。

测试nslookup解析 www.msftconnecttest.com

修改后的结果是会显示akamai的IP,问题彻底解决。

电脑显示无网络连接却可以上网,这到底是怎么回事?

不过其实这个问题也不是第一次出现了,之前Win10的重要更新也给一些个人用户带来了同样问题。大家可以收藏这一方案,以备无患啊。

展开 收起
19评论

  • 精彩
  • 最新
  • 你问我我也不懂啊

    校验提示文案

    提交
    谢谢阵主支持!

    校验提示文案

    提交
    收起所有回复
  • 不错学习了!

    校验提示文案

    提交
    谢谢!大家互相支持,互相提高!

    校验提示文案

    提交
    收起所有回复
  • 刚好能用到

    校验提示文案

    提交
    谢谢支持,我也是工作中遇到了,咨询了微软的技术支持才得以解决,目前国家网络管制的比较严,感觉以后类似情况应该还是会再发生,发在这里分享给大家,也给自己做个备份。

    校验提示文案

    提交
    收起所有回复
  • 纯技术贴,点赞加收藏

    校验提示文案

    提交
    谢谢支持,通过这些事例也是一个学习的过程,我自己也是做IT的,遇到许多问题自己钻研一下,也是一个学习提高的机会。

    校验提示文案

    提交
    收起所有回复
  • 我这个网址显示的是page not found

    校验提示文案

    提交
  • 涨知识了谢谢楼主

    校验提示文案

    提交
  • 看不懂但觉得很厉害

    校验提示文案

    提交
  • 我来学习一下

    校验提示文案

    提交
  • 这个好像遇到过

    校验提示文案

    提交
  • 对啊,这是怎么回事儿

    校验提示文案

    提交
  • 我一般就是重装系统 [大囧]

    校验提示文案

    提交
  • 所以到底是怎么回事啊

    校验提示文案

    提交
  • 额,能上网就行。。。哈哈哈

    校验提示文案

    提交
  • 这····有技术含量啊

    校验提示文案

    提交
  • 技术贴,收藏备用!

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
86
扫一下,分享更方便,购买更轻松