刷新DNS缓存可解决因本地缓存失效、污染或错误导致的网页打不开、DNS错误等问题:Windows需以管理员身份运行cmd执行ipconfig /flushdns;macOS按版本分别执行sudo killall -HUP mDNSResponder(Ventura+)或sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder(Monterey及更早);Chrome/Edge访问chrome://net-internals/#dns点击“Clear host cache”;Linux需先判断systemd-resolved或dnsmasq是否启用,再执行对应刷新命令。

电脑连上WiFi却打不开网页、提示“DNS错误”或浏览器卡在“正在连接”,说明系统本地缓存的域名解析记录已失效、被污染或指向错误IP,必须立即刷新DNS缓存才能恢复访问。
Windows系统:管理员权限下执行刷新命令
这一步操作起来很简单,但权限不对就完全无效——普通用户运行会返回“拒绝访问”,缓存一条都不会清掉。
按下 Win + R 打开运行窗口→输入 cmd→不要按回车,而是按 Ctrl + Shift + Enter→弹出UAC确认框时点“是”→确认窗口标题栏出现“管理员”字样→输入 ipconfig /flushdns→回车。
看到“已成功刷新 DNS 解析器缓存”即完成。若返回“请求的操作需要提升”,说明没用管理员权限,得重来。
macOS系统:按版本选对终端命令
macOS Ventura(13.0)及更新版本只用一个服务管理DNS缓存;Monterey(12.x)及更早版本则需同时触发两个进程。错用命令等于白干。
方法一(Ventura 13.0 及更新):
打开终端→输入 sudo killall -HUP mDNSResponder→回车→输入管理员密码(不显示字符,输完直接回车)。
方法二(Monterey 12.x 及更早):
打开终端→输入 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder→回车→输密码→回车。
注意:密码输入时屏幕无反馈是正常现象,别误以为卡住而反复按回车。
Chrome/Edge浏览器:单独清理内置DNS缓存
浏览器自己也存DNS记录,尤其开启预连接功能后,系统级缓存清了它可能还在用旧IP,必须单独处理。
在Chrome或Edge地址栏输入 chrome://net-internals/#dns→点击右上角“Clear host cache”按钮。
这一步不需要重启浏览器,点击后缓存立刻清空,后续所有新标签页都会重新发起DNS查询。
Linux系统:先查服务再执行对应指令
多数Linux发行版默认不启用系统级DNS缓存,但一旦装了 systemd-resolved、dnsmasq 或 nscd,就得针对性处理。盲目执行命令可能报错或无效。
第一步:打开终端,运行 sudo systemctl is-active systemd-resolved,看返回是否为 active。
第二步:如果返回 active,执行 sudo systemd-resolve --flush-cache;
如果返回 inactive,再运行 sudo systemctl is-active dnsmasq,若为 active 则执行 sudo systemctl restart dnsmasq;
若两者都 inactive,说明没开系统级缓存,跳过此步即可。


















