Clash DNS 配置教程:Fake-IP、分流与解析失败排查
简答:Clash DNS 配置适合已导入配置但遇到解析失败、分流异常或 Fake-IP 兼容问题的用户;先判断症状,再合并一个 dns 段,最后用日志和域名测试确认结果。
定义:Clash DNS 配置是客户端接管域名解析、选择解析模式并按域名或规则指定 DNS 服务器的一组配置。
先看结论:Clash DNS 配置应该怎么选
不要因为网页打不开就直接替换所有 DNS。先区分是域名解析失败、规则分流错误、节点连接失败,还是 TUN、IPv6 或局域网兼容问题。Mihomo 文档将 enhanced-mode 定义为 DNS 处理模式,支持 fake-ip 和 redir-host;nameserver-policy 则用于按域名或规则指定解析服务器。详见Mihomo DNS 配置文档。
| 遇到的现象 | 优先检查 | 建议方案 |
|---|---|---|
| 大多数网站都打不开 | dns.enable、nameserver、配置格式 | 先回退到系统 DNS 或最小配置,再逐项增加设置 |
| 部分域名能打开,部分域名解析失败 | nameserver-policy、fallback、域名匹配写法 | 先保留一个主 DNS,再按域名增加策略 |
| 代理规则命中异常或流媒体识别不正常 | fake-ip、规则顺序、Fake-IP 例外 | 比较 fake-ip 与 redir-host,不要同时重复创建多个 DNS 段 |
| 局域网设备、打印机或内网域名无法访问 | fake-ip-filter、局域网域名和路由 | 为局域网域名加入例外,并确认直连规则存在 |
| 只有节点域名无法解析 | proxy-server-nameserver | 为节点服务器域名提供独立的解析路径,避免 DNS 与节点解析互相依赖 |
快速判断:如果关闭 Clash 后系统 DNS 也无法解析,问题不一定在 Clash;如果只有开启 Fake-IP 后局域网或特定应用异常,先检查 fake-ip-filter,不要直接修改所有上游 DNS。
Clash DNS 配置中的关键字段
enable: true 表示启用 Clash 的 DNS 模块;关闭后使用系统 DNS。ipv6: false 会让 AAAA 查询返回空结果,因此只有在确认 IPv6 路径导致连接异常时才建议关闭。相关字段定义可参考Mihomo DNS 字段说明。
enhanced-mode:fake-ip为域名分配虚拟地址,通常便于规则和 TUN 处理;redir-host返回解析得到的真实地址,部分局域网、游戏或特殊应用兼容性更直观。fake-ip-range:设置 Fake-IP 地址池。官方示例使用198.18.0.1/16,不要把它改成与本地局域网、办公网或 VPN 网段冲突的地址。default-nameserver:用于解析 DNS 服务器自身的域名。若这里配置的服务器地址是域名,可能形成启动阶段的循环依赖,因此优先使用可直接访问的 IP 或确保有独立解析路径。nameserver:主要 DNS 服务器,负责常规域名解析,可使用 UDP、TCP、DoT、DoH 或 DoQ 等格式,具体格式以当前内核文档为准。fallback:备用解析服务器。配置后通常会结合fallback-filter判断是否采用备用结果。fallback-filter:可按国家代码、IP 网段或域名过滤结果。官方文档说明,fallback-filter.geosite已被标记为弃用,新的配置应优先考虑nameserver-policy。nameserver-policy:按域名、域名后缀或规则集合指定 DNS,是更适合维护分流解析的字段。proxy-server-nameserver:专门用于解析节点服务器域名。Mihomo 文档指出,启用按规则解析时应配置它,以避免解析节点域名时出现循环依赖。fake-ip-filter:列出不使用 Fake-IP 映射的域名或匹配项,适合处理局域网、主机发现、时间同步和部分特殊应用。
最小可用 Clash DNS 配置:先从这一版开始
下面是便于排错的最小结构,不代表所有地区都应使用相同 DNS。示例字段和写法依据Mihomo 官方配置示例整理。将它合并到当前配置时,只保留一个顶层 dns:,不要在文件末尾再创建第二个同名段。
dns:enable: trueipv6: falseenhanced-mode: fake-ipfake-ip-range: 198.18.0.1/16fake-ip-filter:- '*.lan'- '*.local'- localhostdefault-nameserver:- 223.5.5.5nameserver:- https://doh.pub/dns-query- https://dns.alidns.com/dns-queryproxy-server-nameserver:- https://doh.pub/dns-query
这套配置的用途是先确认 DNS 模块、Fake-IP 和节点域名解析都能工作。若某个 DoH 地址在你的网络环境中不可达,应替换为能够正常连接的 DNS 服务,而不是继续叠加更多服务器。
合并步骤:
- 备份当前订阅配置或复制一份本地配置文件。
- 在当前生效配置中搜索
dns:,如果已有该段,只修改对应字段,不要重复创建。 - 先只加入
enable、enhanced-mode、fake-ip-range、nameserver和proxy-server-nameserver。 - 保存后使用客户端的配置校验或重新载入功能;如果内核无法启动,立即恢复备份。
- 确认基础配置正常后,再增加
nameserver-policy、fallback或更多 Fake-IP 例外。
Fake-IP 与 Redir-Host 怎么选
| 模式 | 工作方式 | 适合场景 | 常见代价 |
|---|---|---|---|
fake-ip | 为域名返回 Fake-IP,并由客户端保存域名与虚拟地址的对应关系 | 需要规则分流、TUN 接管或希望减少重复解析的场景 | 局域网、设备发现、部分游戏或特殊应用可能需要加入例外 |
redir-host | 返回 DNS 解析得到的真实地址 | 更看重传统 DNS 行为、局域网兼容性或排查真实解析结果 | 可能更依赖 DNS 结果与规则匹配,特定场景下分流表现不同 |
如果你只是普通网页访问,先使用客户端默认模式并记录问题表现;如果 TUN 开启后出现域名规则不命中、应用连接地址异常,再测试另一种模式。切换模式后应清理或重建 DNS 缓存,避免旧的 Fake-IP 映射影响判断。
Fake-IP 例外应尽量按症状添加,不要把大量域名全部加入过滤列表。常见思路是先处理 *.lan、*.local、局域网主机名和明确无法兼容的应用域名,再逐项验证。
分流解析:nameserver-policy 怎么写
nameserver-policy 的作用是让不同域名使用不同的解析服务器。官方示例展示了域名后缀和规则集合写法,例如 +.arpa 或 rule-set:cn。具体规则集合是否存在、名称是否可用,取决于你的配置和规则数据,不能直接照搬其他订阅。
- 按单个域名:
www.example.com: 10.0.0.1。 - 按域名后缀:
+.example.com可匹配该后缀下的域名。 - 按规则集合:
rule-set:cn这类写法需要配置中已经存在对应规则集合。
排查时建议只添加一条策略,例如先为一个明确异常的域名指定 DNS,然后重新测试。若策略没有生效,检查缩进、键名、规则集合名称和缓存,而不是一次加入多个地区 DNS。
官方 DNS 解析流程图说明,域名规则、nameserver-policy、nameserver、fallback 和直连重解析之间存在先后关系。需要理解完整流程时,可查看Mihomo DNS 解析流程图。
DNS 配置验证:从客户端到命令行逐层检查
- 先看配置是否加载:在客户端的配置管理或日志面板中重新载入当前配置,确认没有 YAML 缩进、重复字段或未知字段错误。不要只看系统托盘图标是否显示运行。
- 再看 DNS 请求:打开客户端日志面板,搜索域名、DNS、Fake-IP、fallback 或 resolve 等关键词。若使用 Linux 服务运行 Mihomo,可在 PowerShell 以外的 Linux 终端执行
journalctl -u mihomo -o cat -e查看服务日志;官方服务文档给出了该日志路径和命令。 - 检查节点域名:如果普通域名能解析,但订阅节点无法连接,优先检查
proxy-server-nameserver,不要先改规则。 - 检查 Fake-IP:分别测试一个普通公网域名、一个局域网域名和一个明确需要直连的域名,观察是否只有局域网域名异常。
- 检查策略命中:一次只测试一个域名,并暂时减少
nameserver-policy条目。策略越多,越难判断到底是哪一条生效。 - 最后检查 IPv6:如果只有部分 IPv6 网络下访问失败,可临时将
ipv6设为false做对照;如果问题消失,再单独检查 IPv6 路由、TUN 和上游 DNS,而不是把关闭 IPv6 当成永久结论。
命令行测试只能辅助判断,系统自带 DNS、Clash DNS 和客户端订阅请求的行为可能不同。验证时应以客户端实际生效配置、日志和同一域名的多次结果为准,并避免在日志或命令输出中公开订阅链接、Cookie 和 token。
常见故障与回退方法
- 启动时报 DNS 配置错误:恢复备份,检查缩进、列表短横线、冒号和重复的
dns:段。先删除新增的fallback和nameserver-policy,用最小配置确认内核能启动。 - 开启 Fake-IP 后局域网失效:将局域网域名加入
fake-ip-filter,同时确认局域网地址没有被代理规则捕获。 - 只有某些国外域名解析异常:检查
nameserver-policy是否匹配、DoH 地址是否可访问,以及fallback-filter是否把结果判定为需要备用解析。 - 节点无法连接但网页直连正常:检查节点服务器域名的解析路径,补充或调整
proxy-server-nameserver,并查看客户端日志中的解析错误。 - 配置改完后所有连接变慢:暂时减少 DNS 服务器数量,关闭不必要的
fallback或 DoH/HTTP3 选项,比较单一 DNS 与复杂配置的差异。
如果回退到原配置后恢复,说明新增 DNS 配置与当前客户端、规则或网络环境存在兼容问题。此时应保留能复现问题的最小配置,再逐项添加设置。
最后核对清单
- 当前配置只有一个顶层
dns:。 enhanced-mode只选择了fake-ip或redir-host。- Fake-IP 地址池没有与局域网、办公网或 VPN 网段冲突。
- 节点域名有独立的
proxy-server-nameserver解析路径,或已确认不需要。 nameserver-policy中的域名、后缀和规则集合名称确实存在。- 局域网域名、特殊应用和 IPv6 问题都经过单独对照测试。
- 修改后查看过客户端日志,而不是只根据网页能否打开判断。
- 保留原配置备份,确认新配置稳定后再继续增加规则。
如果你需要先排除节点本身、规则匹配和连接超时问题,可继续查看站内的代理连接失败排查流程;需要做 IP、DNS 或连通性检查时,可使用网络工具与连接检测页面。
常见问题
Clash DNS 配置一定要改吗?
不一定。系统 DNS 和客户端默认配置正常时,不建议为了所谓防污染或提速盲目替换。只有出现可复现的解析失败、分流异常、Fake-IP 兼容问题或节点域名无法解析时,才应按症状修改,并保留原配置用于回退。
Fake-IP 和 Redir-Host 哪个更好?
没有适用于所有设备的固定答案。Fake-IP 更适合需要规则分流或 TUN 接管的场景,但局域网和特殊应用可能需要例外;Redir-Host 更接近传统 DNS 行为,适合先排查真实解析结果。应使用同一域名、同一节点和同一时间条件进行对照。
Clash DNS 配置中的 nameserver 和 nameserver-policy 有什么区别?
<code>nameserver</code> 是常规默认解析服务器;<code>nameserver-policy</code> 按域名、后缀或规则集合指定解析服务器。前者负责通用解析,后者负责更细的分流解析。策略没有命中时,通常仍会回到默认解析路径。
为什么配置了 DoH,节点还是连接不上?
DoH 只解决 DNS 请求路径,不等于节点连接一定正常。先检查节点服务器域名是否能解析,再检查 <code>proxy-server-nameserver</code>、节点端口、规则和客户端日志。若普通网页直连正常而节点域名失败,优先处理节点域名解析链路。
Clash DNS 配置改错后怎么恢复?
关闭客户端或停用当前配置,恢复修改前的配置文件或订阅版本,再重新载入。恢复后只添加 <code>enable</code>、<code>enhanced-mode</code> 和一个 <code>nameserver</code>,确认能启动后再逐项增加 Fake-IP 例外、策略和 fallback。