很多「节点能连上但网站打不开」「IP 明明在日本却提示地区不支持」的问题,根源都在 DNS。
先分清两个概念
DNS 污染:你查询某个域名,返回了错误的 IP。表现为网站直接打不开或跳到无关页面。这是查询被干扰。
DNS 泄漏:你的流量走了代理,但域名解析是用本地运营商的 DNS 完成的。表现为:
- 隐私上,你访问了哪些域名对本地网络可见;
- 功能上,目标服务可能根据解析结果判定你在国内,于是出现「出口 IP 在日本,但内容还是国内版」。
两者经常同时出现,处理方式不同。
为什么会出现地区判定不一致
一次访问其实分两步:先解析域名拿到 IP,再连过去。
如果第一步用了本地 DNS,拿到的往往是国内 CDN 的 IP;第二步再通过代理连这个国内 IP,结果就是「绕了一圈还是国内内容」。
流媒体对这一点尤其敏感,这也是 Netflix 检测代理的常见触发条件之一,详见流媒体解锁原理。
三种解决思路
1. 让解析走代理
最彻底。Clash 系客户端里对应的是 remote-dns / 代理 DNS:需要走代理的域名,由代理服务器那一端去解析。
这样解析结果和出口在同一侧,地区判定自然一致。
2. 用加密 DNS(DoH / DoT)
把 DNS 查询本身加密,避免传输途中被篡改:
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- https://223.5.5.5/dns-query # 国内域名,走国内加密 DNS
fallback:
- https://1.1.1.1/dns-query # 国外域名,走国外加密 DNS
- tls://8.8.8.8:853
要点是国内外分开:国内域名用国内 DNS 解析(拿到就近 CDN,速度快),国外域名用国外 DNS。
3. fake-ip 模式
客户端给需要代理的域名返回一个虚假 IP(通常在 198.18.0.0/16 段),流量到了代理那一层再用真实域名去连。
好处是完全跳过本地解析,快且不泄漏。副作用是少数直接校验 IP 的应用会异常,把它们加进 fake-ip-filter 即可:
dns:
enhanced-mode: fake-ip
fake-ip-filter:
- '*.lan'
- '*.local'
- 'stun.*.*'
自查清单
- 开着代理,访问 DNS 泄漏检测站点,看解析服务器归属地。
- 如果显示本地运营商 → 检查客户端 DNS 设置是否启用、是否配了 fallback。
- 如果用了 TUN 模式,确认系统 DNS 没有被其他软件(杀毒、VPN 客户端)抢走。
- 改完之后清一次 DNS 缓存:Windows
ipconfig /flushdns,macOSsudo dscacheutil -flushcache。
常见误区
- 只换成 8.8.8.8 就完事:明文查询依然可能被篡改,要用加密形式。
- 国内外用同一个 DNS:全用国外 DNS 会让国内网站解析到很远的 CDN,变慢;全用国内 DNS 则解决不了污染。
- 改了不清缓存:系统和浏览器都会缓存旧的解析结果,不清理看不出效果。
下一步
数据来源与更新记录
- 内容整理
- 机场百度编辑部
- 最后更新
价格与解锁情况变动频繁,本页数据以上述更新时间为准,购买前请以服务商官网为准。 发现错误或过期信息可以反馈,我们会核实后更新。查看本站内容标准 →
常见问题
怎么判断自己有没有 DNS 泄漏?
开着代理访问任意一个 DNS 泄漏检测站点,看返回的解析服务器归属地。如果列出的是你本地运营商的 DNS,说明域名解析没走代理,存在泄漏。
fake-ip 会不会影响某些应用?
会。少数直接对 IP 做校验的应用(部分游戏、内网服务)在 fake-ip 下可能异常,把这些域名加进 fake-ip-filter 走真实解析即可。
改成公共 DNS 就能解决污染吗?
不完全能。明文 DNS 查询在传输途中仍可能被篡改,所以要配合 DoH / DoT 这类加密查询,或者让解析走代理完成。
教程中心相关内容
新手路线图:从零到能用,需要理解的四件事
面向完全没接触过的人,按「概念 → 购买 → 配置 → 验证」四段拆解,每段只讲必须理解的那一点,其余留到需要时再查。
怎么选节点?延迟、带宽与地区的取舍
解释延迟、抖动、带宽三者的区别,各地区节点的典型延迟区间与适用场景,以及自动选择策略组的坑和该什么时候手动切。
规则、全局、直连三种模式有什么区别?
讲清 Clash 系客户端三种代理模式的实际行为、各自适用的场景,以及「开了代理但国内网站变慢」这类问题的根源。
订阅链接是什么?怎么导入、更新和管理多条订阅
讲清订阅链接的本质、四种常见格式的区别、在各平台客户端导入的通用步骤,以及自动更新、多订阅共存和链接泄露后的处理。