云梯VPN 免费版 CloudPN - 云梯回国VPN 免费版 BackChina

Mac DNS缓存怎么清理?终端命令、验证与无效排查

更新于 2026-11-02 · yunti.online

简答:Mac清理DNS缓存,先打开“终端”,执行 <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code>,输入登录密码后按回车;密码不显示字符是正常现象。命令通常没有成功提示,执行后请重启浏览器再测试。若仍打不开,不要反复清缓存,应继续检查浏览器DNS缓存、hosts文件、代理或VPN、当前DNS服务器以及路由器缓存。

定义:DNS缓存是系统或应用暂时保存的域名解析结果,清理它会让Mac重新发起解析,但不会修复上游DNS、hosts、代理或网站服务器本身的问题。

先试这一步:当前macOS清理DNS缓存

如果你刚切换Wi-Fi、修改DNS、切换网络代理,或者某个域名刚更换解析地址,可以先按下面的最短流程操作。Apple的Terminal用户指南说明,终端用于执行命令和工具;Apple公开的mDNSResponder资料则说明,它承担macOS上的系统DNS解析相关工作。查看Apple终端打开说明,以及查看Apple开源mDNSResponder说明。

  1. 打开“启动台”,搜索并打开“终端”;也可以在Finder的“应用程序”>“实用工具”中打开。
  2. 复制下面一行命令,粘贴到终端后按回车:
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  3. 看到密码提示后,输入Mac当前登录账户的密码并按回车。输入时不会显示圆点、星号或其他字符,这是终端的正常行为。
  4. 命令执行后通常不会显示“成功”文字。关闭并重新打开浏览器,再访问原来打不开的域名。

这一步只刷新本机解析相关状态,不会改变你在系统设置中填写的DNS服务器,也不会清除路由器或远端DNS服务商的缓存。

执行前后怎么判断:结果、复测与回滚

观察到的现象通常代表什么下一步
输入密码后没有报错,终端回到命令提示符命令已完成,终端不一定显示成功提示重启浏览器或相关App后复测
提示“Sorry, try again”或密码错误管理员密码输入不正确重新输入Mac登录密码;不要输入Apple账户密码,除非两者本来相同
提示找不到命令命令输入有误,或当前环境与预期不同重新复制整行,不要手动改动空格和连字符
清理后仍解析到旧地址问题可能在hosts、浏览器、代理、DNS服务器或上游缓存按下方分层排查,不要继续重复刷新

清理DNS缓存通常不需要修改系统文件,因此没有专门的“撤销命令”。如果你没有改动DNS服务器、代理或hosts,直接重启浏览器并恢复原网络连接即可。若之前手动改过系统DNS,可在“系统设置”>“网络”>选择当前网络服务>“详细信息”>“DNS”中查看或移除自定义DNS服务器;Apple对此菜单路径有说明。查看Apple更改Mac DNS设置说明。

如何验证解析是否刷新:用dig和scutil查看线索

清缓存本身不会告诉你“新地址是什么”,验证时要把“Mac使用的解析配置”和“某个域名当前返回的结果”分开看。下面的命令只读取信息,不会修改网络配置。

  1. 查看Mac当前识别到的DNS配置:
    scutil --dns
    重点观察当前网络服务对应的resolver、DNS服务器地址和搜索域。Apple的部署文档也使用scutil --dns查看DNS搜索域。
  2. 查询指定域名的简短结果:
    dig +short example.com
    把example.com替换为实际域名。返回IPv4地址不等于网站一定能打开,它只说明这次查询得到了地址。
  3. 需要更直观的查询时:
    nslookup example.com
    记录查询使用的服务器、返回地址和错误信息,方便与另一台设备或另一条网络对比。Apple文档同时列出了dig和nslookup作为DNS记录查询工具。查看Apple DNS记录验证说明。

建议记录“测试时间、网络名称、域名、dig结果、scutil显示的DNS服务器、浏览器是否能打开”。如果不同DNS服务器返回不同地址,不能仅凭一次结果断定哪一个一定错误,还要结合域名运营方的公开配置或网络管理员信息核对。

清理DNS缓存仍无效:按五层分流排查

1. 先排除浏览器自己的缓存

完全退出浏览器后重新打开,再测试同一域名。若只有一个浏览器打不开,其他浏览器正常,优先检查该浏览器的安全DNS、扩展、代理设置或站点缓存;不要把浏览器问题直接归因于macOS系统DNS缓存。

2. 检查hosts是否固定了旧地址

终端执行grep -v '^[[:space:]]*#' /etc/hosts,查看是否存在目标域名的手动映射。若发现不认识的条目,先复制保存原文件,再咨询设备管理员;不要直接删除整份hosts文件。hosts命中时,外部DNS查询结果可能与浏览器实际使用的地址不同。

3. 暂时确认代理、VPN或网络扩展影响

如果问题只在某个代理、VPN或网络过滤工具开启时出现,先记录当前设置,再暂时关闭相关连接进行对比。系统代理可以在“系统设置”>“网络”>当前网络服务>“详细信息”中检查。某些网络工具会接管DNS请求,因此即使刷新了系统缓存,解析仍可能由工具或其上游服务器决定。

4. 查看当前DNS服务器是否可用

在“系统设置”>“网络”>当前网络服务>“详细信息”>“DNS”中检查服务器列表。Apple说明该位置可以添加或移除DNS服务器。若DNS列表来自公司配置、路由器或管理描述文件,不要在没有授权的情况下修改;先记录原值,必要时恢复原设置。

5. 区分本机问题和路由器、上游问题

让同一网络中的另一台设备查询同一域名,或让Mac连接另一条网络后复测。如果换网络后恢复,问题线索更偏向原网络的路由器缓存、DNS转发或网络策略;如果所有网络都返回异常,可能是域名解析尚未更新、域名配置异常或目标站点自身问题。DNS缓存刷新不能替代这些层面的修复。

新版macOS与旧版OS X命令怎么处理

网上常见多组DNS刷新命令,原因是不同历史版本的解析服务实现和命令习惯并不完全相同。对于当前仍受支持或较新的macOS,优先使用本文开头的一行命令,并以实际执行结果和复测结果为准。Apple当前系统资料列出了macOS 27、macOS 26、macOS 15、macOS 14、macOS 13等系统资料入口,但没有在用户支持页承诺一条适用于所有版本的统一刷新命令。查看Apple系统信息与macOS版本说明。

查看版本的方法是打开“苹果菜单”>“系统设置”>“通用”>“关于本机”。如果使用的是较早的OS X版本,网上流传的旧命令可能只适用于特定年代的系统;不要因为旧命令在教程中出现,就直接推断它适用于当前版本。版本、命令和结果不确定时,先记录系统版本,使用man dscacheutil、man killall查看本机帮助,再进行最小化操作。

资料核验边界与安全提醒

本文的命令用于刷新本机DNS解析相关状态,不会提升宽带带宽,也不能保证某个网站、代理、VPN或跨境网络连接恢复。Apple资料确认Terminal可执行命令,mDNSResponder负责macOS系统解析相关能力,Apple文档也确认可以用scutil --dns、dig和nslookup观察DNS配置与查询结果;但Apple用户支持页未提供一份覆盖所有macOS版本的DNS清缓存命令表,因此旧系统兼容性需结合本机版本和实际结果核实。

本文为第三方使用指南,目标是帮助你完成Mac上的DNS缓存刷新和网络问题定位,不代表任何相关服务的官方网站。资料核验日期:2026年11月2日。

遇到跨网络连接问题,下一步看什么

如果DNS刷新后仍然出现域名解析失败、代理连接超时或切换网络后无法访问,建议继续记录“本地网络、DNS服务器、代理开关、解析结果、错误提示”五项信息,再进入单独的连接问题排查流程。不要用反复清缓存代替对节点、协议、路由或系统代理的分层判断。

常见问题

Mac清理DNS缓存时密码不显示,正常吗?

正常。sudo命令要求输入当前Mac登录账户的密码,终端通常不会显示字符、圆点或星号。输入完成后按回车即可;如果提示重试,请确认输入的是Mac登录密码。

Mac清理DNS缓存后没有任何提示,是不是失败了?

不一定。相关命令成功时通常可能直接回到命令提示符,不显示“清理成功”。重启浏览器后,用dig或nslookup查询目标域名,再结合实际访问结果判断。

清理DNS缓存会不会删除我设置的DNS服务器?

不会。清理缓存与修改DNS服务器是两件事。DNS服务器列表仍可在“系统设置”>“网络”>当前网络服务>“详细信息”>“DNS”中查看,除非你另行修改。

为什么清理DNS缓存后网站还是打不开?

因为故障可能不在本机缓存层,还可能来自浏览器DNS缓存、/etc/hosts、代理或VPN、系统DNS服务器、路由器缓存、DNS传播或网站自身。应按本文的五层分流逐项对比,不要只重复执行清缓存命令。

旧版OS X能直接使用当前命令吗?

不能无条件保证。不同历史版本的解析服务实现和命令习惯可能不同。先查看系统版本,再参考本机man帮助;本文不把未核实的旧版命令当作当前系统的通用方案。

相关阅读

参考资料

  1. Apple Support:在Mac上打开或退出终端
  2. Apple Support:在Mac上更改DNS设置
  3. Apple Platform Deployment:验证Apple设备的DNS记录
  4. Apple Support:Mac系统信息用户指南
  5. Apple开源项目:mDNSResponder说明
  6. Apple Developer Forums:macOS DNS Proxy与刷新DNS缓存讨论