跳到主要内容

Clash DNS 设置详解:fake-ip、redir-host 与 nameserver 怎么配

Clash 与 Mihomo 的 dns 段是解决 DNS 污染与泄漏的核心,但字段多、照抄易断网。本文给出可直接粘贴的完整 yaml,逐字段解释 enhanced-mode、fake-ip-filter、nameserver、fallback 的作用,并说明在 Clash Verge Rev 中如何生效。

发布于 约 5 分钟 · 1929 字进阶
Clash 与 Mihomo DNS 设置详解封面

直接答案

日常使用推荐 enhanced-mode: fake-ip,nameserver 填国内 DoH(doh.pub、alidns),fallback 填国外 DoH(1.1.1.1、dns.google),用 fallback-filter 的 geoip 规则决定何时采用 fallback 结果,再把局域网、游戏平台、时间同步等域名放进 fake-ip-filter。需要真实 IP 的场景(游戏、局域网设备、部分路由器)改用 redir-host 并配合 nameserver-policy 分流。配置写在客户端的覆写或 Merge 区域,不要直接改订阅文件。

Clash 与 Mihomo 内核的 dns 段只有十几个字段,但它决定了三件事:域名在哪里解析、解析结果是否可信、客户端返回给应用的是真 IP 还是占位 IP。配错的后果五花八门:打不开路由器后台、游戏连不上、流媒体提示地区不符、开 TUN 后全部超时。本文是一份面向机场用户的 Clash DNS 设置说明:先给结论和一份完整配置,再逐字段解释为什么这么写。如果还没有在 Clash 系客户端里导入过机场订阅链接,先看 Clash Verge Rev 使用教程。

先选模式:fake-ip 还是 redir-host

对比项fake-ipredir-host
返回给应用的 IP198.18.0.0/16 段的占位 IP真实解析出的 IP
真实解析发生在代理域名在节点侧解析,直连域名在本地全部在本地 nameserver / fallback 完成
DNS 泄漏风险极低,域名随请求一起交给节点取决于 nameserver 是否加密与是否走代理
首次连接速度快,省去本地解析等待多一次本地解析
兼容性问题局域网设备、部分游戏、NTP 需加入 fake-ip-filter几乎没有
适用场景日常上网、AI 工具、流媒体游戏、NAS、需要真实 IP 的软件

结论:日常用 fake-ip,再用 fake-ip-filter 把例外域名挑出去;只有在游戏或局域网设备明显异常、且加 filter 仍不解决时才整体切到 redir-host。

可直接粘贴的完整配置

把下面内容写入 Clash Verge Rev 的「配置覆写」或 Merge 文件,Mihomo Party 写入「覆写」,Clash Meta for Android 写入「覆写 → DNS」。不要直接编辑订阅文件,否则下次订阅更新会把修改冲掉。

dns:
  enable: true
  listen: 0.0.0.0:1053
  ipv6: false
  prefer-h3: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  use-hosts: true
  use-system-hosts: true
  respect-rules: false
  # 这些域名不返回 fake-ip,而是正常解析出真实 IP
  fake-ip-filter:
    - "*.lan"
    - "*.local"
    - "+.localhost"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"
    - "time.*.com"
    - "ntp.*.com"
    - "+.pool.ntp.org"
    - "+.stun.*.*"
    - "+.xboxlive.com"
    - "+.battle.net"
    - "+.steamcontent.com"
    - "localhost.ptlogin2.qq.com"
  # 解析 nameserver / fallback 中 DoH 域名自身所用的 DNS,必须是纯 IP
  default-nameserver:
    - 223.5.5.5
    - 119.29.29.29
  # 解析节点服务器域名所用的 DNS
  proxy-server-nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # 主解析:国内加密 DNS
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
  # 备用解析:国外加密 DNS,用于被污染或非国内结果的域名
  fallback:
    - https://1.1.1.1/dns-query
    - https://dns.google/dns-query
    - tls://8.8.4.4:853
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4
      - 0.0.0.0/32
    domain:
      - "+.google.com"
      - "+.youtube.com"
      - "+.openai.com"
      - "+.chatgpt.com"
      - "+.anthropic.com"
      - "+.claude.ai"
  # 按域名指定解析服务器(Mihomo 内核支持 geosite 写法)
  nameserver-policy:
    "geosite:cn,private":
      - https://doh.pub/dns-query
      - https://dns.alidns.com/dns-query
    "geosite:geolocation-!cn":
      - https://1.1.1.1/dns-query
      - https://dns.google/dns-query

保存后重载配置,到「日志」页确认没有 dns 相关的 error,再用 nslookup chatgpt.com 看返回是否为 198.18 开头的地址。

逐字段解释

enhanced-mode 与 fake-ip-range:模式开关和占位 IP 段。198.18.0.0/16 是保留测试网段,不会与真实公网 IP 冲突,一般不需要改。

fake-ip-filter:这是最常被忽略、却最容易引发怪问题的字段。局域网域名、Windows 联网检测、NTP 时间同步、游戏平台的 STUN 与登录域名,拿到占位 IP 后都会异常,表现为「网络受限」提示、时间不同步、游戏匹配失败。遇到某个软件在 fake-ip 下不正常,第一反应就是把它的域名加进来。

default-nameserver:nameserver 里写的是 DoH 域名,这些域名自己也得先被解析,用的就是这里的纯 IP DNS。只能写 IP,写域名会循环依赖。

proxy-server-nameserver:解析节点服务器地址用的 DNS。节点域名被污染是「全部节点超时」的常见原因之一,这里单独指定国内 DoH 可以减少这类问题。

nameserver 与 fallback:两组同时查询。结果命中 fallback-filter 的条件(属于国内 IP、命中 ipcidr、或域名在 domain 列表)时,决定采用哪一组:geoip 为 true 时,nameserver 返回国内 IP 就信任它,返回国外 IP 则改用 fallback 结果。domain 列表里的域名直接用 fallback,适合把 AI 工具与 Google 系域名放进去。

nameserver-policy:比 fallback 更直接的分流方式,按域名集合指定解析服务器。国内域名用国内 DoH,geolocation-!cn 用国外 DoH。它与 fallback 可以共存,policy 优先级更高。

respect-rules:设为 true 时 DNS 查询本身也走分流规则,需要配合 proxy-server-nameserver 使用,否则可能出现 DNS 查询等待代理、代理等待 DNS 的死锁。新手保持 false。

⚠️ 注意

yaml 对缩进极其敏感,fallback-filter 下的 ipcidr 与 domain 必须比上一级多两个空格。粘贴后如果客户端提示解析失败或所有节点消失,九成是缩进被编辑器改成了制表符。

让配置真正生效

  1. Clash Verge Rev:设置 → 「DNS 覆写」开关打开;系统设置里开启「TUN 模式」,TUN 下自动劫持 53 端口。只用系统代理模式时,浏览器自己的 DNS 仍可能绕过客户端。
  2. Mihomo Party:设置 → DNS 页面可直接填写,或者在覆写里粘贴 yaml;同样需要 TUN 配合。
  3. Clash Meta for Android:VPN 模式默认接管 DNS;覆写里把 DNS 劫持选为「全部」。
  4. 验证:在「连接」页搜索 53 端口,正常情况下不应看到去往运营商 DNS 的 DIRECT 连接。完整验证方法见 DNS 泄漏检测与修复。

常见症状对照

症状原因修改
改完配置后所有网站打不开nameserver 不可达或缩进错误删掉 dns 段重载二分定位
打不开路由器后台 / NAS局域网域名拿到 fake-ip加入 fake-ip-filter
Windows 右下角显示「无 Internet」联网检测域名拿到 fake-ip加入 msftconnecttest.com
游戏无法匹配或语音断开STUN / 游戏平台域名拿到 fake-ip加入 filter 或整体切 redir-host
ChatGPT 提示网络环境异常但网页能开AI 域名被国内 DNS 解析把域名放进 fallback-filter.domain
个别网站解析到错误 IP被污染且 fallback 未触发同上,或改用 nameserver-policy
开 TUN 后 DNS 查询超时DoH 域名无法解析检查 default-nameserver 为纯 IP

更多污染类问题的判断方法见 DNS 污染怎么判断与修复,规则分流与 DNS 的联动问题见 分流规则不生效怎么办。

预防与订阅选择

💡 提示

每次大版本升级客户端后,把本文配置与客户端自带的默认 DNS 覆写模板对比一次:Clash Verge Rev 与 Mihomo Party 的默认模板会随版本更新,字段名偶有调整。

选机场时也可以把 DNS 当作一项指标。我们做 Clash 机场推荐、Clash Meta 机场推荐与 Clash Verge 机场推荐时,会看订阅配置是否自带完整 dns 段、节点域名是否提供 IP 备用入口。宇宙云 的订阅默认带 fake-ip 与 fallback 配置,灯塔加速 则提供多入口域名降低节点域名被污染的影响;其他 Clash 系适配良好的品牌可以在 机场推荐 栏目按客户端筛选,客户端层面的更多问题见 客户端排错。

总结

  • fake-ip 返回占位 IP、真实解析在节点侧完成,天然防泄漏,是日常上网的首选;redir-host 返回真实 IP,适合游戏与局域网场景
  • nameserver 负责国内域名,fallback 负责被污染域名,两者靠 fallback-filter 的 geoip 判断切换
  • fake-ip-filter 是最常被忽略的字段,局域网、NTP、游戏平台域名不加进去会出各种怪问题
  • 配置要写在覆写 / Merge 区域,直接改订阅文件会在下次更新时被冲掉

常见问题

Q机场订阅链接怎么导入 Clash?

在 Clash Verge Rev 或 Mihomo Party 的订阅页粘贴链接导入即可。导入后不要直接改订阅文件里的 dns 段,而是到「配置覆写」或 Merge 里写自己的 dns 配置,这样每次更新订阅都不会被覆盖。

QClash 机场推荐怎么选?

优先选订阅自带规范 dns 段、节点侧解析环境干净、提供 Clash Meta 格式订阅的机场。宇宙云、灯塔加速这类老牌品牌的 Clash 订阅字段完整,导入 Clash Verge Rev 后只需确认 TUN 与 DNS 覆写开关即可使用。

Q机场是否支持 Clash Meta?

绝大多数主流机场都提供 Clash Meta(Mihomo)格式订阅,用户中心通常标注为「Clash Meta」或「Mihomo」。如果只提供旧版 Clash 格式,本文的 dns 段依然兼容,只是 nameserver-policy 的 geosite 写法需要 Mihomo 内核才能识别。

Q机场连不上是什么原因?

如果是修改 DNS 配置后才连不上,先检查 nameserver 是否可达,再检查 yaml 缩进是否正确。最快的验证方法是把 dns 段临时删掉重载,能连上就是配置问题,连不上就与 DNS 无关。

Q机场为什么有些节点不能看流媒体?

一种情况是流媒体域名被 fake-ip-filter 或 nameserver-policy 分到了国内 DNS 解析,解析地区与出口 IP 不一致。检查这两个字段里有没有误匹配流媒体域名的通配规则,把它们移出即可。

参考资料与信息来源

  • Mihomo 文档:DNS 配置项说明 · enhanced-mode、nameserver-policy、fallback-filter 的字段定义
  • Clash Verge Rev 文档:配置覆写与 Merge · 覆写区域的写法与生效顺序