macOS 10.15(Catalina)中清除 DNS 缓存

方法一:通过终端清除 DNS 缓存

  1. 打开 终端(通过聚焦搜索或在“应用程序 -> 实用工具”中找到)。
  2. 系统可能会提示你输入管理员密码,输入密码后继续操作(输入密码时不会显示字符)。

输入以下命令,然后按下回车键:

sudo killall -HUP mDNSResponder

方法二:清除特定 DNS 服务缓存

如果想单独清除某些服务的缓存,也可以尝试以下命令:

清除断开连接的网络服务缓存

sudo dscacheutil -flushcache

清除 UDNSResolver 的缓存(涉及通用 DNS 请求):

sudo killall -HUP mDNSResponderHelper

清除 MDNSResponder 的缓存(主要处理 Bonjour 协议):

sudo killall -HUP mDNSResponder

方法三:重启网络服务

执行下面的命令,重新加载网络服务:

networksetup -setv6automatic Wi-Fi
networksetup -setv4dhcp Wi-Fi

或者简单重启 Wi-Fi:

networksetup -setairportpower Wi-Fi off
networksetup -setairportpower Wi-Fi on

完成操作后,建议通过以下命令确认缓存已清除:

scutil --dns

这会显示当前 DNS 配置,你可以检查是否生效。

小提示

  1. 用途:清除 DNS 缓存可以解决 DNS 解析错误(如某些网站无法访问或解析到旧 IP 地址)。
  2. 高效方法:通常 sudo killall -HUP mDNSResponder 就足够完成任务,无需重启系统或 Wi-Fi。

如果问题仍然存在,可以尝试重启 Mac 作为最终方法。