Fake-IP 与 Redir-Host 是 Clash 系客户端(如今主要是 mihomo 内核)DNS 的两种增强模式:Fake-IP 先返回一个假地址、由客户端按域名转发,Redir-Host 先查询真实 IP 再连接。日常使用多数人选 Fake-IP,遇到局域网、游戏等兼容问题时再用过滤列表或切换模式。
两种模式的基本原理
Fake-IP 怎么工作
- 应用请求解析
example.com; - 客户端不去真正查询,而是从
fake-ip-range(常见为198.18.0.1/16)中分配一个地址立即返回,并记下“假地址对应哪个域名”; - 应用向这个假地址发起连接,流量进入客户端(通常依靠 TUN 模式);
- 客户端查表还原出域名,按规则匹配:走代理时把域名交给节点,由节点在远端解析并连接;走直连时再在本地真正解析。
因为走代理的域名不需要在本地等待真实解析,首次访问更快,也不会受本地污染影响。
Redir-Host 怎么工作
- 应用请求解析
example.com; - 客户端按 nameserver 配置真实查询,拿到真实 IP 返回给应用;
- 应用向真实 IP 连接,客户端根据之前的解析记录或流量嗅探还原域名,再按规则分流。
它返回的是真实地址,兼容性更好,但每个新域名都要先等一次 DNS 往返;如果 DNS 配置不当,还可能拿到被污染的结果。
redir-host 在 mihomo 中的现状
根据 mihomo 官方文档,enhanced-mode 的可选值是 fake-ip 和 redir-host,默认值是 redir-host。也就是说,在 mihomo 中它仍然可用,实际行为可以理解为“返回真实 IP 的普通模式”。早年原版 Clash 的 redir-host 有不少问题,社区讨论中的很多结论来自那个时期,看旧教程时需要注意。
对比表
| 维度 | Fake-IP | Redir-Host |
|---|---|---|
| 返回给应用的地址 | 保留段假地址(如 198.18.x.x) |
真实 IP |
| 首次连接速度 | 快,不等待真实解析 | 需要等待一次 DNS 往返 |
| 抗污染 | 走代理的域名由节点远端解析,不受本地污染 | 取决于 nameserver 是否可靠 |
| DNS 泄露 | 配合 TUN 时较少 | 本地需要真实查询,配置不当更容易泄露 |
| 兼容性 | 局域网、P2P 游戏、NTP 等可能异常 | 好,应用拿到的是真实地址 |
| 关闭客户端后 | 可能残留假地址缓存 | 基本没有残留问题 |
| 依赖条件 | 需要流量进入客户端,通常配合 TUN | 系统代理和 TUN 都可用 |
适用场景
- 适合 Fake-IP:日常浏览、看视频、使用 AI 服务,追求打开速度和防污染;电脑端开启了 TUN 模式;路由器上的 OpenClash 等透明代理;
- 适合 Redir-Host:家里有很多局域网设备、经常联机打游戏、公司内网域名较多,或者应用需要拿到真实 IP;不想处理
198.18缓存残留的用户; - 折中方案:保持 Fake-IP,同时用
fake-ip-filter排除少数需要真实地址的域名。具体排查方法见《fake-ip 兼容问题排查》。
配置示例
mihomo 的 Fake-IP 写法:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter-mode: blacklist
fake-ip-filter:
- '*.lan'
- '+.local'
- 'time.*.com'
nameserver:
- https://223.5.5.5/dns-query
- https://doh.pub/dns-query
fake-ip-filter-mode 可选 blacklist(默认,列表中的域名返回真实 IP)、whitelist(只有列表中的域名返回假 IP)和 rule(用规则语法逐条匹配)。
切换为 Redir-Host 只需修改一行,其余 nameserver 设置保持不变:
dns:
enable: true
enhanced-mode: redir-host
在图形客户端中,这一项通常位于「DNS 覆写」或「DNS 设置」里,例如《Clash Verge Rev》和《Clash Meta for Android》都可以修改。sing-box 也有 fakeip 机制,但配置格式不同(1.12 版起 DNS 配置有较大调整),请参考《sing-box 教程》和官方文档。更多客户端对比见《客户端大全》。
修改模式后记得重载配置并清除系统 DNS 缓存,Windows 执行 ipconfig /flushdns,macOS 执行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。
常见问题
Fake-IP 一定比 Redir-Host 快吗?
首次连接通常更快,因为走代理的域名不用在本地等待解析。但连接建立后,下载和播放速度主要取决于节点线路,两种模式差别不大。
用 Fake-IP 时 ping 出来是 198.18 开头,正常吗?
正常,这就是假地址。只有关闭客户端后仍然出现才需要清缓存,处理方法见《DNS 问题排查》。
哪种模式更不容易 DNS 泄露?
一般是 Fake-IP 配合 TUN,因为走代理的域名不需要在本地真实查询。但只开系统代理时两种模式都可能泄露,检测方法见《DNS 泄露检测与防护》。
mihomo 里不写 enhanced-mode 会怎样?
按官方文档,默认就是 redir-host。如果你想用 Fake-IP,需要显式写上 enhanced-mode: fake-ip。
游戏联机异常要直接换 Redir-Host 吗?
不一定。先尝试把游戏和 STUN 相关域名加入 fake-ip-filter,如果需要排除的域名太多,再考虑切换模式。