家里网络突然打不开网页,微信能发消息,QQ 也正常,重启路由器没用,换成手机热点立刻就好。这种「能通但打不开」的情况,八成是 DNS 出了问题。首选 DNS 就是每次解析域名时第一个去问的服务器,它慢或者被污染,网页就卡在解析这一步。
先确认是不是 DNS 的锅
nslookup www.example.com默认走系统配置的 DNS,返回超时或者给出明显不对的地址,说明解析有问题。再指定公共 DNS 试一次:nslookup www.example.com 223.5.5.5,能正常返回就是本地 DNS 的事。ping 一个 IP 通、ping 域名不通,结论一样。
几个常用地址
- 114.114.114.114:国内老牌公共 DNS,节点多,延迟低。
- 223.5.5.5 和 223.6.6.6:阿里公共 DNS,国内解析速度不错。
- 119.29.29.29:腾讯 DNSPod,游戏和视频场景优化较多。
- 8.8.8.8:谷歌,出国访问稳,国内直连延迟高且容易被干扰。
- 1.1.1.1:Cloudflare,主打隐私,国内使用体验一般。
在 Windows 上怎么改
网络适配器里右键当前连接,属性,双击 Internet 协议版本 4,选使用下面的 DNS 服务器地址,首选取一个,备用填另一个厂商的,别两个都填同一家。命令行等价写法:
netsh interface ip set dns name=以太网 static 223.5.5.5 primary接口名要用 netsh interface show interface 里显示的那个,中文系统常是「以太网」或「WLAN」。在路由器后台改更省事,全家设备一起生效,手机电视都不用单独设。
为什么不建议首选填 8.8.8.8
国内访问 8.8.8.8 的往返延迟经常上百毫秒,还时不时丢包,解析慢一秒,页面打开就慢一秒。更麻烦的是 CDN 调度:用国外 DNS 解析国内站点,可能被指到远处的节点,下载速度反而下降。首选填国内公共 DNS,需要访问境外站点时再单独处理。
IPv6 和缓存这两件事
开了 IPv6 的网络要同时配 IPv6 的 DNS,只改 IPv4 有时不起作用。改完记得清缓存:ipconfig /flushdns,浏览器自己的 DNS 缓存也要清。路由器上如果开了 DNS 劫持或者广告过滤,优先排查它,很多「改了首选 DNS 没用」都是被路由器接管了。
取舍:普通家用首选国内公共 DNS 加一个不同厂商的备用;对隐私敏感或者要访问特定境外服务,再考虑加密 DNS,别指望一个地址解决所有问题。