client/router · 集群 A · OpenWrt 与 OpenClash · 4/6

OpenClash DNS 设置:Fake-IP 与 Redir-Host 模式区别及防泄露思路

发布时间 待核实核实日期 待核实最近更新 待核实测试状态 Not Tested
Answer First · 核心结论

OpenClash 的 Fake-IP 模式先给设备返回一个虚拟 IP,真正的解析交给代理端处理,响应快、分流依赖域名,但个别应用会因虚拟 IP 出现兼容问题;Redir-Host 模式返回真实 IP,兼容性更直观,但分流和防污染更依赖 DNS 配置。家庭场景通常可以先用 Fake-IP,并把局域网、游戏、NTP 等域名加入过滤名单。

为什么 DNS 是路由器代理的关键

DNS 之所以关键,是因为路由器代理的分流判断在很大程度上依赖域名,而路由器通常同时是全家的 DNS 服务器。DNS 设置不当,轻则分流不准、国内网站变慢,重则全家无法上网或出现 DNS 泄露。

手机客户端的 DNS 只影响一台设备,路由器的 DNS 影响所有设备。所以 OpenClash 安装好之后,DNS 模式往往是第一个需要认真考虑的设置。DNS 的基础原理可以参考 网络原理与排障。

Fake-IP 与 Redir-Host 的原理

两种模式的根本区别在于:设备查询域名时,路由器返回的是「虚拟 IP」还是「真实 IP」。

Fake-IP 模式
  设备:查询 example.com
  OpenClash:立即返回 198.18.x.x(虚拟地址)
  设备:向 198.18.x.x 发起连接
  OpenClash:根据虚拟 IP 反查出域名 → 按域名规则分流
             ├─ 直连:再做真实解析后直连
             └─ 代理:把域名交给节点,由远端解析

Redir-Host 模式
  设备:查询 example.com
  OpenClash:向上游查询,返回真实 IP
  设备:向真实 IP 发起连接
  OpenClash:根据连接(结合嗅探到的域名或 IP)按规则分流
维度 Fake-IP Redir-Host
返回给设备的 虚拟 IP 真实 IP
首次响应速度 快(无需等待上游) 需等待上游解析
分流依据 以域名为主 域名(嗅探)与 IP 结合
兼容性问题 依赖真实 IP 的应用可能异常 较少
防污染 境外域名由远端解析 依赖上游 DNS 配置
关闭插件后 设备缓存的虚拟 IP 需过期 影响较小

需要说明的是,较新版本的内核与 OpenClash 对 Redir-Host 的实现可能有调整(例如与嗅探结合的方式),具体可选模式和名称以当前版本为准。

怎么选:家庭场景的建议

家庭场景通常可以先使用 Fake-IP 模式,同时配置好过滤名单;如果家里有较多依赖真实 IP 的设备或应用,再考虑另一种模式。

选择思路:

  • 如果你更看重响应速度和分流准确性,并愿意维护过滤名单,可以优先考虑 Fake-IP;
  • 如果家里有 NAS、局域网游戏、智能家居等大量依赖真实解析的设备,且你不想逐个排查兼容问题,可以考虑 Redir-Host 一类的真实 IP 模式;
  • 无论哪种,先用默认设置跑通,再按问题逐步调整。

Fake-IP 过滤名单

Fake-IP 过滤名单的作用是:让名单中的域名返回真实 IP,不使用虚拟地址,以解决兼容问题。

常见需要加入过滤名单的域名类型:

类型 原因
局域网域名(如 .lan、.local) 局域网服务需要真实地址
时间同步(NTP)相关域名 设备需要真实地址校时
部分游戏主机与联机服务 联机检测可能依赖真实 IP
连通性检测域名 系统判断「是否联网」时可能异常
路由器管理域名 避免无法访问管理界面

OpenClash 通常会预置一部分过滤规则,你可以在其基础上追加。追加后需要让设备的 DNS 缓存过期(或重新连接网络)才能生效。

上游 DNS 与 dnsmasq 的配合

OpenClash 一般与系统的 dnsmasq 配合工作:设备向路由器(dnsmasq)查询,dnsmasq 再转发给 OpenClash 的 DNS 模块,后者按设置向不同上游查询。

上游 DNS 的通用分组思路:

  • 默认 / 引导 DNS:用于解析节点域名和 DNS 服务器本身的域名,通常使用国内可用的普通 DNS;
  • 国内域名 DNS:用于解析国内域名,保证国内网站解析到合适的地址;
  • 境外域名 DNS:使用加密 DNS 或经代理的 DNS,减少污染与泄露。

具体字段名称以 OpenClash 当前版本为准。如果你不熟悉这些设置,可以先使用订阅配置中自带的 DNS 设置,或保持插件默认值。

防止设备绕过路由器 DNS

即使路由器 DNS 设置正确,如果设备自己手动设置了公共 DNS,查询会绕过 OpenClash,导致分流失准与 DNS 泄露。

常见的绕过来源:

  1. 设备网络设置中手动填写了公共 DNS;
  2. Android 系统的私人 DNS 功能,见 Android 代理连不上排查;
  3. 浏览器内置的加密 DNS 功能;
  4. 部分应用内置的 DNS 解析。

处理方式:

  • 把设备 DNS 改回自动获取;
  • 在 OpenClash 中开启局域网 DNS 劫持相关选项(名称以版本为准),把发往 53 端口的查询重定向到路由器;
  • 对于浏览器与应用内置的加密 DNS,需要在对应设置中关闭,路由器层面难以完全拦截。

切换 DNS 模式后的注意事项

在两种模式之间切换,或者调整上游 DNS 后,设备上的旧解析结果不会立即失效,这是很多「改了设置却没效果」的原因。

  • 从 Fake-IP 切换到其他模式,或停用 OpenClash 时,设备可能还缓存着虚拟 IP,访问会失败,直到缓存过期;
  • 处理方法是让设备重新连接网络(关闭再打开 Wi-Fi),或在电脑上手动清除 DNS 缓存;
  • 浏览器自身也有 DNS 缓存,必要时重启浏览器;
  • 智能电视、游戏主机等设备不便清缓存时,重启设备是最直接的办法。

建议在家里网络使用较少的时段调整 DNS 设置,并在调整后用几类典型设备逐一验证。

如何检查 DNS 是否泄露

检查 DNS 泄露的通用思路是:通过在线 DNS 泄露检测页面,观察境外域名查询由哪些 DNS 服务器完成。

  • 如果检测结果中出现了你本地运营商的 DNS 服务器,说明部分境外查询没有经过代理;
  • 如果只出现代理节点所在地区或你设置的境外上游,说明配置基本符合预期。

检测结果只是参考,不同检测页面的方法不同,建议多做几次、对比不同设备。隐私层面的更多内容见 安全与隐私。

小结

OpenClash 的 DNS 设置可以简化为三个决定:用 Fake-IP 还是真实 IP 模式、上游 DNS 如何分组、如何防止设备绕过。家庭场景建议从 Fake-IP + 过滤名单起步,出现兼容问题再调整。完整的路由器方案见 路由器方案专题;DNS 配置不当导致的无法上网问题,可以参考 OpenClash 无法上网排查。选择服务商时,也可以在 机场品牌库 中查看各品牌的协议与线路资料。

常见问题

Fake-IP 模式为什么有些应用会出问题?

Fake-IP 返回的是虚拟地址段中的 IP,部分应用会直接使用解析结果做判断或缓存,例如局域网发现、部分游戏与时间同步服务。这类域名可以加入 Fake-IP 过滤名单,让它们返回真实 IP。

Redir-Host 模式和 Fake-IP 模式哪个更不容易 DNS 泄露?

两者都可以配置得较为规范,关键在于国内与境外域名分别使用合适的上游,以及设备的 DNS 请求是否都经过路由器。Fake-IP 模式下境外域名的真实解析交由代理端处理,通常更少暴露境外访问意图。

设备手动设置了公共 DNS,OpenClash 还能正常分流吗?

可能受影响。设备绕过路由器直接向公共 DNS 查询时,OpenClash 无法掌握域名信息,分流可能失准。可以通过防火墙规则劫持局域网 DNS 请求,或把设备的 DNS 改回自动获取。

OpenClash 的上游 DNS 应该怎么设置?

通常把国内可用的 DNS 用于解析国内域名与节点域名,把加密 DNS 或经代理的 DNS 用于境外域名。具体字段名称以 OpenClash 当前版本为准,不熟悉时可先使用订阅自带的 DNS 设置。

信息来源与更新时间

信息来源
品牌清单资料(品牌公开信息整理)
测试范围
本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
发布时间
待核实
核实日期
待核实
最近更新
待核实

字段含义与数据状态见 字段说明;核查进度见 品牌动态与核查日志。