阿杰,我给你整理一份 清除终端 DNS 本地缓存的方法,覆盖 Windows、Mac 和 Linux 系统,并说明注意事项。


一、为什么需要清除 DNS 缓存

  • 当访问网站时,操作系统会缓存域名解析结果(IP 地址)
  • 清除 DNS 缓存的作用
    1. 解决域名解析错误
    2. 更新解析后的新 IP
    3. 排查网络连接问题

二、Windows 系统

1. 清除 DNS 缓存命令

ipconfig /flushdns

2. 操作步骤

  1. 打开 命令提示符(管理员模式)
  2. 输入命令:ipconfig /flushdns
  3. 出现提示: Successfully flushed the DNS Resolver Cache.

三、Mac 系统

不同 macOS 版本命令略有不同:

系统版本命令
macOS 10.15+(Catalina/Big Sur/Monterey)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.10–10.14sudo killall -HUP mDNSResponder
macOS 10.9sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.6–10.8sudo dscacheutil -flushcache

示例

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

输入密码后,DNS 缓存被清除,无提示正常完成。


四、Linux 系统

Linux 下不同发行版和 DNS 服务略有区别:

1. 使用 systemd-resolved(Ubuntu 18.04+)

sudo systemctl restart systemd-resolved

2. 使用 resolvectl(新系统)

sudo resolvectl flush-caches

3. 使用 nscd(CentOS / Ubuntu)

sudo systemctl restart nscd
# 或
sudo /etc/init.d/nscd restart

4. 使用 dnsmasq

sudo systemctl restart dnsmasq

5. 验证缓存是否清除

dig www.example.com

  • 第一次查询可能较慢,说明缓存已被刷新

五、浏览器 DNS 缓存

  • 浏览器也会缓存 DNS,常见操作:
    • Chrome:访问 chrome://net-internals/#dns → 点击 Clear host cache
    • Firefox:关闭浏览器再打开即可刷新 DNS

六、总结

  1. Windowsipconfig /flushdns
  2. Macsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  3. Linux:取决于 DNS 服务(systemd-resolved、nscd、dnsmasq)
  4. 浏览器缓存:单独刷新浏览器 DNS