Mac 中刷新 DNS

Mac(macOS) 中刷新 DNS 缓存没有像 Windows 那样统一的 <code>ipconfig /flushdns</code>,而是按系统版本使用不同的 <code>dscacheutil</code> + <code>killall mDNSResponder</code> 组合命令


✅ 一行通用万能命令(推荐直接用这个)

终端(Terminal) 中执行:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

输入你的 系统登录密码(不会显示),回车即可完成刷新。

这个命令适用于:

  • macOS Ventura (13)
  • macOS Sonoma (14)
  • macOS Sequoia (15)
  • Monterey (12)
  • Big Sur (11)
  • Catalina (10.15)
  • Mojave (10.14)

📌 各系统版本对应命令(备用参考)

macOS 版本 刷新 DNS 命令
10.10.4 及以后 <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code>
10.10 – 10.10.3 <code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code>
10.7 – 10.9 <code>sudo killall -HUP mDNSResponder</code>
10.5 – 10.6 <code>sudo dscacheutil -flushcache</code>

✅ 如何判断是否刷新成功?

macOS 刷新 DNS 默认是没有任何成功提示的,这是正常现象 ✅
如果你想确认是否真的生效,可以:

ping your-domain.com

或:

nslookup your-domain.com

✅ 适合你的使用场景(比如你刚刚在折腾这些)

你最近使用的场景包括:

  • ✅ 花生壳 / 动态域名解析
  • ✅ 公网 IP + 远程桌面
  • ✅ 路由器 DDNS 解析切换
  • ✅ 域名刚刚改解析但访问不生效

👉 这时候刷新 DNS 是“必须操作”之一,否则很容易一直命中旧 IP


✅ 进阶:同时刷新 WiFi/网络缓存(更彻底)

如果你遇到的是那种 “DNS 已改,但 Mac 仍然连不上” 的顽固情况,可以:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
sudo ifconfig en0 down
sudo ifconfig en0 up

(<code>en0</code> 是常见的 WiFi 网卡)