Mihomo fake-ip 和 redir-host 区别:DNS 模式怎么选?
简答:一句话结论:fake-ip 返回保留地址并通过映射还原域名,通常更利于域名规则匹配;redir-host 返回真实解析地址,通常更容易兼容依赖真实 IP 的局域网、游戏或特殊应用。先不要把两者理解成“代理开关”:它们只决定 Mihomo 的 DNS 增强处理方式,最终是否走代理还要看规则、代理模式、TUN 和 DNS 配置。若当前主要问题是分流不准,先检查 fake-ip;若是局域网或应用兼容性异常,再用 redir-host 做对照验证。
定义:Mihomo 的 enhanced-mode 是 DNS 增强模式,fake-ip 为域名建立保留地址映射,redir-host 则把 DNS 查询结果中的真实 IP 返回给应用。
先看结论:两种模式到底差在哪里
如果你只想快速选择,可以先按下面的原则:域名规则匹配、TUN 接管和需要减少本地真实解析的场景,优先测试 fake-ip;局域网设备、部分游戏、打印机、NAS 或必须使用真实 IP 的应用出现异常时,优先测试 redir-host。这只是排查起点,不是对所有网络环境的绝对结论。
| 比较项 | fake-ip | redir-host |
|---|---|---|
| 应用收到的地址 | 通常是 Fake-IP 地址池中的保留地址,例如文档示例中的 198.18.0.1/16 | 通常是真实 DNS 解析得到的 IP |
| 域名与连接的关系 | 通过地址映射把 Fake-IP 还原为域名,再交给规则和连接处理 | 连接通常直接带着真实目标 IP,域名识别依赖其他信息或规则处理 |
| 分流特点 | 通常更适合基于域名的规则匹配 | 配置直观,部分依赖真实 IP 的应用更容易兼容 |
| 兼容性重点 | 要关注局域网域名、硬编码 DNS、应用内 DoH、游戏和特殊 UDP 流量 | 要关注真实 DNS 结果、规则能否识别域名,以及 DNS 查询路径 |
| 过滤字段 | 可用 fake-ip-filter 让指定域名不使用 Fake-IP | fake-ip-filter 不承担主要作用,因为模式本身不是 Fake-IP |
官方文档列出 fake-ip 和 redir-host 两个可选值,并说明默认值为 redir-host;实际客户端可能覆盖内核默认值,仍应以当前配置和日志为准。查看 Mihomo DNS 官方配置文档
完整请求时序:DNS 模式不等于代理模式
理解时序,比记住“哪个更快”更可靠。一次典型请求可以拆成以下阶段:
- 应用发起查询:应用请求某个域名的 A、AAAA 或其他 DNS 记录。
- Mihomo 接收查询:查询可能来自系统 DNS、TUN 的 DNS 劫持,或客户端提供的本地 DNS 监听地址。
- 选择解析路径:Mihomo 根据
nameserver、fallback、nameserver-policy、direct-nameserver等字段选择上游;这些字段负责“向谁查询”,不是 fake-ip 与 redir-host 的替代名称。 - 返回地址:使用
fake-ip时,符合条件的域名可能获得 Fake-IP 并建立映射;使用redir-host时,通常返回解析得到的真实地址。 - 建立连接并匹配规则:应用随后连接返回地址。Mihomo 再结合域名映射、目标 IP、端口、嗅探结果和规则决定直连或代理。
- 出现例外时重新解析:被
fake-ip-filter排除的域名、直连重新解析、代理服务器域名及特殊记录,可能走不同的 DNS 路径。
因此,看到 Fake-IP 地址并不等于 DNS 污染,也不等于连接已经走代理;同样,浏览器能打开网页也不能证明所有应用、UDP 或局域网连接都正常。官方文档还单独给出了 DNS 解析流程,说明上游 DNS、规则和重新解析之间是分开的处理阶段。查看 Mihomo DNS 解析流程
fake-ip 的优势、边界与 fake-ip-filter 怎么用
fake-ip 的核心不是“完全不解析 DNS”,而是让部分域名先获得地址映射,再在连接阶段恢复域名信息。实际配置中仍可能因过滤规则、直连路径、记录类型、代理服务器域名或版本实现而触发真实解析。
官方文档说明,fake-ip-filter 用于指定不接收 Fake-IP 映射的域名,并支持域名通配;过滤模式包括 blacklist、whitelist 和 rule。最小示例可以写成:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter-mode: blacklist
fake-ip-filter:
- '*.lan'这段配置只展示字段关系,不代表适合所有设备。过滤项应从实际故障出发逐项添加,例如局域网域名、设备发现、NTP、STUN、打印机或 NAS 名称;不要一开始把大量域名全部加入过滤列表,因为过滤过宽会让更多请求回到真实解析路径,也可能改变规则命中结果。
如果使用 TUN,还要单独检查 TUN 是否接管 DNS,以及 dns-hijack、自动路由和系统 DNS 是否互相配合。Mihomo 官方 TUN 文档将 DNS 模式列为 disabled、native 和 hijack,因此不能仅凭 enhanced-mode 判断设备上的所有 DNS 请求都经过 Mihomo。查看 Mihomo TUN 官方说明
redir-host 适合什么情况:先解决真实 IP 兼容性
redir-host 的特点是返回真实 DNS 解析地址,配置和抓包结果通常更容易理解。假如你切换到 fake-ip 后出现局域网主机、NAS、打印机、游戏登录、设备发现或某些 UDP 应用异常,可以把 redir-host 作为对照组,而不是直接修改大量规则。
但 redir-host 也不是“兼容性一定最好”。如果规则主要依赖域名,而应用只把真实 IP 交给 Mihomo,可能需要依赖域名缓存、嗅探、SNI 或其他识别方式;某些加密 DNS、HTTPS 记录和应用内 DNS 还可能改变可观察结果。遇到“能解析但分流不对”,应先看 Mihomo 日志中的域名、目标 IP、命中规则和实际出站。
无论使用哪种模式,nameserver、fallback 和 nameserver-policy 都要单独核对。官方配置文档将它们列为不同字段:nameserver 是主要 DNS,fallback 是备用解析路径,nameserver-policy 可以按域名或规则集指定 DNS。切换增强模式不会自动修正这些上游配置。核对当前版本支持的 DNS 字段
Windows、macOS、Android、TUN 与旁路由怎么选
| 场景 | 建议起点 | 重点验证 |
|---|---|---|
| Windows 或 macOS 普通系统代理 | 先保持现有模式;分流不准时测试 fake-ip,单个应用异常时测试 redir-host | 系统代理是否生效、DNS 是否指向 Mihomo、日志中的域名和规则 |
| Android TUN | 优先确认 TUN 的 DNS 接管方式,再比较两种 enhanced-mode | 应用是否绕过系统 DNS、IPv6、应用内 DoH、排除应用和 UDP |
| 局域网、NAS、打印机 | 先测试 redir-host,或只把确实需要真实解析的局域网域名加入过滤 | 局域网域名解析、私有地址、设备发现和路由是否可达 |
| 软路由或旁路由 | 不要直接照搬桌面配置;先确认客户端是否接管网关 DNS 和转发流量 | DNS 监听地址、端口冲突、转发链路、IPv6 与终端实际 DNS |
| 域名规则分流异常 | 先测试 fake-ip,并检查过滤列表是否过宽 | 返回地址、映射是否存在、规则命中域名还是 IP |
这些是排查顺序,不是对速度或隐私的保证。DNS 模式本身不能单独证明 DNS 泄漏、延迟或长期性能;如果要判断问题范围,应同时记录上游 DNS、实际出口、规则命中和重复测试结果。
切换模式后的最短验证流程
- 备份:复制当前配置文件,记录原来的
enhanced-mode、fake-ip-filter、TUN 和 DNS 上游设置。 - 只改一个变量:仅把
fake-ip改为redir-host,或反向切换,不要同时更换节点、规则集和 DNS 服务。 - 重启或重新加载:确认客户端显示的实际配置已经生效,而不是只修改了未使用的订阅文件。
- 观察结果:分别测试普通网页、一个受规则分流的域名、一个局域网地址和一个出现故障的应用;记录能否解析、是否建立连接、命中哪条规则。
- 回滚或细化:若 redir-host 恢复局域网功能,优先保留模式并缩小问题范围;若 fake-ip 改善域名分流,则检查过滤项和上游 DNS,而不是继续扩大过滤列表。
验证边界要分清:DNS 查询成功不等于 TCP 或 UDP 连接成功;连接建立不等于应用登录成功;单个网站打开也不代表所有域名和协议都正常。
常见故障怎么分流
看到 198.18.x.x,是不是 DNS 污染?
不一定。Mihomo 官方配置示例把 198.18.0.1/16作为 Fake-IP 地址池示例,因此在 fake-ip 模式下看到该范围地址可能是预期行为。应继续检查映射是否存在、连接是否能建立以及规则是否命中域名。
fake-ip 下只有某个应用打不开怎么办?
先不要全局切换。记录应用访问的域名和协议,检查是否属于局域网、设备发现、NTP、STUN、硬编码 DNS 或应用内 DoH 场景;再只把已确认需要真实解析的域名加入 fake-ip-filter,或者用 redir-host 做一次对照。
redir-host 能上网但分流不准确怎么办?
检查日志中规则匹配使用的是域名还是目标 IP,再核对 nameserver-policy、嗅探和规则顺序。不要把“DNS 能返回真实 IP”直接当成“分流一定准确”。
切换后仍然像原来的模式,可能是什么原因?
可能是编辑了错误的配置文件、客户端没有重新加载、订阅更新覆盖了本地设置,或某个配置合并层重新写入了 DNS 字段。应以客户端当前生效配置和启动日志为准,确认 enhanced-mode 与过滤列表的实际值。
常见问题
Mihomo fake-ip 和 redir-host 哪个更快?
不能脱离配置和网络环境直接下结论。两者的主要差异是返回地址和连接识别方式;实际耗时还受上游 DNS、缓存、规则、节点、协议和应用行为影响。建议在不改变其他变量的前提下分别测试,并记录 DNS 查询、连接建立和应用响应。
fake-ip 会不会让所有流量都走代理?
不会。fake-ip 只改变 DNS 增强处理方式,是否代理仍由规则、代理组、直连设置、TUN 和出站配置决定。看到 Fake-IP 地址也不能单独证明流量已经通过代理。
fake-ip-filter 应该怎么写?
先只加入已经确认需要真实解析的域名或域名模式,例如局域网域名;每次只增加一组并重新验证。官方文档支持域名通配,并提供 blacklist、whitelist 和 rule 等过滤模式,具体语法应以当前 Mihomo 文档和配置校验结果为准。
Windows 上应该直接使用 fake-ip 吗?
没有适合所有 Windows 环境的固定答案。域名规则分流异常时可以先测试 fake-ip;局域网设备或单个应用异常时,可以先用 redir-host 对照。测试时不要同时更换节点、规则和 DNS 上游。
为什么 redir-host 能打开网页,但某些规则不生效?
可能是规则匹配时只看到真实目标 IP,或者 DNS、嗅探、规则顺序与预期不同。应查看 Mihomo 日志中的域名、目标 IP、命中规则和实际出站,再决定是否调整 DNS 或规则。
相关阅读
- 继续检查 Mihomo 的 DNS-hijack 与 TUN 配置
- 想验证 DNS 请求实际走向,可看 DNS 泄漏检查步骤
- 部分网站打不开时,按 DNS、分流和节点范围排查
- DNS 模式确认后,再按规范测试节点延迟与丢包