mac dns污染导致网页打不开的四大解决方法:一、刷新dns缓存(终端执行sudo dscacheutil -flushcache; sudo killall -hup mdnsresponder);二、更换为cloudflare(1.1.1.1/1.0.0.1)或google(8.8.8.8/8.8.4.4)公共dns;三、检查并清理/etc/hosts中被篡改的域名映射;四、禁用ipv6避免解析卡顿。
macos 中 dns 污染会导致域名解析返回错误 ip,结果就是网页打不开、应用连不上服务,但 ping 得通 ip 地址——这说明网络本身通畅,只是“找错门牌号”了。解决核心是绕过被污染的 dns 路径,让系统用可信方式获取真实地址。
刷新本地 DNS 缓存
缓存里可能存着已被污染的旧记录,先清掉再试:
- 打开“终端”,输入:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - 回车后输入管理员密码(不显示字符,输完直接回车)
- 适用于 macOS Catalina(10.15)及更新版本,包括 Sonoma、Ventura 等
更换为可信公共 DNS
ISP 提供的 DNS 最容易被污染,换成 Cloudflare 或 Google 的 DNS 可大幅降低风险:
- 进入“系统设置” → “网络” → 选中当前连接 → 点击“详细信息…”
- 切换到“DNS”标签页,点击左下角“+”号
- 添加以下任一组:
• 1.1.1.1 和 1.0.0.1(Cloudflare)
• 8.8.8.8 和 8.8.4.4(Google) - 把新添加的 DNS 拖到列表最上方,点击“完成”保存
检查并修复 /etc/hosts 文件
恶意软件或广告拦截工具常偷偷往这个文件里加行,把百度、淘宝等域名指向 0.0.0.0 或 127.0.0.1:
- 终端中运行:sudo nano /etc/hosts
- 逐行查看,跳过以 # 开头的注释行
- 发现类似 0.0.0.0 www.taobao.com 或 127.0.0.1 github.com 这样的非注释行,按 Ctrl+K 删除整行
- 按 Ctrl+O 保存 → 回车确认 → Ctrl+X 退出
临时禁用 IPv6(部分网络环境适用)
某些路由器或企业网络对 IPv6 DNS 支持不完整,系统卡在 IPv6 查询失败上,迟迟不降级到 IPv4:
- 在“系统设置” → “网络” → 当前连接 → “详细信息…” → “IPv6” 标签页
- 将配置方式从“自动”改为“仅本地链接”或“关闭”
- 点“完成”,然后断开 Wi-Fi 再重连一次











