IDCNLink - 全球网络加速服务商 - 机场

Mihomo Fake-IP 怎么关闭?改为 redir-host 的步骤与排查

更新于 2026-11-10 · idcnlink.online

简答:要关闭 Mihomo 的 Fake-IP,通常不是关闭整个 DNS,而是把 dns.enhanced-mode: fake-ip 改成 dns.enhanced-mode: redir-host,然后校验配置、重载或重启核心,并清理 Fake-IP 与 DNS 缓存。若只有局域网或个别应用异常,优先使用 fake-ip-filter,不必全局关闭。

定义:Mihomo 的 Fake-IP 是一种 DNS 增强模式:对域名返回配置地址池中的虚拟 IP,再由 Mihomo 根据映射转发;关闭它通常意味着把 enhanced-mode 改为 redir-host。

先试这一步:确认你要关的是 Fake-IP,而不是整个 DNS

如果你看到解析结果落在 198.18.0.0/16 一类地址中,这通常对应 Mihomo 配置中的 fake-ip-range,它不是目标网站或服务器的真实公网地址。Mihomo 文档将 fake-ip 和 redir-host列为 dns.enhanced-mode 的可选值;其中 Fake-IP 使用地址池保存域名与虚拟地址之间的映射。查看 Mihomo DNS 配置说明

先区分以下三件事:

你想解决的问题应先检查的配置是否需要关闭 Fake-IP
局域网设备、内网域名或投屏发现异常fake-ip-filter、局域网域名、TUN 路由通常不必全局关闭,先排除特定域名
某个应用无法登录或无法联网应用自身 DNS、系统代理、TUN、规则命中先做单应用或单域名对比测试
所有域名都不正常,且 DNS 请求没有按预期处理dns.enable、DNS 监听端口、dns-hijack仅切换模式可能不够,需要分层排查

关闭 Fake-IP 不等于关闭 Mihomo DNS,也不等于关闭 TUN。dns.enable: false 表示改用系统 DNS;而将 enhanced-mode 改为 redir-host,只是改变 Mihomo DNS 的处理模式。不要把这两个修改混在一起。

用 YAML 关闭 Fake-IP:把 enhanced-mode 改成 redir-host

先备份当前配置,再在实际生效的本地配置或本地覆写文件中找到 dns: 段。最小修改如下:

修改前:

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

修改后:

dns:
  enable: true
  enhanced-mode: redir-host
  fake-ip-range: 198.18.0.1/16

enhanced-mode 的有效值和 Fake-IP 过滤字段以当前 Mihomo 文档为准;改成 redir-host 后,fake-ip-range 不再是你关闭 Fake-IP 的关键开关,但可以暂时保留,避免误删其他配置。官方字段说明

  1. 关闭 Mihomo 客户端或暂停核心,避免编辑时被自动覆盖。
  2. 备份当前 YAML,至少保留修改前的 dns 段。
  3. 只修改 dns.enhanced-mode,不要同时删除 nameserver、nameserver-policy 或 proxy-server-nameserver。
  4. 保存后使用客户端提供的配置检查、应用、重载或重启功能。
  5. 如果客户端没有明显的“重载”按钮,完全退出并重新启动 Mihomo 核心。

不同客户端对配置文件的入口名称可能不同,常见查找范围包括“配置”“Profiles”“覆写”“高级设置”“DNS”“增强模式”或“Fake-IP”。无法确认某个界面是否保存本地修改时,不要直接改订阅原文,优先使用本地覆写或客户端提供的合并配置功能。

订阅更新后又变回 fake-ip,应该在哪里改?

如果你改完后重启或更新订阅,配置又恢复为 fake-ip,常见原因是你修改的是临时运行配置,或者订阅更新重新生成了 DNS 段。处理顺序如下:

  1. 先查看客户端当前运行配置,确认实际生效值,而不是只看下载到的订阅文本。
  2. 搜索当前配置中的 enhanced-mode,确认是否仍有多个配置文件或多个覆写层。
  3. 把修改放进客户端的本地覆写、配置合并或独立本地配置中,再重新应用。
  4. 更新订阅后再次检查运行配置;如果值又变成 fake-ip,说明订阅或合并层覆盖了本地设置。

不要为了关闭 Fake-IP 删除整个 dns: 区块,也不要把 dns.enable 改成 false 后直接判断问题已经解决。前者可能破坏其他 DNS 规则,后者会把解析交给系统 DNS,结果可能完全不同。

如果你使用外部控制器,也可以先读取运行配置确认实际状态;Mihomo API 文档列出了 /configs、重载配置以及清理 Fake-IP 和 DNS 缓存的接口。只有在你明确知道控制器地址和密钥时才执行 API 操作,不要复制他人的控制器地址或密钥。查看 Mihomo API 文档

修改后必须做的清理、重载与验证

配置成功应用后,旧的映射和旧连接可能仍然存在,因此建议按下面顺序处理:

  1. 在客户端执行配置重载;如果重载后状态不确定,重启 Mihomo 核心。
  2. 清理 Fake-IP 缓存和 DNS 缓存。Mihomo API 文档提供了 /cache/fakeip/flush 与 /cache/dns/flush 接口;图形客户端是否提供对应按钮,要以当前客户端界面为准。缓存接口说明
  3. 刷新操作系统 DNS 缓存。Windows 可在命令提示符执行 ipconfig /flushdns;macOS、Android、iOS 的具体方式可能随系统版本和客户端不同,优先使用系统或客户端提供的重连功能。
  4. 完全退出并重新打开出现问题的应用,避免它继续使用旧连接或应用自己的 DNS 缓存。
  5. 关闭后重新查询一个此前会返回虚拟地址的域名,观察结果是否不再落入配置的 Fake-IP 地址池。

验证时不要只看 nslookup 或 dig 的单次结果,因为本地缓存、浏览器 DoH、应用自带 DNS、系统代理和 TUN 接管方式都可能影响观察结果。更可靠的最小对比是:记录关闭前结果,应用配置后清理缓存,再在同一网络、同一域名、同一客户端下重复查询,并同时查看 Mihomo 日志或连接列表。

如果系统解析结果已经变化,但目标应用仍无法连接,问题不一定是 Fake-IP。继续检查应用自带 DNS、系统代理、TUN 是否启用、规则是否命中,以及 DNS 监听端口是否被其他程序占用。

TUN、dns-hijack 与 Fake-IP 到底是什么关系?

Fake-IP 属于 DNS 处理模式;TUN 属于流量接管方式;dns-hijack 是把匹配到的 DNS 连接导入 Mihomo 内部 DNS 模块。三者可以同时出现,但不是同一个开关。

配置或功能作用关闭 Fake-IP 后是否自动关闭
dns.enhanced-mode选择 fake-ip 或 redir-host DNS 处理模式不适用,改为 redir-host 即可切换模式
tun.enable启用 TUN 流量接管不会自动关闭
tun.dns-hijack将匹配的 DNS 连接导入内部 DNS不会自动关闭
tun.dns-mode控制系统 DNS 的设置或劫持方式不会自动改动

Mihomo 当前 TUN 文档将 dns-mode 的可选值列为 disabled、native 和 hijack,并说明 dns-hijack 用于把匹配连接导入内部 DNS;Windows、macOS 和 Android 对局域网 DNS、私人 DNS 或严格路由还有平台差异。查看 Mihomo TUN 配置说明

因此,若你的目标只是“不再返回 198.18.x.x”,先改 enhanced-mode;若目标是“完全不让 Mihomo 接管 DNS”,才需要进一步检查 dns.enable、TUN 的 DNS 设置和系统代理。但后者会改变更多网络行为,应先备份并准备回滚。

只解决局域网或个别应用问题:优先用 fake-ip-filter

如果全局 Fake-IP 本身没有问题,只是局域网域名、设备发现或某个应用不兼容,可以保留 enhanced-mode: fake-ip,为特定域名加入 fake-ip-filter:

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-filter-mode: blacklist
  fake-ip-filter:
    - '*.lan'
    - '*.local'
    - 'printer.example'

上面只是结构示例,不代表所有网络都应使用这些域名;请把示例域名替换为你实际确认需要排除的域名。官方文档说明,过滤列表中的域名不会获得 Fake-IP 映射,并支持通配符和域名集合。Fake-IP 过滤字段说明

如果过滤后问题仍在,逐步缩小范围:先只加入一个已确认异常的域名,重载配置并重新打开应用;如果问题消失,再决定是否保留该规则。不要一开始把大量域名或通配符全部加入,否则可能让排查结果失去可比性。

失败时的回滚清单

改完后出现无法联网、DNS 报错或规则异常时,按以下顺序回滚:

  1. 把 enhanced-mode: redir-host 改回原来的值,或恢复修改前的备份文件。
  2. 确认 YAML 缩进、冒号和列表格式正确,不要把同一个 dns: 区块重复粘贴到文件中。
  3. 重载配置;如果重载失败,完全重启核心并查看错误日志。
  4. 暂时关闭 TUN 或系统代理做对比,但一次只改一个开关。
  5. 如果仍无法恢复,恢复完整备份,不要继续删除 DNS、规则或代理节点配置。

截至 2026-11-10,本文只采用当前可访问的 Mihomo DNS、TUN 与 API 文档中的字段说明;具体客户端的菜单名称、覆写能力和缓存按钮可能不同,未能从核心文档确认的界面细节应以你正在使用的客户端版本为准。

常见问题

Mihomo 关闭 Fake-IP 后,应该改成什么?

通常将 dns.enhanced-mode 从 fake-ip 改为 redir-host。不要同时把 dns.enable 改为 false,除非你明确希望改用系统 DNS。

看到 198.18.x.x 就一定要关闭 Fake-IP 吗?

不一定。198.18.x.x 通常是配置中的 Fake-IP 地址池。若只有局域网或个别应用异常,优先用 fake-ip-filter 排除特定域名。

改成 redir-host 后还是不能联网怎么办?

先确认配置已真正重载,再清理 Fake-IP、DNS 缓存并重启目标应用;随后检查 TUN、dns-hijack、系统代理、应用自带 DNS 和 DNS 端口冲突。

订阅更新后 Fake-IP 又自动开启,怎么处理?

检查当前运行配置是否被订阅覆盖,并把修改放入客户端的本地覆写、配置合并或独立本地配置中。不要只修改一次性的运行配置。

关闭 Fake-IP 会自动关闭 TUN 或 DNS 劫持吗?

不会。Fake-IP 是 DNS 增强模式,TUN 和 dns-hijack 属于不同配置层。是否关闭它们,需要根据流量接管和 DNS 排查结果分别决定。

相关阅读

参考资料

  1. Mihomo DNS configuration:enhanced-mode、Fake-IP 与 fake-ip-filter
  2. Mihomo TUN:dns-mode、dns-hijack 与 strict-route
  3. Mihomo API:配置重载、缓存清理与运行配置查询