必须同步清除缓存、刷新服务状态、重载网络接口才能使DNS配置生效:先执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,再重载接口(如sudo ifconfig en0 down && sleep 2 && sudo route -n flush && sudo ifconfig en0 up),最后networksetup -setdnsservers "Wi-Fi" automatic可还原DHCP获取。

Mac在终端里重置系统DNS配置,不是简单删掉几个IP地址就能生效——必须同步清除缓存、刷新服务状态、重载网络接口,否则旧DNS记录仍会干扰解析结果。直接修改networksetup后不执行后续动作,90%的情况会出现“明明改了却没用”的假象。
清空DNS缓存并重启mDNSResponder服务
这一步是重置DNS配置生效的前提,跳过会导致新DNS设置被缓存覆盖。macOS Ventura 13及更新版本已弃用dscacheutil的主缓存功能,仅靠它无法清理Bonjour和.local域名解析。
打开“终端”,粘贴并执行:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
输入管理员密码(屏幕无回显,输完直接回车),等待约4秒。可打开“活动监视器”,搜索mDNSResponder进程,确认其CPU占用从峰值回落至接近0%。
【若AirDrop、隔空播放或Finder“网络”中设备消失,必须额外执行】:
sudo killall -HUP mDNSResponderHelper
重置网络接口与路由表
单纯改DNS不碰底层接口状态,系统仍可能沿用错误ARP条目或stale路由,导致部分域名能解析但连接超时。这步强制触发内核级重载,让新DNS真正参与首轮查询。
先确认主网络接口名:
ifconfig | grep "^[a-z]" | head -n1 | awk '{print $1}'
常见结果为en0(Wi-Fi)或en1(有线),以下以en0为例:
sudo ifconfig en0 down → 等待2秒 → sudo route -n flush → sudo ifconfig en0 up
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
Wi-Fi用户必须补执行:
networksetup -setairportpower en0 on
【严禁写成 sudo ifconfig en0 down && sudo ifconfig en0 up —— 中间缺少内核清理窗口,接口易卡在half-down状态,后续命令全部失效】
还原DNS服务器为DHCP自动获取
当需要彻底清空人工配置的DNS,回归路由器下发值时,不能只删GUI界面里的IP列表——networksetup命令写入的是系统配置数据库,图形操作未必完全覆盖。
第一步:查看当前网络服务名称
networksetup -listallnetworkservices
第二步:将输出中实际启用的服务名(如“Wi-Fi”)代入以下命令:
networksetup -setdnsservers "Wi-Fi" automatic
第三步:立即验证是否生效
networksetup -getdnsservers "Wi-Fi"
正确返回应为There aren't any DNS servers set或显示automatic字样。若仍显示IP地址,说明服务名输入错误或该服务当前未激活。

















