正用电脑追剧,突然某视频网站一直转圈加载,其他网站却秒开。我刷新了好几次,甚至换了个浏览器还是不行。第一个想到的是DNS设置问题,于是赶紧登录路由器后台,一看DNS的确是自动获取的,没毛病。接着又用nslookup命令查了一下,发现解析返回的IP地址竟然是个旧的,看来是路由器缓存了错误的DNS记录。
第一步:清除路由器DNS缓存。不同品牌方法不同,我的路由器是TP-Link,在“系统工具”里找到“诊断工具”,输入“ipconfig/flushdns”并不起作用,需要重启路由器才行。但更直接的是在“网络设置”-“WAN口设置”把DNS改为114.114.114.114和223.5.5.5,保存后再改回自动获取,这样路由器会重新向运营商请求DNS。实测这一步后,视频网站秒开了。如果是OpenWrt或梅林固件,可以用telnet执行“/etc/init.d/dnsmasq restart”清除缓存。
第二步:检查电脑端DNS缓存。虽然路由器清了,但电脑有时也会缓存旧记录。我Win+R输入“cmd”,执行“ipconfig/flushdns”,再次访问网站就正常了。这次排查让我意识到,路由器长时间运行后DNS缓存可能会污染,定期重启或者手动刷新能解决很多莫名其妙的网页打不开问题。后来我干脆在路由器里开启了“DNS自动刷新”功能(部分固件有),再没遇到过类似情况。
问:路由器DNS缓存多久会失效?
答:一般取决于TTL(生存时间),默认通常是3600秒(1小时)到86400秒(1天)。如果局域网内设备频繁请求同一个域名,路由器会一直缓存直到TTL归零。遇到网站IP变动时,旧缓存就会导致打不开,可以手动清除或缩短TTL值(部分路由器支持)。
问:改了路由器DNS后还是打不开怎么办?
答:可能电脑或手机仍有本地缓存,建议分别执行ipconfig/flushdns(Windows)、sudo killall -HUP mDNSResponder(macOS)、或重启设备。如果依旧不行,检查是否开启了IPv6,有时IPv6 DNS配置错误也会干扰。在路由器里关闭IPv6或单独设DNS可解决。
问:所有网站都打不开但QQ能上,是DNS问题吗?
答:是的,所有网站打不开而通讯软件正常,很可能是DNS解析卡死。先看路由器DHCP分配的DNS是否正常,尝试手动改为公共DNS(如114.114.114.114)。也排查光猫是否开启了“路由模式”,导致路由器和光猫DNS冲突;建议把光猫设为桥接,让路由器单独拨号。











