Nexitally

Mihomo DNS 怎么设置才能解决无法连接?

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

简答:Mihomo 无法连接时,先判断失败的是订阅域名、节点域名还是目标网站,再配置对应 DNS 字段。排障可先使用最小配置:启用 DNS、设置 nameserver 和 proxy-server-nameserver,暂时关闭 IPv6 与 TUN;确认日志恢复后,再逐项启用 Fake-IP、规则 DNS 和 TUN。若日志显示节点已过期、协议参数错误或端口冲突,DNS 设置无法修复这些问题。

定义:Mihomo DNS 配置是内核用于解析 DNS 服务器、代理节点域名、直连域名和目标网站域名的一组参数,常见字段包括 default-nameserver、nameserver、fallback、proxy-server-nameserver 与 direct-nameserver。

先试这一步:恢复到最小 DNS 配置

如果你已经导入配置但出现网页打不开、节点连接失败或日志中的 dns resolve failed,先备份当前配置,再只修改 dns 区块。下面的模板参考了 Mihomo DNS 官方配置说明中的字段含义,示例地址只是配置示例,不代表任何 DNS 在所有网络环境下都一定可用。

最小配置中各字段的用途
字段用途先怎么处理
default-nameserver解析 DNS 服务器自身的域名填写 IP 地址,避免解析加密 DNS 时再次依赖域名解析
nameserver普通域名的默认解析服务器先保留 1—2 个可访问的 DNS,避免配置过于复杂
fallback备用解析服务器只有确认需要备用结果时再启用
proxy-server-nameserver只负责解析代理节点域名节点域名解析失败时优先检查这一项
direct-nameserver直连出口使用的解析服务器直连域名异常时再增加,不要一开始同时改多个字段

可先粘贴下面的无注释配置,然后保存并重新载入。若你的网络无法访问示例中的加密 DNS,请把它们替换为当前网络可用、且你能核验来源的 DNS 服务。

dns: enable: true ipv6: false enhanced-mode: redir-host default-nameserver: - 223.5.5.5 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query proxy-server-nameserver: - https://doh.pub/dns-query

这份配置暂时不启用 respect-rules、prefer-h3、复杂的 nameserver-policy 和 TUN 劫持,目的是先判断基础解析是否正常。官方文档明确说明,启用 respect-rules 时需要配置 proxy-server-nameserver,并不建议与 prefer-h3 一起使用,可参考DNS 字段说明核对兼容关系。

按失败对象判断:该改哪个 DNS 字段

日志与配置字段速查
现象或日志优先检查下一步
订阅链接打不开或更新失败系统 DNS、网络连接、订阅地址本身先在浏览器或命令行确认订阅域名能否解析;不要把它当作节点 DNS 问题
节点域名出现 no such host、dns resolve failedproxy-server-nameserver为节点域名提供独立解析;确认域名拼写、订阅是否过期,再重新载入
节点已建立连接,但目标网站打不开nameserver、fallback、规则和 Fake-IP先切换到 redir-host,关闭复杂规则 DNS,查看请求是否命中代理组
日志显示 timeoutDNS 上游可达性、TUN 路由、IPv6临时关闭 TUN 与 IPv6,单独测试普通 DNS;恢复后一次只启用一个选项
connection refused 或端口占用本地监听端口、客户端进程、系统代理检查端口是否被其他程序占用;这通常不是更换 DNS 能解决的问题

判断原则:节点域名解析失败,先看 proxy-server-nameserver;普通目标域名解析失败,先看 nameserver 和 fallback;如果 DNS 查询已经成功但代理仍连接失败,应转向节点有效期、协议参数、端口和规则排查。

完成编辑后按固定顺序操作:备份配置 → 编辑 dns → 保存 → 使用客户端的配置校验功能 → 重新载入 → 查看日志 → 访问一个可确认结果的网页。每次只改一个变量,并记录改动前后的日志关键词。

Fake-IP、redir-host、IPv6:先用稳定模式验证

Mihomo 的 enhanced-mode 可使用 fake-ip 或 redir-host。官方文档说明,Fake-IP 会为域名返回 Fake-IP 映射,fake-ip-filter 可让匹配的局域网或特殊域名不使用 Fake-IP;如果刚开启 Fake-IP 后出现局域网访问、应用登录或部分域名异常,先改回 redir-host 验证。

排障时可以使用下面的逐步方案:

  1. 先设置 enhanced-mode: redir-host,保留 ipv6: false。
  2. 确认普通网页和节点连接恢复后,再单独改为 fake-ip。
  3. 如果 Fake-IP 导致局域网设备异常,再增加与你局域网实际域名匹配的 fake-ip-filter,例如 *.lan;不要无依据地把大量域名加入过滤列表。
  4. 如果开启 IPv6 后出现连接超时或部分应用打不开,暂时保留 ipv6: false,确认 IPv4 路径正常后再测试 IPv6。

不要把 fake-ip、respect-rules、prefer-h3 和 TUN 一次全部打开。这样即使故障出现,也很难判断是解析模式、规则回环、HTTP/3 连接还是路由接管导致的。

开启 TUN 后无法连接:检查 DNS 模式和权限

TUN 不只是“开关代理”,还可能接管系统路由和 DNS。根据 Mihomo TUN 官方文档,dns-mode 有 disabled、native 和 hijack 三种行为;hijack 会在 native 基础上拦截其他网卡发往 53 端口的 DNS 请求。Windows 使用 DNS 劫持时需要配合 strict-route,Linux 使用自动重定向时需要配合 auto-redirect。

建议按以下顺序验证:

  1. 先关闭 TUN,只保留系统代理或客户端的普通代理模式,测试节点和网页是否恢复。
  2. 如果关闭 TUN 后恢复,重新开启 TUN 时先使用 auto-route: true、auto-detect-interface: true,不要同时改 MTU。
  3. Windows 检查 strict-route 和防火墙是否允许 Mihomo 内核;macOS 注意 TUN 网卡名称需符合系统要求;Android 检查“私人 DNS”,官方文档说明开启私人 DNS 时无法自动劫持 DNS 请求。
  4. 查看日志是否出现 DNS 请求、规则命中和代理连接三类记录。只有 DNS 成功、规则命中正确、节点连接建立后,才说明 TUN 路径基本正常。

如果 TUN 开启后完全断网,撤销方法是关闭 TUN、恢复备份配置、重新载入,再检查系统代理和 DNS 是否被遗留设置接管。

Windows、macOS、Android 的验证方法

Windows:打开 PowerShell,执行 nslookup example.com,观察是否返回地址和 DNS 服务器信息。若命令本身超时,先关闭 TUN,再测试系统网络;若系统解析正常而 Mihomo 日志仍报节点域名失败,重点检查 proxy-server-nameserver。

macOS:打开“终端”,执行 dig example.com。如果返回状态正常但客户端请求仍失败,检查是否启用了错误的系统代理、TUN 网卡或规则;macOS 默认情况下 TUN 的 DNS 模式行为与 Windows、Linux 不完全相同,应按官方 TUN 文档核对。

Android:先关闭“私人 DNS”或设为自动,再测试 Mihomo 的 TUN;官方文档说明,Android 开启私人 DNS 时无法自动劫持 DNS 请求。若关闭后恢复,说明问题集中在系统 DNS 接管层,而不一定是节点失效。

验证闭环应至少包含:客户端日志没有新的 DNS 解析错误;节点域名可以解析;请求命中了预期规则或代理组;浏览器能够打开目标网页;关闭 TUN 后系统网络仍能恢复。若只有某一个应用失败,还要检查该应用是否启用了独立的 Secure DNS 或自身代理。

哪些问题不是 DNS 能解决的

DNS 只能处理域名解析链路,不能修复订阅失效、节点过期、协议类型或密码错误、端口冲突、规则误拦截、服务端不可用、套餐权限或设备限制。出现这些情况时,即使 nslookup 或 dig 正常,Mihomo 仍可能无法连接。

  • 订阅更新失败:核对账户后台中的订阅地址、有效期和返回内容。
  • 所有节点同时失败:检查配置是否完整、代理组是否有可用节点、系统时间是否正确。
  • 单个节点失败:检查节点域名、端口、协议参数和该节点状态。
  • 只有一个网站失败:检查规则命中、目标域名解析和 Fake-IP 过滤。
  • 开启 TUN 才失败:优先检查权限、DNS 劫持、严格路由和防火墙。

本文是第三方使用指南,不代表任何客户端或服务品牌的官方说明;品牌服务的订阅、状态和账户规则应以你当前登录的账户后台及其官方信息为准。

常见问题

Mihomo 的 nameserver 和 proxy-server-nameserver 有什么区别?

nameserver 用于普通域名解析,proxy-server-nameserver 专门用于代理节点域名解析。节点域名出现 no such host 时,应优先检查后者;目标网站打不开但节点已经连上时,再检查 nameserver、fallback 和规则。

Mihomo 一定要开启 fake-ip 才能连接吗?

不一定。Fake-IP 和 redir-host 都是 Mihomo 支持的 DNS 处理模式。排障时可先使用 redir-host 建立最小变量环境,确认基础连接后再测试 fake-ip;局域网或特定应用异常时,还要检查 fake-ip-filter。

为什么开启 TUN 后反而无法上网?

TUN 会影响路由和 DNS 接管。应先关闭 TUN确认普通代理是否正常,再检查 dns-mode、dns-hijack、strict-route、auto-route、系统权限、防火墙和 Android 私人 DNS。官方文档指出,Android 开启私人 DNS 时无法自动劫持 DNS 请求。

respect-rules 可以直接打开吗?

不建议直接打开后再排查其他问题。Mihomo 官方文档说明,respect-rules 需要配置 proxy-server-nameserver,并且不建议与 prefer-h3 一起使用。应先完成基础 DNS 验证,再单独启用并查看日志。

DNS 正常但节点仍然连接失败怎么办?

检查节点是否过期、订阅是否失效、协议参数和端口是否正确、代理组是否选择了可用节点,以及本地端口是否冲突。这些问题不属于 DNS 能修复的范围。

相关阅读

参考资料

  1. Mihomo 官方文档:DNS 配置
  2. Mihomo 官方文档:TUN 配置