Mihomo Fake-IP 怎么关闭?配置修改与生效验证步骤
简答:如果你只是想关闭 Mihomo 的 Fake-IP,不要先关闭 TUN 或整个 DNS 模块:备份当前配置,把 `dns.enhanced-mode: fake-ip` 改成 `dns.enhanced-mode: redir-host`,保存后重载配置并清理 DNS/Fake-IP 缓存。修改后要以“当前运行配置”和实际解析结果为准,不能只看编辑器里的 YAML。本文是第三方使用指南,不是任何客户端或服务品牌的官方页面。
定义:Mihomo 的 Fake-IP 是 DNS 增强模式之一,会为域名返回映射地址;将 `enhanced-mode` 切换为 `redir-host`,表示不再使用 Fake-IP 模式,但不会自动关闭 Mihomo DNS 或 TUN。
先试这一步:只关闭 Fake-IP,不改 TUN
官方 Mihomo DNS 文档列出的 `enhanced-mode` 可选值为 `fake-ip` 和 `redir-host`,文档当前将 `redir-host` 列为默认值。若你的目标只是让局域网、NAS、游戏或特定应用不再接收 Fake-IP,最小改动是只修改这一项,不要同时关闭 TUN、删除全部 DNS 配置或更换 nameserver。参见 Mihomo DNS 配置文档。
| 你的目标 | 应该改什么 | 不要误改成什么 | 修改后如何判断 |
|---|---|---|---|
| 关闭 Fake-IP | enhanced-mode: redir-host | 不要先改 dns.enable 或 tun.enable | 运行配置显示 redir-host,新的域名查询不再使用 Fake-IP 映射 |
| 关闭 Mihomo 内置 DNS | dns.enable: false | 这不是“仅关闭 Fake-IP” | 系统 DNS 接管方式发生变化,需重新检查分流和 DNS 行为 |
| 关闭系统级接管 | 单独处理 TUN 或系统代理设置 | 不要把 TUN 与 Fake-IP 当成同一个开关 | 应用流量覆盖范围发生变化,需重新测试应用连接 |
如果当前配置中已经有一个 dns: 段,找到其中的 enhanced-mode 并修改;如果没有该字段,可以在现有 dns: 段下补充。不要在同一层级新增第二个 dns: 段,也不要把字段写到 tun: 下。
最小结构示例:
dns:
enable: true
enhanced-mode: redir-host
上面只是结构示例,不代表你的 nameserver、监听地址或其他 DNS 字段。修改前先复制原配置;保存后如果客户端提示 YAML 格式错误,立即恢复备份,不要继续叠加修改。
按客户端完成修改、重载与回滚
- 备份:在客户端的配置或 Profiles 页面找到当前实际使用的 Mihomo 配置,导出或复制一份。不要只修改下载目录中的订阅原文件,因为客户端可能使用合并后的运行配置。
- 定位:搜索
enhanced-mode:。如果值是fake-ip,将它改成redir-host;如果已经是redir-host,说明当前运行配置可能并未启用 Fake-IP,应转到生效验证,而不是重复修改。 - 保存并应用:使用客户端提供的保存、应用、重载配置或重启核心操作。不同客户端的菜单名称和配置编辑入口可能不同,不能仅凭本文推断具体按钮位置。
- 清理缓存:如果客户端提供 DNS 缓存或 Fake-IP 缓存清理,应用配置后执行一次。Mihomo API 文档列出了
/cache/fakeip/flush和/cache/dns/flush两个清理接口;只有在你已经启用并确认本机控制器地址、密钥和权限设置时,才使用客户端面板或 API 操作。参见 Mihomo API 文档。 - 回滚:如果局域网域名、分流或某些应用反而异常,把
redir-host改回原来的fake-ip,重新应用配置并清理缓存。回滚只恢复解析模式,不会自动恢复你同时改动的其他字段。
Windows、macOS、Android 等平台通常由不同客户端界面承载 Mihomo 核心,因此只能确认“编辑当前生效配置—保存—重载—验证”这一主线;具体 Profile、配置编辑器或覆写入口需要以你正在使用的客户端版本实际显示为准。若配置来自订阅,直接编辑订阅文件可能在下次更新时被覆盖,此时应使用客户端支持的覆写、补丁或本地配置合并功能;如果当前客户端没有这些功能,需保留本地副本并在订阅更新后重新核对。
改完后怎么确认 Fake-IP 真的关闭
验证应分成三层:先看运行配置,再看缓存和解析结果,最后看实际应用。浏览器能打开网页不等于 Fake-IP 已关闭,端口能监听也不等于应用使用了新的 DNS 配置。
- 看运行配置:如果已启用 Mihomo 外部控制器,可通过客户端面板或 API 查看当前运行配置中的
dns.enhanced-mode。Mihomo API 文档说明/configs可以获取基本运行配置,PUT /configs?force=true可用于重载基本配置;不要把外部控制器暴露到公网,文档示例使用本机地址时应优先保持本机监听。参见 Mihomo 通用配置文档。 - 清缓存后查询:先清理 Mihomo 的 DNS/Fake-IP 缓存,再用系统的
nslookup或客户端日志查询一个普通域名。若查询仍显示旧结果,先排除系统缓存、应用缓存和查询的 DNS 服务器并非 Mihomo 监听地址。不要仅凭一次查询就断言所有应用均已切换。 - 看日志:开启短时间的 DNS 或连接日志,观察新的域名查询是否经过当前 Mihomo DNS。日志适合定位“是否仍在使用旧配置”,不能单独证明长期连接质量、线路性能或所有域名都没有缓存。
- 测实际场景:分别测试一个普通网页、一个局域网域名或 NAS 地址,以及之前出现问题的应用。若只有某个应用异常,优先检查该应用是否自带 DoH、私有 DNS 或独立解析逻辑,而不是继续修改 Mihomo 的主配置。
如果配置中仍保留 fake-ip-filter,它不会把整个模式重新变回 Fake-IP;该字段的作用是为特定域名排除 Fake-IP 映射。官方文档还说明过滤规则支持域名通配和域名集合,因此不要为了“关闭 Fake-IP”盲目删除整个过滤列表。
关闭后仍不生效或出现新问题,按现象分流
| 现象 | 优先检查 | 处理方式 | 停止条件 |
|---|---|---|---|
| 编辑后仍显示 fake-ip | 是否修改了实际运行配置;是否被订阅合并覆盖;是否只保存未重载 | 查看运行配置,重新应用或重启核心,再清理缓存 | 运行配置已为 redir-host 后,不要继续重复改同一字段 |
| 局域网域名仍打不开 | 系统 DNS、TUN 的 DNS 接管、hosts、局域网 DNS 服务器 | 确认该域名实际由哪一层解析;必要时回滚并只对具体域名做过滤 | 无法确认查询链路时,不要继续删除 nameserver 或 tun 配置 |
| 部分应用不受影响 | 应用自带 DNS、DoH、私有 DNS 或独立网络权限 | 在应用设置和系统网络设置中单独核对 | 不要把“某个应用仍异常”当成 Mihomo Fake-IP 一定未关闭 |
| 改成 redir-host 后分流变化 | 域名规则、TUN 接管、sniffer 和 DNS 策略的组合 | 对比改动前后的日志与运行配置,必要时恢复备份 | 没有可复现日志时,不要把变化归因于单一字段 |
关闭 Fake-IP 不等于关闭 DNS,也不等于关闭 TUN。Mihomo 的 TUN 配置另有 dns-hijack、dns-mode 等字段;官方 TUN 文档将这些字段作为系统 DNS 配置和流量接管相关选项说明,因此除非你的问题本身是 TUN 接管,否则不建议为了关闭 Fake-IP 同时改动 TUN。参见 Mihomo TUN 配置文档。
结论:最小改法只有一项:在当前生效的 dns: 段把 enhanced-mode: fake-ip 改成 enhanced-mode: redir-host,然后重载、清缓存、查看运行配置,再测试实际故障场景。
补充说明:什么时候不建议直接关闭 Fake-IP
如果你依赖现有的域名分流、TUN 接管或某些规则对 Fake-IP 的处理,直接切换模式可能改变连接路径。官方文档明确区分了 Fake-IP 过滤、DNS 服务器、规则遵循和 TUN 接管等配置项,因此应先确认问题确实来自 Fake-IP 兼容性,而不是订阅失效、DNS 上游不可用、规则错误或系统网络问题。
更小的改动是保留 enhanced-mode: fake-ip,只把明确有兼容性问题的域名加入 fake-ip-filter,但过滤规则需要按照当前 Mihomo 文档支持的写法配置,并在修改后单独验证该域名。若你无法确认域名、规则或客户端的实际生效配置,优先备份并回到完整配置对比,不要连续修改多个开关。
常见问题
Mihomo 关闭 Fake-IP 要改哪个字段?
在当前生效配置的 `dns:` 段,将 `enhanced-mode: fake-ip` 改为 `enhanced-mode: redir-host`。这是关闭 Fake-IP 的最小改动,不需要同时关闭 `dns.enable` 或 `tun.enable`。
把 enhanced-mode 改成 redir-host 后为什么还显示 Fake-IP?
常见优先检查项是修改了非运行配置、订阅合并覆盖了本地修改、只保存但没有重载核心,或 DNS/Fake-IP 缓存仍未清理。先查看运行配置,再应用、清缓存并重新查询;不要只看编辑器中的文件内容。
关闭 Fake-IP 会不会自动关闭 TUN?
不会。Fake-IP 是 DNS 的 `enhanced-mode`,TUN 是另一组系统流量接管配置。除非你要排查 TUN 本身,否则不要为了关闭 Fake-IP 同时修改 TUN。
可以直接把 dns.enable 改成 false 吗?
可以作为关闭 Mihomo 内置 DNS 的另一种操作,但它不是“仅关闭 Fake-IP”。官方文档说明 `dns.enable: false` 时会使用系统 DNS,这可能改变 DNS 接管、分流和应用行为。
订阅更新后 Fake-IP 又恢复了怎么办?
说明你修改的文件可能不是订阅合并后的最终配置,或更新过程覆盖了本地改动。保留备份,使用客户端支持的覆写、补丁或本地合并功能;如果没有可确认的覆写入口,就在每次更新后重新查看当前运行配置。