命令行清空 DNS 缓存怎么打?Windows、macOS、Linux 实操步骤
网页突然打不开、命令刚解析好的行清域名还是跳到旧 IP、公司内网系统换了地址但本机一直访问失败——这类问题里,缓存DNS 缓存过期是实操常见原因之一。图形界面里点来点去不一定找得到入口,步骤用命令行反而更快。命令下面按 Windows、行清macOS、缓存Linux 三类系统,实操把「命令行清空 DNS 缓存怎么打」拆成可以直接照抄的步骤命令,并说明每条命令在什么情况下才需要执行。命令
先明确一点:清空 DNS 缓存不是行清万能药。它只清理本机已经记住的缓存域名解析结果,不会修改路由器、实操运营商或权威 DNS 服务器上的步骤记录。如果你的域名刚在服务商后台改过解析,通常还需要等待 TTL 到期,本机刷新只是让你这一台设备尽快重新查询。
Windows:用 ipconfig 刷新 DNS 解析缓存
Windows 上最常用的是 ipconfig 系列命令。按下 Win 键,输入 cmd,在「命令提示符」上右键选择「以管理员身份运行」——这一步很关键,权限不足时刷新命令可能提示失败或没有实际效果。窗口标题显示「管理员」后再输入命令。
ipconfig /displaydns,会列出本机已缓存的域名和对应 IP,可用来确认问题域名是否真的在缓存里。ipconfig /flushdns,成功时会提示「已成功刷新 DNS 解析缓存」。ipconfig /release 和 ipconfig /renew,但这两条会短暂断网,远程办公或视频会议中不要随手执行。ipconfig /displaydns,如果之前的目标域名不再出现,说明本机缓存已被清理。失败分支:如果提示「请求的操作需要提升」,说明没以管理员身份打开;如果命令能执行但网页依旧异常,问题多半不在本机缓存,可继续排查 hosts 文件(路径为系统目录下的 drivers\etc\hosts)、代理软件或路由器 DNS 设置。部分安全软件会锁定 DNS 设置,必要时先退出再试。
macOS:按系统版本选择对应命令
macOS 不同版本的刷新命令差异较大,这是很多人「照着教程打却没反应」的主要原因。先确认系统版本:点击左上角苹果菜单,选择「关于本机」。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,回车后输入开机密码(输入时屏幕不显示字符,属正常现象)。sudo killall -HUP mDNSResponder,更早版本可能使用 sudo discoveryutil mdnsflushcache 等,具体以你当前系统版本的官方说明为准。终端可在「启动台」的「其他」文件夹里找到,或用 Spotlight 搜索 Terminal。执行后如果没有任何输出,通常就代表执行成功,Unix 风格命令「没有消息就是好消息」。若提示 command not found,多半是版本不匹配或命令拼写有误,逐字核对即可。
Linux:取决于发行版和 DNS 服务
Linux 没有统一的刷新命令,要先判断本机由谁负责 DNS 解析。常见有三种情况,可以依次尝试。
sudo systemd-resolve --flush-caches,新版系统可能改为 sudo resolvectl flush-caches。可用 resolvectl statistics 查看缓存统计来验证。sudo systemctl restart nscd 或 sudo service nscd restart。sudo systemctl restart dnsmasq。如果以上服务都没安装,说明系统可能直接读取 /etc/resolv.conf 逐次查询,本身没有本地缓存,也就不需要刷新。这种情况下页面仍旧异常,应检查 resolv.conf 里的 DNS 地址、网络管理工具设置,或直接用 dig、nslookup 查询域名,对比返回结果是否与预期一致。发行版差异较大,涉及具体服务名时以本机文档和系统提示为准。
刷新之后仍然不生效怎么办
先分清「本机缓存」和「上游记录」两件事。用 nslookup 你的域名 分别指定公共 DNS 和本地 DNS 查询,如果结果不一致,说明上游还没同步;如果都返回旧 IP,说明是解析记录本身尚未生效或 TTL 未到期。此时反复刷新本机缓存没有意义。
另外几个容易忽略的点:浏览器自身也有 DNS 缓存,Chrome 可在地址栏进入内部页面清理,或直接重启浏览器;系统代理、VPN、加速器会接管解析,需在其设置里单独刷新;hosts 文件里的手动绑定优先级高于 DNS 查询,改过就要同步检查。企业内网域名通常只在公司 DNS 中可解析,回家后访问失败属正常现象,应连接公司网络或 VPN 后再试。
小结:Windows 记 ipconfig /flushdns,macOS 记 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,Linux 先判断是 systemd-resolved、nscd 还是 dnsmasq 再选命令。执行前确认权限,执行后做一次验证,并区分本机缓存与上游解析记录——按这个顺序排查,绝大多数「改了 DNS 却不生效」的情况都能定位到具体环节。涉及政务、医疗等关键业务系统时,具体解析配置请以所在单位网络管理员的说明为准。