节点连上了、线路也通,但网页就是打不开,或者打开全是广告、跳到莫名其妙的页面?十有八九是 DNS 解析环节出了问题。这篇文章把 DNS 污染的原理、判断方法和三种配置方案一次讲清楚。
📋 太长不看版#
问题
症状
最快解法
网页打不开但节点正常
浏览器转圈后报错
客户端开启 DoH(加密 DNS)
打开的是广告/错误页面
域名被解析到错误 IP
切换公共 DoH 服务商
国内站快、国外站慢
解析走运营商 DNS 被干扰
配置国内外分流 DNS
全设备都异常
路由器/系统 DNS 被改
路由器级 DNS 全局覆盖
一句话结论: 给客户端或系统配上加密 DNS(DoH/DoT),把域名解析从明文裸奔变成加密通道,污染问题就解决了大半。下面按「客户端 → 系统 → 路由器」三步走,从最简单到最彻底。
一、DNS 污染到底是什么#
DNS 是互联网的"电话簿"——你输入 google.com,DNS 服务器把它翻译成服务器 IP 地址,浏览器才能找到网站。整个过程默认是明文传输,任何人(运营商、中间设备、攻击者)都能看到你查了什么域名,也能篡改返回结果。
污染(DNS poisoning)就是中间环节把"电话簿"里的地址偷偷换掉:
污染类型
表现
原因
返回错误 IP
打开的是广告页/反诈页/空白页
中间设备注入错误应答
解析超时
域名一直转圈,nslookup 无响应
请求被丢弃
返回本地地址
指向 127.0.0.1 等异常 IP
恶意篡改
部分污染
国内域名正常、国外域名异常
按域名选择性干扰
为什么连了跨境网络还会被污染? 因为很多客户端默认的 DNS 还是走本地运营商线路,或者 fake-ip 模式下的 fallback 解析没配置好。节点只是把你访问网站的"路"修好了,但"查地址"这一步还在被干扰。
二、先判断是不是 DNS 问题(3 个命令)#
动手配置前,先确认症状确实来自 DNS。打开终端(Windows 用 CMD/PowerShell,macOS 用终端):
# 1. 用默认 DNS 解析一个国外域名,看返回什么
nslookup www.google.com
# 2. 换公共 DNS 再解析一次,对比结果
nslookup www.google.com 1.1.1.1
# 3. 解析一个肯定存在的国内域名做对照
nslookup www.baidu.com
判读规则:
现象
结论
默认 DNS 解析超时/返回 127.0.0.1,1.1.1.1 正常
✅ 确认被污染
两个 DNS 都解析到同一 IP 但网页打不开
不是 DNS 问题,查节点/线路
国内外域名都异常
可能是系统 hosts 被改或 DNS 设置错误
确认是污染后,按下面三步配置。每一步都能独立解决大部分问题,按需取用。
三、方案一:客户端配置加密 DNS(推荐首选)#
客户端(Clash 系 / Stash / Shadowrocket)是大多数人的主战场——在这里配好 DoH,所有走客户端的流量解析都走加密通道,一劳永逸。
1. Clash Verge Rev / Clash Meta(Windows/macOS/Android)#
打开配置文件,在 dns: 段做如下配置(没有就新增):
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 119.29.29.29
- https://dns.alidns.com/dns-query
fallback:
- https://cloudflare-dns.com/dns-query
- https://dns.google/dns-query
fallback-filter:
geoip: true
geoip-code: CN
要点:国内域名走 nameserver(阿里/DNSPod 快且稳),国外域名经 fallback-filter 分流到 Cloudflare/Google 的 DoH——国内外分流是兼顾速度和抗污染的关键。
2. Stash(iOS/macOS)#
Stash 的 DNS 在「设置 → DNS」里配置:
打开 DoH
主 DNS 填 https://dns.alidns.com/dns-query(国内快)
备用 DNS 填 https://cloudflare-dns.com/dns-query(抗污染强)
打开 Fallback,把国外域名指向 Cloudflare/Google DoH
Stash 默认配置已经带国内分流,只需把明文 DNS 换成 DoH 端点即可。
3. Shadowrocket(iOS)#
「设置 → DNS」里手动添加:
用途
添加内容
国内解析
223.5.5.5 或 https://dns.alidns.com/dns-query
国外抗污染
https://cloudflare-dns.com/dns-query
添加后把「使用 DNS 代理」打开,让解析走客户端的加密通道。
4. sing-box(进阶用户)#
{
"dns": {
"servers": [
{ "tag": "local", "address": "223.5.5.5" },
{ "tag": "remote", "address": "https://cloudflare-dns.com/dns-query" }
],
"rules": [
{ "rule_set": ["geosite-cn"], "server": "local" },
{ "rule_set": ["geosite-geolocation-!cn"], "server": "remote" }
]
}
}
配置完验证: 回到终端跑 nslookup www.google.com,如果客户端在跑,应该能看到解析走的是 1053 端口(Clash 监听地址),结果和公共 DoH 一致。
四、方案二:系统级配置 DoH/DoT#
不依赖客户端(比如某些流量没走客户端的场景),直接在系统层面把 DNS 换成加密的。
Windows 11#
「设置 → 网络和 Internet → 属性 → DNS 服务器分配 → 编辑」:
手动 DNS 填 1.1.1.1 和 8.8.8.8
DNS 加密选 仅加密(DoH)
保存后重启浏览器测试
macOS#
「系统设置 → 网络 → 当前网络 → 详细信息 → DNS」添加 1.1.1.1、8.8.8.8。macOS 原生不支持 DoH 图形化配置,需要配合客户端(Stash/Clash)或描述文件,日常场景客户端方案已够用。
iOS#
「设置 → 无线局域网 → 当前 Wi-Fi 的 ⓘ → 配置 DNS → 手动」添加 1.1.1.1、8.8.8.8。想上 DoH 可以装 Cloudflare 的 1.1.1.1 App 或描述文件。
Android#
「设置 → 网络 → 私人 DNS」选择「指定私人 DNS 提供商主机名」:
1dot1dot1dot1.cloudflare-dns.com
Android 的私人 DNS 原生走 DoT 加密,是所有平台里系统级配置最简单的。
浏览器兜底(Firefox)#
「设置 → 隐私与安全 → 启用基于 HTTPS 的 DNS」勾选,选 Cloudflare。适合只想改浏览器、不动系统的场景。
五、方案三:路由器/旁路由全局覆盖#
家里设备多(电视、游戏机、IoT 设备没法逐个配),在路由器上统一配 DNS 最省心。适合有软路由/OpenWrt 的用户:
OpenWrt 上游加密:安装 https-dns-proxy 插件,上游填 DoH 端点(如 https://cloudflare-dns.com/dns-query),Dnsmasq 转发过去
AdGuard Home 自建:在软路由/旁路由上跑 AdGuard Home,上游配置国内外分流(国内 223.5.5.5、国外 DoH),自带缓存和广告过滤,全家设备指向它即可
旁路由方案:不想动主路由,用树莓派/旧盒子做旁路由跑 AdGuard Home,DHCP 下发 DNS 指向它
路由器方案适合进阶用户。普通用户按方案一(客户端)已经能解决 90% 的问题,不必一上来就折腾软路由。
六、公共 DNS 服务商对比#
服务商
普通 DNS
DoH 端点
特点
阿里 AliDNS
223.5.5.5
https://dns.alidns.com/dns-query
国内快、解析全、适合国内分流
腾讯 DNSPod
119.29.29.29
https://doh.pub/dns-query
国内快、稳定
114DNS
114.114.114.114
无官方 DoH
国内老牌、纯净模式可选
Cloudflare
1.1.1.1
https://cloudflare-dns.com/dns-query
国际快、隐私强、抗污染好
8.8.8.8
https://dns.google/dns-query
国际通用、解析记录全
Quad9
9.9.9.9
https://dns.quad9.net/dns-query
自带威胁情报过滤、安全优先
选型建议: 国内域名解析用阿里或 DNSPod(快),国外域名用 Cloudflare 或 Google 的 DoH(抗污染)。不要全部走国际 DNS——国内域名绕一圈反而慢。
❓ 常见问题#
Q1:换了 DoH 还是打不开网页?
先确认 DoH 配置真的生效了(nslookup 看解析源),再检查节点本身是否正常。DNS 只是链路的一环,节点挂了解析再对也没用。可以换个节点对比测试。
Q2:fake-ip 模式是什么?要不要开?
fake-ip 是 Clash 系客户端的虚拟 IP 机制——客户端给域名分配一个假 IP,真实解析交给客户端内部处理,能加速首次连接、减少 DNS 泄漏。推荐开启,配合上面的 fallback 分流配置效果最好。
Q3:DoH 和 DoT 有什么区别?
DoH(DNS over HTTPS)走 443 端口,和网页流量混在一起,难被识别拦截;DoT(DNS over TLS)走 853 端口,专门通道。日常用 DoH 即可,兼容性和穿透性更好。
Q4:全用国际 DNS 行不行?
不建议。国内域名(百度、淘宝、B站)走国际 DNS 会绕路变慢,甚至解析到海外节点。正确姿势是国内/国外分流:国内走 AliDNS/DNSPod,国外走 Cloudflare/Google。
Q5:nslookup 返回 127.0.0.1 是什么意思?
说明解析结果被篡改成了本机回环地址——典型污染特征。换公共 DNS 或开 DoH 后通常立即恢复。如果客户端开了 fake-ip,解析显示 198.18.x.x 是正常现象,不是污染。
Q6:改路由器 DNS 会影响国内网站速度吗?
如果路由器 DNS 上游配置了分流(国内走 AliDNS、国外走 DoH),不影响国内速度。如果全走国际 DNS,国内网站会明显变慢。配置时务必区分国内/国外上游。
Q7:手机流量(4G/5G)也会被污染吗?
会,移动网络同样存在 DNS 干扰。手机端优先用客户端方案(Clash/Stash/Shadowrocket 的 DoH),Wi-Fi 和流量都覆盖。
🎯 总结#
DNS 污染是"节点正常但网页打不开"的头号隐形原因,本质是域名解析环节被明文干扰。三步解法:
客户端配 DoH(推荐):Clash/Stash/Shadowrocket 里配置国内 + 国外分流 DNS,覆盖 90% 场景
系统级配置:Windows 原生 DoH、Android 私人 DNS,适合不依赖客户端的场景
路由器全局覆盖:AdGuard Home / https-dns-proxy,适合全家多设备
配置完用 nslookup 验证解析结果,污染问题基本都能解决。如果你的网络服务商本身解析就慢、节点又不稳定,可以对比下面的方案,选一个晚高峰不掉链子的作为主力:
方案
适合谁
特点
入口
自由猫
主力长期用
IEPL 专线 + MPTCP 多路复用,晚高峰稳,100+ 节点不限设备
👉 访问自由猫官网
万达云
入门/预算敏感
IEPL 专线 + 中转,性价比高
👉 访问万达云官网
悠兔
年付党
自有机房 IEPL 专线,年付折合低价
👉 访问悠兔官网
SKYLUMO
轻量/学生
全球 80+ 地区覆盖,¥6.99 入门
👉 访问SKYLUMO官网
相关教程:Clash 规则配置指南 | 客户端安装配置全攻略 | 线路类型科普(IEPL/IPLC) | 全屋网络方案对比 | 网络测速指南
最后更新:2026-08-31