在 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 网卡)