mac网页打不开、跳转广告页或能用微信但打不开网站,基本可确定是dns劫持;需立即刷新dns缓存(ventura+执行sudo dscacheutil -flushcache; sudo killall -hup mdnsresponder)、手动配置可信dns(如1.1.1.1和8.8.8.8)、启用doh加密dns、检查/etc/hosts及禁用ipv6。

Mac网页打不开、跳转广告页或能用微信但打不开网站,基本可以确定是DNS劫持——不是网络断了,而是域名被偷偷“指错了路”。核心思路很明确:让DNS查询真实、加密、不受中间设备干扰。
立即见效:刷新系统DNS缓存
mDNSResponder进程可能长期缓存着被污染的解析结果,即使网络恢复正常,错误映射还在生效。这是最轻量、最快验证的一步:
- 打开终端,粘贴执行(Ventura及更新系统):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Monterey或更早版本只需:
sudo killall -HUP mDNSResponder - 输入密码(不显示字符),回车后无提示即成功;刷新网页测试是否恢复
切断劫持源头:禁用DHCP DNS并设静态可信地址
多数劫持来自路由器通过DHCP推送的虚假DNS。必须让系统彻底忽略它,改用你信任的解析器:
- 进入「系统设置 → 网络 → 当前连接 → 详细信息… → DNS」,清空所有自动获取的DNS条目
- 切换到「高级 → TCP/IP」,将「配置IPv4」改为「手动」
- 在「DNS服务器」栏添加至少两个独立来源地址,例如:
• 1.1.1.1(Cloudflare)
• 8.8.8.8(Google)
• 208.67.222.222(OpenDNS) - 勾选「忽略来自DHCP服务器的DNS服务器地址」(如有)
升级防护:启用系统级DoH加密DNS
明文DNS极易被监听篡改。macOS Ventura起原生支持DoH,所有查询走HTTPS隧道,从根源规避劫持:
- 仍在「网络 → 详细信息… → DNS」页面,点击「+」号
- 输入任一标准DoH地址:
https://dns.google/dns-query 或 https://cloudflare-dns.com/dns-query - 拖动该条目至DNS列表顶部,确保优先使用
- 保存后,系统会自动识别并启用加密通道(Ventura+有效)
排查隐藏干扰:检查hosts与IPv6配置
有些劫持不走DNS,而是直接改写本地映射或利用IPv6异常绕过防护:
- 终端运行:sudo nano /etc/hosts,逐行检查是否有非注释行把正常域名指向0.0.0.0或异常IP
- 回到「网络 → 详细信息… → IPv6」,将「配置IPv6」改为「仅本地链接」或「关闭」
- 断开Wi-Fi再重连,观察网页加载是否改善











