client/router · 集群 A · OpenWrt 与 OpenClash · 4/6
OpenClash DNS 设置:Fake-IP 与 Redir-Host 模式区别及防泄露思路
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 泄露。
常见的绕过来源:
- 设备网络设置中手动填写了公共 DNS;
- Android 系统的私人 DNS 功能,见 Android 代理连不上排查;
- 浏览器内置的加密 DNS 功能;
- 部分应用内置的 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 设置。
信息来源与更新时间
- 信息来源
- 品牌清单资料(品牌公开信息整理)
- 测试范围
- 本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
- 发布时间
- 待核实
- 核实日期
- 待核实
- 最近更新
- 待核实