什么是 DNS 污染与 DNS 泄露?DoH、远程解析与 Fake-IP 解释
百科词条:解释 DNS 污染(解析结果被篡改)与 DNS 泄露(解析请求绕过代理暴露真实位置)两种不同问题,说明代理客户端的远程 DNS、DoH/DoT 加密解析与 Fake-IP 模式分别解决什么,以及各客户端的推荐设置。
文章目录
DNS 在做什么
你输入域名,DNS 把它翻译成 IP 地址,浏览器再去连这个 IP。这一步默认由本地运营商的 DNS 服务器完成,而代理只处理之后的连接。问题就出在这里。
DNS 污染
运营商或中间设备对特定域名返回错误的 IP。表现:
- 代理已开启、节点正常,但某些网站打不开或打开的是错误页面;
- 浏览器提示
DNS_PROBE_FINISHED_NXDOMAIN或连接被重置。
解决思路:不用本地 DNS,让解析走代理(远程解析)或走加密通道(DoH / DoT)。
DNS 泄露
即使解析结果正确,解析请求本身是明文发给运营商的。这意味着:
- 运营商知道你访问了哪些域名;
- 目标网站(如 Netflix、Gemini)看到「IP 在美国、DNS 来自中国」,判定为代理。
解决思路与污染相同:让 DNS 请求也经过代理或加密。
三种解决方式
| 方式 | 原理 | 适用 |
|---|---|---|
| 远程解析 | 域名交给节点在境外解析 | 规则模式下的境外域名 |
| DoH / DoT | DNS 请求用 HTTPS / TLS 加密后发给公共 DNS | 防污染,防运营商窥探 |
| Fake-IP | 客户端先返回一个假 IP,连接时再按域名决定去向 | TUN 模式,解析最快、泄露最少 |
现代客户端通常组合使用:国内域名用国内 DNS 直连解析,境外域名用 DoH 或远程解析。
各客户端的推荐设置
- Clash Verge:设置 → DNS 设置 → 启用,增强模式选 Fake-IP,默认 nameserver 填
https://dns.google/dns-query或https://1.1.1.1/dns-query。机场订阅一般已预置合理配置; - Shadowrocket:设置 → DNS 覆写,填入 DoH 地址;
- Clash Meta for Android:设置 → DNS → 覆写,启用并选 Fake-IP;
- sing-box:订阅中的 dns 段已配置,一般无需改。
怎么验证
开启代理后访问 DNS 泄露检测网站,列出的 DNS 服务器应全部在境外。出现国内运营商的服务器即为泄露。
常见误区
- 把 DNS 改成 8.8.8.8 就不泄露了:明文 DNS 仍可能被劫持或监听,要用 DoH;
- 开了代理就不用管 DNS:系统代理模式下 DNS 默认仍走本地,需要客户端接管或开 TUN,见什么是 TUN 模式与系统代理。