Mihomo fake-ip 模式怎么关闭?改成 redir-host 的完整步骤
简答:Mihomo 关闭 fake-ip,通常只需要在 dns 配置中把 enhanced-mode: fake-ip 改成 enhanced-mode: redir-host,然后保存、应用配置并重启核心。若完全不想让 Mihomo 处理 DNS,才使用 dns.enable: false;如果只是某个应用或域名不兼容,优先使用 fake-ip-filter 做单域名例外,不要直接关闭全局 fake-ip。
定义:Mihomo 的 fake-ip 模式会把域名解析到配置的虚拟地址池,redir-host 模式则返回常规 DNS 解析结果;关闭 fake-ip 本质上是把 dns.enhanced-mode 从 fake-ip 切换为 redir-host。
先试这一步:四步关闭 Mihomo fake-ip
本文只讨论 Mihomo 核心的 DNS 模式切换,不绑定某一个图形客户端。适用于你能编辑 Mihomo 配置、客户端覆写项或面板 DNS 设置的情况;不同客户端的菜单名称可能不同,请以当前界面为准。
- 备份当前配置:复制正在使用的配置文件,或先导出一份配置。不要直接覆盖唯一配置,避免修改后无法回滚。
- 找到 dns 节:确认修改的是当前实际运行的配置,而不是订阅原文中未被客户端加载的文件。
- 改为 redir-host:将
enhanced-mode: fake-ip改成enhanced-mode: redir-host。 - 应用并验证:保存后执行客户端的生成、应用、重载或重启核心操作,再用
nslookup查询域名,确认结果不再是198.18.x.x。
Mihomo 文档列出的 enhanced-mode 可选值包括 fake-ip 和 redir-host,并说明 redir-host 是默认模式。查看 Mihomo DNS 配置文档
| 目标 | 应修改的配置 | 影响范围 | 适合场景 |
|---|---|---|---|
| 关闭全局 fake-ip | dns.enhanced-mode: redir-host | 保留 Mihomo DNS,但不再使用 fake-ip 解析模式 | 部分应用、局域网服务或登录流程不兼容虚拟地址 |
| 完全停用 Mihomo DNS | dns.enable: false | 改用系统 DNS 解析 | 需要由系统、路由器或其他 DNS 服务接管解析 |
| 只放行一个域名 | 在 dns.fake-ip-filter 中添加域名 | 仅匹配的域名返回真实解析结果 | 只有单个域名或应用异常,不想改变全局模式 |
方案一:保留 Mihomo DNS,只切换到 redir-host
这是最小改动方案。它不会关闭 Mihomo 的 DNS 模块,而是把增强解析模式从 fake-ip 切换为 redir-host。
配置中的相关部分可以整理为:
dns:
enable: true
enhanced-mode: redir-host如果原配置还保留了 fake-ip-range、fake-ip-filter 等字段,不必为了切换模式强行全部删除。它们主要服务于 fake-ip 相关行为;先完成模式切换并验证结果,能减少一次改动过多造成的排错难度。
保存后,在客户端中执行“生成配置”“应用配置”“重载核心”或相近操作。若使用控制面板,确认面板显示的是当前运行配置,而不是只修改了订阅模板。Mihomo API 文档提供了清理 DNS 缓存、清理 fake-IP 缓存以及重新加载配置的接口,具体是否开放取决于客户端的控制器设置。查看 Mihomo API 中的缓存与配置重载说明
如果修改后仍然看到虚拟地址,先关闭当前连接再重新建立,随后清理系统或应用自身的 DNS 缓存。旧的缓存记录可能让你在短时间内继续看到修改前的结果。
方案二:完全关闭 Mihomo DNS,改用系统 DNS
如果你的目标不是“关闭 fake-ip”,而是“不让 Mihomo 参与 DNS 解析”,可以使用:
dns:
enable: falseMihomo 官方文档说明,dns.enable 设为 false 后会使用系统 DNS。这个改动比切换到 redir-host 更彻底,也意味着原先由 Mihomo DNS 提供的 nameserver、fallback、域名策略和部分 DNS 劫持逻辑不会按原方式工作。查看 enable 字段说明
因此,除非你明确希望由操作系统、路由器或其他 DNS 组件接管,否则优先选择方案一。修改后如果出现域名解析变慢、分流判断变化或部分域名打不开,应先恢复 dns.enable: true,再单独排查 DNS 服务器、规则和 TUN 设置。
方案三:只让某个域名返回真实 IP
如果只有局域网设备、登录程序、打印服务或某个应用不适配 fake-ip,不一定要关闭全局模式。可以继续使用:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-filter:
- "+.example.com"上面的示例只是格式演示,实际域名应替换为出现问题的域名。fake-ip-filter 的作用是让匹配项不获得 fake-ip 映射,而不是把整个 Mihomo DNS 关闭,也不是把所有域名都切换为真实 IP。Mihomo 文档还说明该字段支持域名通配和不同的过滤模式,写法要遵守当前版本的配置语法。查看 fake-ip-filter 说明
不要为了“保险”把大量域名全部加入过滤列表。范围过大后,原本依赖 fake-ip 的分流、域名识别或 TUN 流量处理可能发生变化。先记录发生问题的完整域名,再添加最小范围的规则。
修改后如何确认 fake-ip 已经关闭
验证时要区分“配置已经改了”和“实际请求已经经过新配置”这两件事。建议按下面顺序检查:
- 确认运行配置:在客户端当前配置、运行配置或 API 返回的配置中,查看
dns.enhanced-mode是否为redir-host;若采用完全停用方案,则查看dns.enable是否为false。 - 重新加载核心:保存后执行应用、重载或重启核心。只保存文件但未让核心重新读取,通常不能作为生效依据。
- 查询域名:在系统终端运行
nslookup example.com,将示例域名替换为实际测试域名。 - 判断返回结果:如果查询结果仍返回
198.18.0.0/16范围内的地址,说明当前查询仍可能经过 fake-ip、旧缓存或其他 DNS 接管路径;如果返回普通公网或内网解析地址,说明该次查询没有得到 fake-ip 地址。 - 重复测试:关闭浏览器或应用后重新打开,再测试原先出问题的功能。单次
nslookup只能说明一次 DNS 查询结果,不能单独证明所有应用流量都已使用同一解析路径。
Mihomo 文档将 198.18.0.1/16 列为 fake-ip 地址池示例,因此可以把该地址段作为识别 fake-ip 的线索,但不要仅凭一个地址判断整个 TUN 或代理链路是否正常。查看 fake-ip-range 配置说明
仍然像 fake-ip 没关闭?重点检查 TUN、DNS 劫持和应用自带 DNS
即使已经把 enhanced-mode 改为 redir-host,验证结果仍可能受到其他 DNS 路径影响。先按“现象—检查—处理”定位:
| 现象 | 先检查什么 | 下一步处理 |
|---|---|---|
| 系统查询仍出现旧结果 | 系统 DNS 缓存、浏览器缓存、应用缓存 | 清理缓存并完全退出应用后重新测试 |
| TUN 开启后结果不一致 | dns-mode、dns-hijack、auto-route | 暂时关闭 TUN 做对照测试,再逐项恢复 |
| Windows 或 macOS 只有部分请求被接管 | 本地网络 DNS、浏览器 DoH、应用自带解析 | 先确认请求是否真正发给 Mihomo,再判断配置是否生效 |
| Android 私人 DNS 下结果异常 | 系统“私人 DNS”是否启用 | 按当前设备设置暂时关闭或调整后再测试 |
Mihomo 官方 TUN 文档说明,TUN 的 dns-mode 可设为 disabled、native 或 hijack;同时,macOS 和 Windows 不能自动劫持发往本地网络的 DNS 请求,Android 开启私人 DNS 时也可能无法自动劫持 DNS。查看 Mihomo TUN 与 DNS 劫持说明
所以,“nslookup 没有返回 198.18.x.x”只说明这次查询没有得到该 fake-ip 地址,并不代表所有浏览器、应用和 TUN 流量都一定走了相同的 DNS 路径。排查时应使用原先出问题的应用做最终验证。
配置错误时如何回滚
如果修改后 Mihomo 无法启动、配置无法生成或所有连接中断,按以下顺序恢复:
- 停止核心或退出客户端,避免客户端反复覆盖配置。
- 恢复修改前备份,或将
enhanced-mode改回fake-ip。 - 如果改过
dns.enable,恢复为原来的布尔值,并检查缩进。 - 使用客户端提供的配置校验或生成功能;命令行参数是否支持校验,以当前 Mihomo 构建的帮助信息为准。
- 重新加载核心后,先确认基本连接恢复,再逐项尝试 redir-host、TUN 或过滤规则。
Mihomo 使用 YAML 配置格式,字段名称区分大小写,缩进和冒号后的空格都可能影响解析。查看 Mihomo YAML 配置语法
第三方使用说明与边界云推荐
本站是第三方使用指南站,不是任何客户端或服务品牌的官网。本文只说明 Mihomo 的通用配置和连接排查方法;订阅内容、节点状态、服务入口和客户端界面请以对应提供方当前页面为准。
如果你正在排查跨境办公、DNS、TUN 或连接问题,建议先保留原配置,再按“切换模式—重载核心—清理缓存—复测应用—必要时回滚”的顺序操作。
常见问题
Mihomo fake-ip 模式关闭后,应该改成 redir-host 还是关闭 DNS?
如果只是想停止使用虚拟 IP,改为 dns.enhanced-mode: redir-host;如果希望系统或其他组件接管全部 DNS,才使用 dns.enable: false。前者改动更小。
fake-ip-filter 能不能代替关闭 fake-ip?
不能完全代替。fake-ip-filter 只对匹配的域名提供例外处理,其他域名仍可能继续使用 fake-ip。只有需要处理单个域名或特定应用时,才适合使用过滤规则。
改成 redir-host 后为什么 nslookup 仍然看到 198.18.x.x?
优先检查当前运行配置是否真的重载、是否存在旧 DNS 缓存、查询是否被 TUN 或 dns-hijack 接管,以及浏览器或应用是否启用了独立 DoH。也要确认查询的是实际使用中的 DNS 地址。
关闭 fake-ip 会不会让 TUN 模式失效?
不一定。fake-ip 是 DNS 增强模式,TUN 负责流量接管,两者不是同一个开关。但切换后可能影响域名识别、规则匹配或应用兼容性,因此应使用原先出问题的应用进行复测。
Mihomo 配置改错后如何恢复?
先停止核心,恢复修改前的配置备份,再重新加载。没有备份时,可先把 enhanced-mode 改回原值,并检查 YAML 的缩进、冒号和字段拼写。