电脑连上WiFi,信号满格,浏览器打开网页直接报DNS错误,或是提示“DNS服务器未响应”。这类故障很常见,有的重启设备就能解决,也有情况反复折腾很久都没用。前几天我就碰到一次,折腾半个多小时找到根源,整理一套排查顺序,下次遇到可以照着试。
先别动电脑配置,拿手机连同一个WiFi测试。手机同样打不开网页,故障不在电脑,问题出在路由器或者宽带线路。把路由器断电静置三十秒再通电,等指示灯恢复正常再测试。还是不行,拨打运营商客服,确认片区有没有宽带故障。手机上网正常,唯独电脑不行,故障就锁定在这台电脑。

电脑端第一步,刷新DNS缓存。Windows按下Win+R,输入cmd回车,在命令行输入 ipconfig /flushdns,出现成功刷新提示就完成。Mac打开终端,输入 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,回车输入密码。这一步可以处理大量临时解析异常,尤其之前手动修改过DNS,之后没有恢复的场景。
刷新缓存无效,就检查DNS配置有没有错乱。Windows右键任务栏网络图标,打开网络和Internet设置,进入更改适配器选项,右键当前WiFi适配器,打开属性,双击Internet协议版本4。正常设置是自动获得DNS服务器地址。如果这里手动填写了陌生IP,切回自动,保存。原本就是自动的话,可以手动填入公共DNS测试:阿里DNS 223.5.5.5和223.6.6.6,114DNS是114.114.114.114,腾讯DNS 119.29.29.29。填写保存后,再次刷新DNS缓存。
代理软件也经常造成这类问题。如果你运行Clash、V2Ray或是其他VPN工具,退出时有可能没还原系统DNS。把这类软件全部退出,托盘图标也要彻底关闭。Windows设置搜索代理,确认“使用代理服务器”处于关闭状态。浏览器代理配置也要核对,Chrome设置内搜索代理,跳转系统代理页面确认没有勾选。
Winsock协议异常,同样会引发DNS解析故障。cmd输入 netsh winsock reset,回车,提示需要重启电脑。重启之后再测试。这条命令重置网络协议栈,能解决不少莫名其妙的网络异常。
网卡驱动老旧或者存在bug,也会触发DNS报错。打开设备管理器,找到网络适配器,右键无线网卡,选择更新驱动程序,让系统自动检索。系统提示已是最新版本,就去笔记本或者主板厂商官网,下载对应型号最新驱动手动安装。
还有一处容易被忽略:hosts文件。如果你之前为屏蔽网站、本地测试修改过hosts,里面错误的域名映射,会持续指向错误IP。hosts路径 C:WindowsSystem32driversetchosts,用管理员权限记事本打开,删掉注释行以外多余内容,保存。Mac、Linux路径为 /etc/hosts。
前面全部操作无效,尝试系统网络重置。Windows设置搜索网络重置,点击立即重置,电脑自动重启,所有网络适配器恢复出厂。这个操作会清除保存的WiFi密码和VPN配置,操作前心里有数。重置完成重新连接WiFi,大多能恢复解析。
公司、校园内网常会限制外部DNS,手动填写公共DNS反而无法访问内网资源。这种场景把DNS切回自动获取,联系单位IT部门,获取内网专用DNS地址。
最后很多人踩坑点:部分路由器固件存在bug,DHCP下发给电脑的DNS地址本身错误,或是路由器DNS转发功能失效。登录路由器后台,打开DHCP设置,检查配置的DNS服务器是否合理。路由器内DNS填写错误,电脑再怎么调整都没用。把路由器DNS改成223.5.5.5,保存重启,电脑重新获取IP,故障大概率消失。