家里路由器升级了固件,页面提示“修复了DNS解析延迟问题”,结果第二天发现微信打不开、小红书刷不出来——但浏览器输IP地址却能进。别急着重刷固件,先看看是不是老固件留下的DNS缓存还在作祟。
固件版本修复≠自动清缓存
很多厂商在新固件里修的是底层DNS转发逻辑或UDP响应超时机制,比如把原来3秒才回包的bug改成500ms内响应。但旧固件写进内存的DNS记录(比如之前查过的www.baidu.com → 180.101.49.12)并不会自动失效。新固件启动后,它照常把缓存里的旧结果返回给你,而这个IP可能早就变了。
怎么确认是缓存惹的祸?
登录路由器后台(通常是192.168.1.1或192.168.0.1),找到【系统工具】→【诊断工具】,输入域名ping一下:
比如ping www.taobao.com,如果返回的是一个明显过期的IP(比如2018年用的老CDN节点),基本就是缓存没更新。
手动清DNS缓存三步走
不同品牌操作略有差异,但核心路径一致:
【华硕】:进入【网络地图】→【DNS服务器设置】→ 点击【清除DNS缓存】按钮;
【小米/Redmi】:【高级设置】→【网络设置】→【DNS缓存管理】→【立即清除】;
【TP-Link】:【路由设置】→【DHCP服务器】→ 拉到底部点【清空DNS缓存】。
命令行党可直连SSH清(以OpenWrt为例)
/etc/init.d/dnsmasq restart这句命令会重启DNS服务,顺带清掉所有内存中的解析记录。别怕,重启后首次解析会慢半秒,之后就恢复正常了。
有些用户升级固件后改过DNS服务器地址(比如从运营商默认DNS换成114.114.114.114),但忘了在【LAN口设置】里同步更新DHCP分配的DNS地址,结果手机连上WiFi后还是拿到旧DNS,照样解析失败。这种时候,光清缓存没用,得去【LAN设置】里把DNS服务器字段手动填对。
固件版本修复再猛,也架不住缓存和配置“拖后腿”。升级完花30秒进后台点两下,比反复刷机省心多了。