那天下午我正开着QQ跟人聊得火热,顺手点开浏览器想查个资料,结果页面转啊转,最后蹦出来一句“无法访问此网站”。我以为是网络抽风,关掉重开,还是不行。又试了几个常用网站,全打不开。但QQ这边消息收发一点问题没有,头像亮着,群消息刷得飞快。
这就邪门了。
我第一反应是浏览器坏了,换了Edge、Chrome、360全试了一遍,结果一样。又想起是不是代理设置乱了,去设置里翻了个底朝天,没问题。折腾了快半小时,突然反应过来,不只是网页打不开,我打开Steam想玩会儿游戏,直接卡在登录界面,连服务器列表都刷不出来。但QQ、微信这些聊天工具却跟没事人似的。
这情况其实不少人都遇到过,我后来在网上一查,发现是个挺典型的网络故障。问题出在DNS解析上,也就是你的电脑要把网址翻译成IP地址才能访问,而QQ这类软件用的是直接IP连接,不走域名解析这条路,所以它们活得好好好的。网页和游戏需要先解析域名才能建立连接,一旦DNS这环节卡壳,就全罢工了。
我试着用命令提示符ping了一下百度,结果显示“找不到主机”,但pingQQ的服务器IP却能通,这就证实了猜测。解决办法倒是简单,我打开网络设置,把DNS改成公共的,比如114.114.114.114或者8.8.8.8,然后刷新了一下DNS缓存,输入ipconfig/flushdns,回车,再打开浏览器,网页秒开。

但有时候问题没这么容易解决。我有个朋友去年也碰到过类似的,他的情况更怪,QQ能上,网页打不开,游戏能连上但一直掉线。他找运营商报修,师傅上门查了一圈,最后发现是路由器的DNS被改了。估计是他之前手滑点了什么奇怪的“网络加速”软件,把路由器设置给动了。恢复出厂设置之后,一切正常。
还有一种可能,是hosts文件被污染了。有些软件会在你不知情的时候往hosts文件里写东西,把某些域名的解析强制指向错误地址。检查这个文件很简单,在系统盘找到C:\Windows\System32\drivers\etc\hosts,用记事本打开看看,如果里面有不认识的条目,删掉就行。不过我遇到的这种情况倒没有,纯粹是DNS缓存出了问题。
其实这种故障最坑人的地方在于,它让人误以为整条网络都断了,但QQ还能用就很迷惑。网上有些人会告诉你这是运营商屏蔽了,或者说你电脑中毒了,实际上绝大部分时候跟这些都没关系。先从简单的开始查,看看能不能ping通外网IP,换DNS试一下,多半能解决。
我最后把DNS固定成了114.114.114.114,用了一个多月再没出过问题。现在想想,那天要是早点想到是DNS的问题,也不至于抱着电脑干瞪眼半天。以后要是再遇到QQ活得好好的但网页打不开的情况,心里就有数了。