Clash DNS 配置详解:原理、防泄漏与最佳实践

为什么 DNS 如此重要

DNS(Domain Name System,域名系统)是互联网的「电话簿」,负责把 example.com 这样的可读域名翻译成机器能识别的 IP 地址。你在浏览器里输入网址、打开 App 时,第一步往往就是 DNS 查询——只有拿到正确的 IP,后续 TCP 连接和 HTTPS 握手才能进行。

在 Clash 这类代理工具中,DNS 不再只是「解析域名」这么简单,它直接参与分流决策。Clash 的规则可以按域名匹配(DOMAIN)、按 IP 段匹配(IP-CIDR)、按 GeoIP 判断归属地(GEOIP)。如果 DNS 解析出了错误结果,整条分流链路都会跟着出错。

配置不当通常带来两类问题:

  • DNS 泄漏:本应走代理的域名却用了本地或运营商 DNS 解析,既可能暴露访问意图,也可能因 DNS 污染拿到错误 IP,导致连接失败或绕过了代理。
  • 分流错误:基于 IP 的规则(如 GEOIP,CN,DIRECT)依赖正确的解析结果。若国外域名被解析成国内 CDN 节点,可能误走直连;反之,国内域名若被解析到境外 IP,又会无谓消耗代理流量。

因此,DNS 配置是 Clash 进阶调优中绕不开的一环。理解其原理后,你就能解释「为什么某个网站突然直连了」「为什么流媒体打不开」等常见现象。下文将从污染成因、解析模式到实战配置,带你系统掌握 Clash DNS 的完整用法。

DNS 污染与加密 DNS

在未加密的 UDP/TCP DNS 查询中,请求以明文传输,中间网络设备可以篡改返回结果,这就是常说的 DNS 污染。被污染的域名可能返回一个错误的 IP(常见为 0.0.0.0 或某国内占位地址),导致网站无法访问或访问到错误服务器。

为应对污染,Clash 支持 DoH(DNS over HTTPS)和 DoT(DNS over TLS)等加密 DNS 协议。加密后,查询内容不易被篡改,解析结果更可靠。Clash 的 nameserverfallback 机制正是围绕「国内快解析 + 国外防污染」这一思路设计的。

default-nameserver 用于解析 nameserverfallback 中 DoH 域名本身(例如解析 dns.google 的 IP),通常填国内可靠的 UDP DNS,避免「鸡生蛋」问题。

Clash 的两种解析模式

redir-host

在 redir-host 模式下,Clash 会先向 DNS 服务器发起真实解析,拿到真实 IP 后再根据规则决定走代理还是直连。逻辑直观,便于理解,也适合需要真实 IP 做 GEOIP 判断的场景。

但缺点也明显:解析国外域名时容易遭遇污染,拿到错误 IP;每次连接前都要等 DNS 返回,增加首包延迟;部分应用会缓存 DNS 结果,与 Clash 的分流策略可能产生冲突。

fake-ip(推荐)

fake-ip 模式下,Clash 为每个待解析域名分配一个保留网段内的「虚假 IP」(默认 198.18.0.0/16,这是 IANA 保留地址,不会与公网真实 IP 冲突)。应用拿到 fake-ip 后发起连接,Clash 在本地拦截该连接,根据域名映射表决定走代理还是直连,再建立真实连接。

优势在于:无需等待真实 DNS 返回即可快速响应应用;域名信息保留在 Clash 内部,分流更精准;对流媒体、规则分流兼容性更好,也是目前社区最主流的选择。

大多数情况下都建议使用 fake-ip 模式。若你遇到局域网设备发现异常、某些 NAS 或打印机无法访问,再考虑把相关域名加入 fake-ip-filter,或局部改用 redir-host。

一份推荐配置

下面是一份经过大量用户验证的 DNS 配置模板,可直接加入你的 Clash 配置文件(上游 DNS 可按网络环境微调):

dns: enable: true ipv6: false enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 fake-ip-filter: - "*.lan" - "+.local" - "localhost.ptlogin2.qq.com" default-nameserver: - 223.5.5.5 - 119.29.29.29 nameserver: - https://223.5.5.5/dns-query - https://doh.pub/dns-query fallback: - https://1.1.1.1/dns-query - https://dns.google/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4

各字段含义简述:

  • nameserver:主 DNS,优先用于解析,国内 DoH 速度快、延迟低。
  • fallback:当 nameserver 返回的结果被判定为「不可信」(如 GeoIP 显示非 CN)时,改用 fallback 重新解析,通常走境外加密 DNS 防污染。
  • fallback-filter.geoip:启用 GeoIP 过滤,若 nameserver 返回的 IP 归属地不是 CN,则触发 fallback。
  • fake-ip-filter:排除不需要 fake-ip 的域名,如局域网 *.lan、部分需要真实 IP 的国内服务。

常见问题与排查

国内网站打不开或变慢

可能是 fallback 误触发,导致国内域名走了境外 DNS。检查 fallback-filter 是否正确,或在国内域名规则前增加 DOMAIN 直连规则。也可在 nameserver-policy 中为特定域名指定专用 DNS。

流媒体提示地区不可用

部分流媒体会检测 DNS 与 IP 是否一致。确保流媒体相关域名走代理,且 DNS 解析也经代理侧处理;必要时在规则中为 Netflix、Disney+ 等单独配置。

局域网设备无法互访

fake-ip 可能影响 mDNS、Bonjour 等局域网发现协议。将 *.local*.lan 加入 fake-ip-filter,或对该网段使用 redir-host。若家中有 Chromecast、AirPlay 等设备,也建议将其相关域名加入 filter,确保投屏和发现功能正常。

IPv6 相关说明

若你的网络环境暂不需要 IPv6,建议保持 ipv6: false,避免部分应用优先走 IPv6 导致分流异常。若已全面启用 IPv6,可设为 true 并配置 nameserver-policy 为 IPv6 域名指定专用解析路径,确保 v4/v6 流量均能正确分流。

验证是否生效

配置完成后,建议按以下步骤验证:

  1. 访问 DNS 泄漏检测网站(如 dnsleaktest.com),确认解析出口与预期一致,代理开启时不应暴露本地运营商 DNS。
  2. 分别访问国内网站(如 bilibili.com)和国外网站,确认前者直连、后者走代理,速度正常。
  3. 在 Clash 面板或日志中查看连接记录,确认域名与规则匹配符合预期。
  4. 关闭再开启代理,观察应用是否仍能正常解析,排除 DNS 缓存导致的异常。
修改 DNS 配置后需重载配置或重启 Clash 才能生效。若仍有问题,可尝试清空系统 DNS 缓存(Windows:ipconfig /flushdns;macOS:sudo dscacheutil -flushcache)。

小结

合理的 DNS 配置是稳定代理体验的基础。推荐使用 fake-ip 模式,配合「国内 DoH + 境外加密 fallback + GeoIP 过滤」的分流策略,既能防泄漏、防污染,又能保证国内访问速度。遇到局域网或特殊应用问题时,善用 fake-ip-filter 和 nameserver-policy 做精细调整。配置完成后务必实测验证,并根据实际网络环境持续优化。掌握 DNS 配置后,你将能独立解决大部分与解析相关的连接异常,为后续的规则分流和代理组调优打下坚实基础。

准备好体验 Clash 了吗?

前往 Clash 官方中文网下载客户端中文版,按教程导入订阅,Windows / macOS / Android / iOS / Linux 全平台支持,几分钟即可上手。

返回博客列表