电脑突然打不开某个网站,换个网络又能上,八成是DNS缓存出了问题。就像手机用久了要清内存,系统里存的DNS记录太久也会“发霉”。这时候最直接的办法就是刷新一下DNS缓存,让设备重新获取最新的地址信息。
Windows怎么刷新DNS缓存
打开命令提示符(管理员权限更稳妥),输入下面这行命令:
ipconfig /flushdns
回车后如果看到“已成功刷新 DNS 解析缓存”的提示,就说明搞定了。下次再遇到网页打不开、加载错乱,先试试这招,比重启路由器快多了。
macOS刷新DNS缓存命令
不同版本的macOS命令不一样,别抄错了。
如果你用的是 macOS Monterey 或更新系统(12.0+):
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
如果是更早的版本,可能需要尝试:
sudo killall -HUP mDNSResponder
输完密码回车,缓存就清掉了。Safari里那个半天不更新的页面,刷新一下就能正常打开了。
Linux用户怎么办
大多数Linux发行版默认不自带DNS缓存服务,除非你自己装了 systemd-resolved、dnsmasq 或 nscd 这类工具。
比如用了 systemd-resolved,可以这样清:
sudo systemd-resolve --flush-caches
要是用的是 dnsmasq,重启服务就行:
sudo systemctl restart dnsmasq
不确定有没有开缓存?直接查服务状态更保险。
浏览器也有自己的DNS缓存
别说,Chrome 和 Edge 这些基于 Chromium 的浏览器,自己也存DNS记录。系统刷了不一定管用。
可以在浏览器地址栏输入:
chrome://net-internals/#dns
点一下“Clear host cache”按钮,本地浏览器的DNS缓存也就清了。遇到某些网站明明改了IP却还跳旧页面,这一招特别灵。
手机端要不要刷
安卓和iPhone一般不提供直接刷DNS缓存的入口,但有替代办法。
可以尝试关一下Wi-Fi再打开,或者飞行模式来回切一次,系统会重建网络连接,相当于间接刷新了缓存。有些安卓机在开发者选项里能切换私有DNS,临时改成8.8.8.8也能绕过旧记录。
其实刷新DNS就跟重启路由器一样,是个简单但常被忽略的操作。别一出问题就怀疑网速或网站崩了,先清个缓存试试,说不定省下半小时折腾时间。