常见问题

macOS DNS 覆写开启后运行配置没有变化

区分主设置页的 DNS 覆写和弹窗中的启用 DNS,补齐 respect-rules 所需配置,核对合并优先级与最终运行结果。

更新于 2026年11月4日

本页目录

在 DNS 弹窗里开启「启用 DNS」并保存后,运行配置仍使用原有 DNS,先检查主设置页的「DNS 覆写」是否开启。这两个开关作用不同:一个设置内核的 DNS 功能,另一个决定是否将本地 DNS 设置合并到当前订阅。

涉及版本和现象

该问题涉及 macOS、Rev 2.5.8 和 Mihomo v1.19.32。反馈者原先在 DNS 齿轮弹窗中启用了 DNS,但当前订阅的覆写状态仍为关闭;因此保存成功后,本地 DNS 设置没有进入实际运行配置。

后续已由反馈者确认:打开主设置页的 DNS 覆写后,本地设置立即生效。另一个现象是在 Merge 中加入 respect-rules: true 后配置不可用,两者应分开处理。

打开真正控制覆写的开关

  1. 打开「设置 → Clash 设置」,找到「DNS 覆写」这一行。
  2. 启用该行的主开关。不要只打开齿轮弹窗中的「启用 DNS」。
  3. 如果当前订阅包含受保护的 DNS 字段,阅读确认弹窗,确定需要以本地设置接管后再继续。没有弹窗不必然是错误:该次反馈的订阅原文没有相应受保护字段。
  4. 从同一行齿轮进入 DNS 设置,确认需要的解析器配置并保存。
  5. 打开「当前配置」或「查看运行时订阅」,核对 dns.nameserver 是否与预期一致,再测试实际域名访问。

在这次反馈中,主开关切换后无需重启核心便生效。不要仅凭旧的 enable_dns_settings 字段判断当前订阅状态;新的逐订阅状态记录在 profile_dns_settings 中。

启用 respect-rules 时补齐节点域名解析

respect-rules 让 DNS 连接遵循路由规则,同时需要配置 proxy-server-nameserver。后者用于解析代理节点自身的域名,不能遗漏。

如需在订阅扩展覆写中设置,先按Merge 教程 备份已有内容,再在同一个 dns 对象内合并相应字段。下面是最小字段示例,解析器应选择本机网络可以直接访问的服务:

dns:
  respect-rules: true
  proxy-server-nameserver:
    - 223.5.5.5

它只补充这两个字段,不是一份完整订阅。若已有 dns 对象,在其中添加或调整,避免重复顶层键。通过应用内编辑器保存,出现校验错误时先按报错修正,不要直接覆盖磁盘文件绕过校验。

为什么 Merge 与最终值可能不同

开启 DNS 覆写后,DNS 设置页中已填写的字段优先于 Merge。比如页面中已有 proxy-server-nameserver,运行时可能保留页面的值,而非 Merge 示例中的地址。

nameserver-policy 也要核对完整内容:页面填写了该字段时会整体替换 Merge 中对应的表;留空则保留 Merge 的设置。保存后应检查最终配置,不能仅以编辑器中的文字判断实际生效值。

出现解析失败时撤回

先恢复本次修改前的 Merge,或者撤回刚新增的 respect-rules,再确认内核校验通过、节点与网页恢复。需要撤回本地 DNS 接管时,关闭主设置页的「DNS 覆写」,并检查订阅原有 DNS 是否重新进入运行配置。

原反馈者补全配置后确认恢复。维护者将配置校验失败与回退联系起来;具体机器若出现整段 DNS、代理节点或规则缺失,仍应保留日志确认实际回退过程,不能将所有 DNS 段为空都归结为同一个原因。

订阅变更后的开关状态

2.5.10 另行修复了订阅 DNS 配置变化后,覆写实际已关闭、界面却仍显示开启且没有提示的问题。遇到这类状态不一致时可升级后重新核对;它与齿轮弹窗中「启用 DNS」和主设置页「DNS 覆写」混淆是两种不同情况。

当前进展

该问题已关闭,覆写开关混淆及 respect-rules 的依赖项均已得到明确处理,不需要等待新稳定版才能按上述步骤调整。详细的 DNS 字段与验证方法见DNS 配置教程 。

参考:GitHub Issue #8431 、Mihomo DNS 文档 。