强制刷新DNS缓存技巧,解决网页打不开、加载慢的问题

为什么需要强制刷新DNS缓存

你有没有遇到过这种情况:某个网站昨天还能正常打开,今天突然提示“无法访问”或者跳转到奇怪的页面?明明别人能上,你却不行。有时候甚至连输入正确的网址,都跳到了广告页。这时候别急着重装系统或换网络,问题可能出在你电脑的DNS缓存上。

DNS就像是互联网的电话簿,把域名(比如 www.example.com)翻译成IP地址。为了加快访问速度,系统会把查过的记录暂时存下来,这就是DNS缓存。但一旦这些缓存过期或出错,就会导致网页打不开、加载异常。

不同系统的强制刷新DNS缓存方法

Windows 系统

Windows用户最常见,操作也最简单。只需要用管理员权限运行命令提示符,然后输入一条命令即可。

ipconfig /flushdns

如果提示“成功刷新DNS解析缓存”,那就搞定了。建议右键点击“开始菜单”选择“终端(管理员)”或“命令提示符(管理员)”,避免权限不足报错。

macOS 系统

macOS不同版本命令略有区别,先判断你的系统版本。如果是 macOS Ventura(13.x)或更新版本:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

如果是较早版本如 Monterey 或更早,可以尝试:

sudo killall -HUP mDNSResponder

输入命令后需要输入开机密码,注意输入时不会显示字符,输完直接回车就行。

Linux 系统

Linux发行版较多,取决于你使用的DNS服务。如果你用的是 systemd-resolved(大多数现代发行版默认):

sudo systemd-resolve --flush-caches

也可以检查状态:

sudo systemd-resolve --status

如果使用的是 dnsmasq 或其他本地DNS服务,重启服务即可:

sudo systemctl restart dnsmasq

浏览器也有自己的DNS缓存

除了系统层面,Chrome、Edge这类基于Chromium的浏览器也会自己缓存DNS。即使系统清了,浏览器可能还在用旧记录。这时候可以直接访问:

chrome://net-internals/#dns

进入后点击“Clear host cache”按钮,就能清除浏览器内部的DNS缓存。Firefox相对简单,在地址栏输入 about:networking#dns,然后点击“清除DNS缓存”即可。

什么时候该手动刷新DNS?

不是每次上网卡顿都要刷一遍。常见的触发场景包括:刚换了路由器DNS设置、公司内网切换后部分网站打不开、抢购活动时发现页面跳转异常、或者修改了本地hosts文件但没生效。这些时候手动刷新一下,往往立竿见影。

顺便提一句,有些家长控制软件或防病毒工具会劫持DNS,如果你发现刷新后很快又出问题,可以检查是否有这类软件在后台运行。