纯净系统
软件下载

Windows10能上网但显示无法连接到internet的解决办法

前言

就在近期,微软的云服务到国内网络又出现了问题,部分用户的任务栏网络图标显示无法上网但实际上网络本身无任何故障。

在解决问题之前,我们不妨了解一下Windows在每次连接网络之后检测internet连接的原理,大体过程就是访问一个网站下面的一个txt文件,这个txt文件是预先固定写好的,访问之后与系统预制好的内容对比,如果对比无误就显示有Internet连接,否则显示无internet。

在这个大体过程就可以看出,这并不是一个很保险的策略,微软的这个验证服务器,是在境外的,受制于大陆的网络状况,并不能保证随时可用,所以当Windows无法访问这个服务器的时候,不管你有没有网也会显示没有Internet(刷过原生安卓的应该很了解这一问题。)

微软的验证服务器的域名,是www.msftconnecttest.com,访问的文件,是在此网站下的connecttest.txt文件。

在近期的测试中,这个域名指向的IP地址有间歇性的TCP阻断。

所以要想解决这个问题,其实也很简单。

解决方法

既然微软的服务不可用了,那么我们能不能自己提供呢?答案当然是肯定的,因为上文描述的过程中涉及到的网站,txt以及txt的返回内容,在注册表里都是可修改的,我们完全可以把他改成我们自己的。

这些键值的位置,在

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

我们需要管的只有这几项:验证用的网站,txt文件和txt文件返回的内容。

这里当然也有两个小方案,我们可以完全自定义,自己搭建一个web服务,然后网站根目录下保存一个txt文件,里面写上需要验证的内容,保存就可以。然后把自己的域名填写到注册表上去,txt名称和返回值也保持跟自己刚才写的一致。

举个例子,我们完全可以改成这样,只要保证自己搭建的网站可访问并且返回值就可以。

如果不想这么麻烦,我们也可以反向代理微软的www.msftconnecttest.com网站(使用境外的服务器,但最好到国内的网络好一点,否则会出现验证延迟甚至和微软一样无法验证的情况。

然后就只需要改掉验证网站就可以了,其他东西由于还是微软的,所以注册表也要保持与默认一致。

确保可以返回值的方法?直接用浏览器访问这个网站下的这个文件,如果浏览器可以正确显示内容,就可以了。

就像这样,就确保可用了,然后重启系统,应该就可以正确显示Internet连接了。

我也搭建了一个公共的验证服务,如果实在不会搭建反代的可以直接用:mstest.puresys.online

未经允许不得转载:Puresys纯净系统-软件下载 » Windows10能上网但显示无法连接到internet的解决办法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

支付宝扫一扫打赏