Clash DNS 设置怎么改才能减少解析失败
简答:先不要盲目更换 DNS:先确认是 DNS 解析失败,而不是节点、规则或 TUN 接管问题。通常可按“备份配置→只修改一个 DNS 字段→重启并清缓存→查询 A/AAAA 记录→查看日志”的顺序排查;不稳定 IPv6 时优先关闭 ipv6,fake-ip 兼容问题则临时切换为 redir-host。
定义:Clash DNS 设置是配置文件或客户端覆写中的 dns 区块,用来决定域名由哪些 DNS 服务器解析、是否使用 fake-ip、是否启用备用解析以及特殊域名如何分流。
先试这一步:按症状选择最小改动
如果只有少数网站打不开,先不要替换整份订阅配置。把当前配置备份一份,然后一次只改一个字段,重启 DNS 或 TUN 后再验证。mihomo 文档明确区分了 nameserver、fallback、nameserver-policy、proxy-server-nameserver 和 direct-nameserver 的用途,混在一起修改会增加定位难度。参考:mihomo DNS 配置文档。
| 提示或现象 | 先检查 | 下一步 |
|---|---|---|
| 所有域名都打不开 | 节点状态、Clash DNS 是否启用、TUN 是否接管 DNS | 先关闭 TUN,用系统代理测试;若恢复,重点检查 DNS 劫持和 DNS 覆写。 |
| 只有部分网站解析失败 | nameserver、fallback 和规则分流 | 先补一个可访问的备用 DNS,仍失败再加 nameserver-policy。 |
| 节点域名无法解析 | proxy-server-nameserver 或节点域名本身 | 为节点域名解析单独指定可用 DNS,不要只改普通网站的解析服务器。 |
| 开启 TUN 后断网 | DNS Hijack、系统 DNS 是否被覆写、fake-ip 兼容性 | 关闭 DNS Overwrite 或 TUN 做对照测试,再查看运行日志。 |
| 局域网、打印机或内网域名打不开 | fake-ip-filter、use-hosts 和本地 DNS | 将局域网后缀加入过滤列表,或为内网域名配置 nameserver-policy。 |
Clash DNS 的关键字段怎么改
enable:设为 true 才使用 mihomo 内置 DNS;设为 false 时会使用系统 DNS。若你不确定客户端是否已经接管 DNS,可先关闭它做对照测试。
enhanced-mode:常见值为 fake-ip 和 redir-host。fake-ip 会为域名返回虚拟地址,通常便于规则匹配;redir-host 返回真实解析结果,某些局域网、游戏、旧版应用或需要真实 IP 的场景可能更容易兼容。mihomo 文档将两者列为 DNS 处理模式,默认行为以当前内核和客户端为准。参考:mihomo DNS 配置文档。
nameserver:普通域名的主要解析服务器。fallback:备用解析服务器,不代表一定会绕过规则或自动解决所有污染、超时问题。fallback-filter:用于限制哪些结果或域名使用备用解析,不能简单理解为“越多越快”。
nameserver-policy:按域名或规则集指定解析服务器,优先级高于普通的 nameserver 和 fallback 查询。局域网域名、特定后缀或需要本地解析的域名,适合用它单独处理。
proxy-server-nameserver:只用于解析代理节点域名;如果节点使用域名而不是 IP,普通网站解析正常但节点仍无法连接,应优先检查这一项。direct-nameserver 则用于直连出口的域名解析。
ipv6:如果当前网络没有稳定 IPv6,但 DNS 返回 AAAA 记录后应用优先尝试 IPv6,可能出现打开慢、超时或部分网站失败。可先设为 false 做对照;mihomo 文档说明,关闭后 AAAA 查询会返回空结果。
一份可回滚的最小配置示例
下面只展示需要关注的 DNS 区块,不建议直接覆盖整份订阅配置。地址只是示例,必须替换为你当前网络能够访问、且来源明确的 DNS;不要因为某个地址常见就默认它适合你的网络。
dns:
enable: true
ipv6: false
enhanced-mode: redir-host
nameserver:
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
fallback:
- tls://1.1.1.1:853
- tls://8.8.4.4:853
fake-ip-filter:
- '*.lan'
- '*.local'
nameserver-policy:
'+.lan': 192.168.1.1
这份示例的目的不是给出“万能 DNS”,而是提供一个便于回滚的测试基线:先用 redir-host 判断是否为 fake-ip 兼容问题,再视结果决定是否恢复 fake-ip。如果你的路由器地址不是 192.168.1.1,不要照抄该值;局域网 DNS 应以实际网关或内部 DNS 地址为准。
如果客户端提供图形化 DNS 覆写功能,注意它可能覆盖订阅中的自定义 DNS。Clash Verge Rev 的界面字段包含 DNS 启用、增强模式、IPv6、nameserver、fallback、代理节点 DNS、直连 DNS 和 nameserver-policy 等选项,同时对 DNS 覆写可能替换订阅配置作出提示。参考:Clash Verge Rev 当前设置字段。
按客户端与网络状态验证修改是否有效
- 先确认配置被加载:保存后重新载入当前配置,检查日志中是否出现 YAML 格式错误、重复字段或 DNS 启动失败。
- 分开查询 A 和 AAAA:Windows 可分别运行
nslookup -type=A example.com 1.1.1.1和nslookup -type=AAAA example.com 1.1.1.1;macOS 或 Linux 可分别运行dig A example.com @1.1.1.1与dig AAAA example.com @1.1.1.1。这里的域名和 DNS 地址仅用于测试示例。 - 比较系统代理与 TUN:先只开启系统代理访问同一域名,再开启 TUN 重试。如果只有 TUN 失败,重点检查 DNS Hijack、系统 DNS 覆写、路由排除和 fake-ip。
- 清理缓存并重启:修改 DNS 后重启 Clash 内核或客户端;操作系统、浏览器和应用自身可能还有 DNS 缓存,单次失败不能直接证明上游 DNS 不可用。
- 查看解析结果类型:在 fake-ip 模式下,返回
198.18.0.0/16一类地址可能是预期行为;不要仅凭“不是网站真实 IP”判断配置失败,应结合访问结果、日志和模式判断。
如果修改后更糟,立即恢复备份,或删除新增的单个字段后重新载入。不要同时更换 DNS、切换 fake-ip、开启 IPv6 和修改规则,否则无法知道究竟是哪项变化产生影响。
常见报错与处理顺序
- DNS configuration error:先检查缩进、冒号、列表短横线和重复的
dns:区块;YAML 中同级字段重复时,客户端可能报错或只保留一部分。 - 节点连接失败但普通网站可打开:检查
proxy-server-nameserver,并确认节点域名没有被错误的nameserver-policy匹配。 - 局域网地址变成假 IP:把实际内网后缀加入
fake-ip-filter,并确认use-hosts或use-system-hosts是否符合你的环境。 - 只有 IPv6 网络路径失败:临时将
ipv6设为false,重新查询 AAAA 并测试;如果问题消失,再单独检查 IPv6 路由,而不是继续增加 DNS。 - 浏览器能打开、其他应用打不开:检查浏览器自己的安全 DNS、应用内 DNS、系统代理与 TUN 是否同时接管,避免多个解析器相互覆盖。
安全提醒与回滚清单
DNS 地址、DoH/DoT 域名和节点域名都可能需要先解析自身;如果你把唯一的解析路径改成当前网络无法访问的服务,可能出现“DNS 本身无法解析”的循环故障。因此建议保留一个可用的系统或本地 DNS 作为回退路径,并避免无条件复制境外 DNS 地址。
- 修改前导出或复制当前配置。
- 只保留一个
dns:区块,避免重复粘贴。 - 一次只改一个变量,并记录改动。
- 先关闭 TUN 做对照,再决定是否启用 DNS 劫持。
- 无法确认字段归属时,以当前 mihomo 文档和客户端配置界面为准。
本文站点属于独立资料页面,不代表任一客户端项目的官网;配置字段以当前客户端所使用的内核和文档为准。
常见问题
Clash DNS 设置改完后需要重启吗?
通常需要重新载入配置,并重启 Clash 内核、TUN 或客户端服务。随后还应清理浏览器和系统 DNS 缓存,否则旧结果可能继续生效。
nameserver 和 fallback 可以随便填很多个吗?
不建议。地址越多不一定越稳定,可能增加超时和结果不一致。先保留少量、当前网络可访问的解析服务器,确认问题后再增加备用项。
fake-ip 一定比 redir-host 更好吗?
不是。fake-ip 便于部分规则匹配,但局域网、游戏、旧应用或需要真实地址的场景可能需要 redir-host 或 fake-ip-filter。应根据实际症状做对照测试。
为什么 DNS 正常,节点还是连不上?
普通网站使用的解析路径与代理节点域名解析路径可能不同。检查 proxy-server-nameserver、节点域名、节点端口和规则,不要只反复更换 nameserver。
开启 IPv6 会让解析更快吗?
不一定。如果网络没有稳定 IPv6,AAAA 记录可能导致应用尝试不可达路径。可先关闭 ipv6 做对照,确认问题是否与 IPv6 有关。
能不能直接把网上的完整 YAML 粘贴进订阅?
不建议。完整配置可能覆盖端口、规则、代理组或其他客户端字段。更安全的做法是备份后只合并一个 dns 区块,并确认当前内核支持这些字段。
DNS Overwrite 和配置文件里的 dns 有什么区别?
配置文件中的 dns 属于运行配置;客户端的 DNS Overwrite 通常是界面层的覆写设置,可能替换订阅中的同名字段。若两者冲突,应查看客户端提示和最终生成的运行配置。