Starway星途VPN - 访问海外网络加速 | 全球网络加速服务

Mihomo DNS 设置:先复制最小配置,再排查解析与 TUN 问题

更新于 2026-10-27 · xingtu.buzz

简答:如果 Mihomo 配置能载入但网页打不开、TUN 开启后断网,或节点域名无法解析,先备份配置,只添加一个缩进正确的 dns 配置块。完成“编辑配置—校验 YAML—重新载入—查看日志—验证业务”后,再逐项测试 Fake-IP、分流和 TUN,不要一次修改多个变量。

定义:Mihomo DNS 设置是通过配置文件中的 dns 区块指定 DNS 监听地址、上游解析服务器、Fake-IP 或 redir-host 模式,以及不同域名的解析策略。

先看这里:新手只需完成 3 步

如果你只是想让 Mihomo 先正常解析域名,优先完成以下三步:第一,备份当前 YAML;第二,加入下方最小配置;第三,校验、重新载入并查看日志。Fake-IP 分流、TUN 劫持、DNS 缓存和节点域名解析属于进阶项,建议确认基础配置正常后再调整。

  1. 在 Mihomo 客户端中找到当前生效的配置文件,菜单名称通常可搜索“配置”“Profiles”“编辑配置”或“Edit”。
  2. 确认配置中只有一个顶级 dns:,且所有 DNS 子项都比 dns: 多两个空格缩进。
  3. 保存后使用客户端的 YAML 校验功能重新载入;如果客户端提供 API,再查看运行配置、日志和缓存状态。

本文是独立使用指南,不代表任何客户端或服务商的官方页面。不同图形客户端可能改变菜单名称,但 Mihomo 配置字段应以官方 DNS 配置文档为准。

最小可用配置:先解决缩进、监听和上游 DNS

必改前提:下面示例中的端口不能被其他程序占用;YAML 子项必须缩进两个空格;DoH、DoT 或 UDP 上游是否可达,需要结合你的当前网络验证。示例使用本机回环地址,适合桌面端先做本机测试,不把 DNS 监听暴露给局域网。

带注释版:

dns: enable: true listen: 127.0.0.1:1053 ipv6: false enhanced-mode: redir-host default-nameserver: - 223.5.5.5 - 1.1.1.1 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query

其中,enable 启用 Mihomo 内置 DNS;listen 指定 DNS 服务监听地址;default-nameserver 用于解析 DNS 服务器地址本身;nameserver 是普通域名解析的默认上游。官方文档说明,enhanced-mode 可选 fake-ip 或 redir-host,默认值为 redir-host;ipv6: false 会让 AAAA 查询返回空结果,因此依赖 IPv6 的网络不要盲目关闭它。参考Mihomo DNS 配置说明。

无注释版:

dns: enable: true listen: 127.0.0.1:1053 ipv6: false enhanced-mode: redir-host default-nameserver: - 223.5.5.5 - 1.1.1.1 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query

这份配置不是所有设备都必须完整照抄。Mihomo 文档提供了默认行为和示例,某些场景可以保留默认值;如果原配置已经包含 dns:,应在原区块内修改,而不是再添加第二个顶级区块。

修改后的固定流程:编辑、校验、载入、日志、业务验证

  1. 编辑配置:先复制原 YAML 作为备份,确认只保留一个 dns:。
  2. 保存并校验:优先使用客户端内置配置校验;若提示缩进错误,检查列表项前的空格、冒号后的空格和重复顶级字段。
  3. 重新载入:客户端通常会提供“重载配置”“Reload”或相近按钮。若使用 API,官方文档列出了 PUT /configs?force=true 重新载入运行配置。
  4. 查看日志:关注 DNS 超时、端口占用、no such host、节点域名解析失败和连接拒绝,不要只看客户端是否显示“运行中”。
  5. 验证业务:分别测试一个直连域名、一个代理域名和一个局域网域名;每次只改一个参数。

如客户端启用了外部控制器,可用 GET /configs 查看运行配置,用 POST /cache/dns/flush 清理 DNS 缓存,用 POST /cache/fakeip/flush 清理 Fake-IP 缓存。API 是否可用取决于客户端是否配置了控制器,控制器不要监听到公网。接口方法和返回状态见Mihomo API 文档。

nameserver、default-nameserver、fallback 怎么区分

字段主要职责调整建议
default-nameserver解析 DNS 服务器地址本身,官方文档要求其可使用 IP。DoH 或 DoT 上游使用域名、启动阶段无法解析时优先检查。
nameserver普通域名的默认解析服务器。最小配置优先确认它能正常返回结果。
fallback备用域名解析服务器。不要理解成主 DNS 一失败就必然立即切换;是否采用 fallback 结果还与 fallback-filter 等配置有关。
proxy-server-nameserver专门解析代理节点域名。节点地址是域名、开启 respect-rules 或日志显示节点域名失败时再配置。
direct-nameserver为直连出口指定域名解析服务器。只有需要让直连流量使用独立 DNS 时再添加。

官方文档说明,fallback 是备用解析服务器;启用后,fallback-filter 会根据地理位置、域名或 IP 结果判断是否采用备用结果。文档还标注旧式 fallback-filter.geosite 用法已不推荐,新的分流场景优先考虑 nameserver-policy。参考Mihomo DNS 字段说明。

Fake-IP 还是 redir-host:按兼容性选择

redir-host 返回真实解析结果,适合先做基础排错,也更容易观察应用实际连接的地址。Fake-IP 会为域名分配虚拟地址,通常适合需要 TUN 接管并希望规则继续按域名处理的场景,但局域网域名、打印机、内网面板和部分应用可能需要过滤。

如果你已确认基础 DNS 正常,再尝试:

dns: enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 fake-ip-filter-mode: blacklist fake-ip-filter: - '*.lan' - '*.local'

官方文档说明,fake-ip-filter 支持域名通配符,fake-ip-filter-mode 可选 blacklist、whitelist 或 rule。如果启用 Fake-IP 后局域网设备或某个应用异常,先改回 redir-host 做对照;若恢复正常,再只把必要域名加入过滤列表,不要同时修改 IPv6、TUN、MTU 和分流策略。相关字段见Mihomo DNS 文档。

nameserver-policy 分流:先做单条规则验证

nameserver-policy 用于为特定域名、通配域名或 geosite 指定解析服务器,官方文档说明其优先级高于普通 nameserver 和 fallback 查询。分流不应一开始写得很复杂,建议先验证一条明确规则:

dns: nameserver-policy: '+.example.com': - https://doh.pub/dns-query nameserver: - https://doh.pub/dns-query

将 example.com 替换为你实际要测试的域名后,重新载入并查看日志是否命中预期上游。若规则没有生效,检查通配符写法、配置缩进和当前客户端使用的内核版本;不要把一条分流规则的结果推广到所有域名。

TUN 开启后断网:先排 DNS 劫持和路由接管

TUN 会改变系统流量的接管方式,DNS 设置和路由设置需要分开验证。官方 TUN 文档列出了 dns-mode、dns-hijack、strict-route、mtu 等字段;因此不能只改 DNS 就断言问题一定来自上游解析。

  1. 先关闭 TUN,只保留系统代理,测试同一个网页。
  2. 如果系统代理正常,再开启 TUN,但暂时不要改 Fake-IP、IPv6、MTU 和路由排除项。
  3. 检查是否启用了 dns-hijack,以及监听端口是否被其他程序占用。
  4. 观察日志:DNS 请求进入但上游超时,优先查上游;请求根本没有进入 Mihomo,优先查系统代理、TUN 权限或路由。
  5. 确认后再逐项恢复 respect-rules、proxy-server-nameserver 和分流策略。

官方示例展示了 TUN 的 dns-hijack、strict-route 等字段,但具体可用值和行为可能受系统、客户端和内核版本影响,应以当前客户端所使用的 Mihomo 文档为准。参考Mihomo TUN 配置文档。

DNS 泄漏与解析异常:可执行的验证闭环

“网页能打开”不等于 DNS 路径已经符合预期。建议按下面方式做对照检查:

  1. 在 Mihomo 日志中记录测试域名的解析请求,确认请求是否进入 Mihomo。
  2. 关闭浏览器的 Secure DNS 或浏览器自定义 DNS,重新测试一次;如果结果改变,说明浏览器可能绕过了系统或 Mihomo 的 DNS 路径。
  3. 关闭 TUN、保留系统代理,再测试同一域名;之后恢复 TUN,比较日志和业务结果。
  4. 用一个普通公网域名、一个节点域名和一个局域网域名分别测试。
  5. 判断通过标准:配置能重新载入,日志没有持续的解析超时;节点域名能解析;局域网域名按预期访问;直连和代理域名的规则命中符合配置。

如果只有浏览器结果异常,先检查 Secure DNS;如果只有节点域名异常,检查 default-nameserver 和 proxy-server-nameserver;如果只有局域网异常,检查 Fake-IP 过滤和 hosts。不要通过单次网页访问结果断言不存在 DNS 泄漏。

Mihomo DNS 设置排错速查表

现象先查什么下一步
配置无法载入dns: 子项缩进、重复顶级区块、列表格式。恢复备份,只保留最小配置后重新校验。
所有域名都打不开监听端口、enable、系统代理和 TUN 接管状态。关闭 TUN,使用系统代理做单变量测试。
只有节点域名失败default-nameserver 与 proxy-server-nameserver。为节点域名设置独立解析上游,再看启动日志。
Fake-IP 后局域网打不开fake-ip-filter、*.lan、*.local 和 hosts。临时切换 redir-host,恢复后再添加必要过滤项。
TUN 开启后断网dns-mode、dns-hijack、权限、路由和端口冲突。先关闭 TUN,再逐项恢复,不要先改 MTU。
部分域名解析异常nameserver-policy、fallback-filter 和 IPv6。暂时移除分流,只保留一个上游进行对照测试。

发布前自查清单

  • 已备份原始配置,并准备好恢复方法。
  • 只有一个顶级 dns:,所有子项统一缩进两个空格。
  • listen 使用的端口没有被占用。
  • default-nameserver 能解析 DoH 或 DoT 上游地址。
  • 没有把 fallback 理解为无条件自动切换,必要时同步检查 fallback-filter。
  • 开启 respect-rules 时,已配置并验证 proxy-server-nameserver。
  • 使用 Fake-IP 时,已测试局域网域名和相关应用。
  • DNS 泄漏检查同时考虑系统 DNS、浏览器 Secure DNS、TUN 和 Mihomo 日志。
  • 修改后完成“编辑配置—校验—重新载入—看日志—验证业务”闭环。

常见问题

Mihomo DNS 设置在哪里修改?

通常修改当前生效 YAML 配置中的 dns 区块。图形客户端入口可能叫“配置、Profiles、编辑配置或 Edit”。修改前备份,保存后先校验 YAML,再重新载入并查看日志。

Mihomo DNS 最小配置必须写哪些字段?

没有一份配置适合所有场景。排错时通常先确认 dns.enable、listen 和 nameserver;如果上游使用域名,再检查 default-nameserver。其他字段应根据 Fake-IP、TUN、节点域名和分流需求逐项加入。

fallback 是不是 nameserver 失败后一定自动切换?

不是简单的无条件切换。fallback 是备用解析服务器,是否采用其结果还与 fallback-filter 的地理位置、域名或 IP 判断有关。具体行为应以当前 Mihomo 文档和实际日志为准。

Mihomo 应该使用 Fake-IP 还是 redir-host?

需要 TUN 接管和按域名处理规则时可以尝试 Fake-IP;局域网设备或应用兼容性异常时,先切换 redir-host 做对照。没有测试结果时,不应断言某一种模式适合所有设备。

开启 respect-rules 后为什么节点无法连接?

该选项会让 DNS 连接遵守路由规则,并要求配置 proxy-server-nameserver。若节点域名解析依赖自身代理,可能形成解析链路问题;可先关闭 respect-rules 做对照,再按日志补充节点专用解析。

DNS 配置后无法上网怎么办?

先恢复备份或只保留最小配置,关闭 TUN,确认系统代理可以访问;再查看端口占用、DNS 超时、no such host 和节点域名错误。之后一次只恢复一个变量:Fake-IP、fallback、nameserver-policy 或 TUN。

怎么判断浏览器是否绕过了 Mihomo DNS?

先在 Mihomo 日志中记录同一域名请求,再关闭浏览器 Secure DNS 重测;如果浏览器设置改变后结果或日志路径发生变化,就需要继续检查浏览器自定义 DNS、系统 DNS 与 TUN 劫持之间的差异。

相关阅读

参考资料

  1. Mihomo 官方 DNS 配置文档
  2. Mihomo 官方 DNS 类型说明
  3. Mihomo 官方 TUN 配置文档
  4. Mihomo 官方 API 文档