搜索 K
深色模式
深色模式
直接答案:Clash 的内置 DNS 模块是整个透明代理与分流系统的神经中枢。很多用户遭遇的“首包建连卡顿 2 秒”、“国内网页排版加载慢”以及“海外目标 IP 遭受本地 ISP 劫持”,根源均在于 DNS 模块未进行深度调优。现代 Clash/Mihomo 架构下,
enhanced-mode: fake-ip是绝对的黄金标准;配合由国内低延迟 Anycast DNS(nameserver)与海外安全 DoH/DoT(fallback)组成的双轨并发判定管线,可在 0ms 级别内完成域名映射,并彻底杜绝 DNS 污染与隐私泄露。
在 Clash 的 dns 配置中,enhanced-mode 决定了内核如何向操作系统返回域名解析结果:
| 评估维度 | enhanced-mode: fake-ip (现代推荐) | enhanced-mode: redir-host (传统老旧) |
|---|---|---|
| 工作机制 | 直接从保留池 (198.18.0.0/16) 瞬时分发虚假 IP,并在内存中建立 Host 映射表 | 挂起客户端请求,必须等待远程真实 DNS 解析返回真实 IP 后才响应 |
| 首包建连耗时 (RTT) | < 1 ms (几乎为 0,本地直接秒回) | 180 ms ~ 650 ms (受限于远程 DNS 往返延迟) |
| 本地 DNS 污染免疫度 | 100% 绝对免疫 (根本不向公网发出真实查询) | 极差 (国内解析海外域名必然收到被污染的虚假 IP) |
| 远程出站解析权 | 交由远端代理节点解析 (保证访问到最优海外 CDN) | 本地解析出的 IP 传给远端 (可能发生跨国 CDN 绕路) |
| 小众程序兼容性 | 极少数锁死 IP 校验的古董程序偶发异常 | 兼容传统物理 IP 认知 |
| 推荐度与现状 | ⭐⭐⭐⭐⭐ 现代核心标准,强烈推荐! | ⭐ 已被社区广泛弃用,不建议开启 |
当一个域名需要获取真实 IP(例如国内直连白名单域名,或者加了 no-resolve 依然未命中的 IP 规则判定)时,Clash 会启动双轨时序流水线:
[应用程序发起 DNS 查询: 目标域名 example.com]
|
v
+-------------------------------+
| 同时向两组 DNS 服务器并发发起查询 |
+-------------------------------+
/ \
v v
[nameserver 组] [fallback 组]
(阿里/腾讯/114) (Cloudflare/Google DoH)
| |
(极速返回 IP-A) (稍后返回 IP-B)
|
v
+-------------------------------+
| fallback-filter 过滤与裁决引擎 |
+-------------------------------+
|
|--> IP-A 是大陆 IP 吗 (命中 GeoIP: CN)?
| |
| |-- [是] --> 信任 IP-A,立即采纳并终止等待! (国内网站极速直连)
|
|--> IP-A 包含受污染特征 (命中 ipcidr: 240.0.0.0/4)?
|
|-- [是] --> 判定 IP-A 遭受 GFW 投毒! 丢弃 IP-A!
等待 fallback 组返回的 IP-B 并采纳! (安全无污染)以下为专为低延迟、防污染与防 DNS 泄漏而设计的工业级配置模板:
# ========================================================
# 高性能防污染 DNS 调度引擎
# ========================================================
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
# ========================================================
# Fake-IP 豁免过滤名单 (关键!防止特定服务被虚假 IP 破坏)
# ========================================================
fake-ip-filter:
- '*.lan'
- '*.local'
- 'localhost.ptlogin2.qq.com'
- '+.stun.*.*'
- '+.stun.*.*.*'
- '+.msftconnecttest.com'
- '+.msftncsi.com'
- 'time.*.com'
- 'ntp.*.com'
# ========================================================
# 引导 DNS (用于解析下方的 DoH/DoT 域名本身的 IP)
# ========================================================
default-nameserver:
- 223.5.5.5
- 119.29.29.29
# ========================================================
# 国内主要解析服务器 (极速低延迟,优先用于国内服务)
# ========================================================
nameserver:
- 223.5.5.5
- 119.29.29.29
- https://dns.alidns.com/dns-query
# ========================================================
# 海外加密回退服务器 (防污染安全 DNS)
# ========================================================
fallback:
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
- tls://8.8.8.8:853
# ========================================================
# 回退过滤判定规则
# ========================================================
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4
- 0.0.0.0/32
domain:
- '+.google.com'
- '+.facebook.com'
- '+.youtube.com'msftconnecttest.com 发起探测请求)。若开启了 Fake-IP,该请求被分配了 198.18.x.x 虚假地址,导致 Windows 探测器判定网络受限。fake-ip-filter 列表中明确添加:fake-ip-filter:
- '+.msftconnecttest.com'
- '+.msftncsi.com'nameserver 中配置了 DoH 地址 https://dns.alidns.com/dns-query,但 Clash 自身不知道 dns.alidns.com 的 IP 是什么,于是它试图通过该 DoH 去解析这个域名,从而陷入“先有鸡还是先有蛋”的死递归。default-nameserver 中填写纯 IP 格式的常规 DNS(如 223.5.5.5),专门用于解析 DoH 域名本身。A: 因为局域网打印机的私有主机名(如 printer.local)被 Fake-IP 捕获并分配了 198.18.x.x 地址,导致内网 ARP 广播失效。将 *.local 和 *.lan 加入 fake-ip-filter,或者在规则顶部将局域网 IP 网段直连并追加 no-resolve 即可彻底恢复。
nameserver 和 fallback? A: Fake-IP 只是在本地欺骗了操作系统让其快速发包;但当流量匹配到规则中的 GEOIP,CN,DIRECT 或者走直连出站时,Clash 必须知道目标服务器真实所在的物理 IP 地址,否则数据包无法送达公网。因此底层依然需要严密的高可用 DNS 解析管线作为支撑。