基础概念 · Fake-IP 与 DNS 接管

Fake-IP 是什么:DNS 映射与连接排查

解析结果里出现 198.18 开头的地址,未必是 DNS 被填错了。客户端使用 Fake-IP 时,会先给应用一个合成地址,再在收到连接后找回对应域名。理解这段映射,才能判断哪里出了问题。

全部概念工具使用教程引用资料

合成地址用来保存域名与连接的关系

在相应 DNS 规则下,客户端为查询域名分配 Fake-IP,并记录地址与域名的对应关系。应用连接这个地址时,流量需要按配置回到客户端;客户端据映射恢复域名,再执行路由与出站处理。

这个地址不是网站服务器的真实 IP,不能直接拿去查地理位置或判断网站的机房。具体地址池由内核配置决定;一些示例使用 198.18.0.0/15 范围,它在 IANA 登记为网络设备基准测试用途,不是普通公网目标地址。

客户端为 DNS 查询分配合成地址并记录域名;应用的连接必须回到持有映射的客户端,才能恢复域名并执行路由。
映射和流量路径要衔接。合成地址不是目标网站的真实公网 IP。

DNS 接管、Fake-IP 与 TUN 各负责什么

DNS 接管、Fake-IP 与 TUN 各负责什么
概念主要作用单独开启后的限制
DNS 接管把相应查询送到客户端的解析流程仍要确认哪些应用、协议和端口被覆盖
Fake-IP返回合成地址并保存域名映射后续连接必须能回到持有映射的客户端
TUN按系统路由接收相应 IP 流量DNS、排除路由及出站仍需配置

浏览器自己的 DoH、已有 DNS 缓存或应用内置解析,可能走另一条查询路径。是否被接管要看实际设置和记录,不能只因为界面显示 TUN 已开启,就认定所有查询都经过 Fake-IP。

先追一条域名,从查询追到出站

  1. 固定一个出现问题的域名,记录查询工具、解析器、记录类型与返回地址。
  2. 如果返回值在配置的 Fake-IP 地址池内,确认客户端在运行,并检查它是否持有对应映射。
  3. 用原应用重新发起请求,在客户端连接记录中查看恢复的域名、命中规则和最终出站。
  4. 如果没有连接记录,先看路由与接管范围;如果有记录但出站失败,再检查节点和目标连接。

客户端的 DNS 监听端口与 HTTP 或 SOCKS 代理入口不是同一个概念。查询工具不能把 HTTP 混合端口当成普通 DNS 服务器端口,除非配置明确提供了对应 DNS 服务。

内网域名需要真实解析时,精确添加例外

部分内网服务、需要直接使用 IP 的应用,或特定网络发现流程可能不适合当前 Fake-IP 方式。先确认具体域名和查询路径,再为它添加过滤;不要为解决一个域名,把所有域名都排除。

下面只是 mihomo 的 DNS 配置片段,需合并进已有配置,不能作为完整配置导入。示例明确使用 blacklist 模式,将一个保留示例域名排除出 Fake-IP;使用时替换成自己的目标。

示例代码
dns:
  enhanced-mode: fake-ip
  fake-ip-filter-mode: blacklist
  fake-ip-filter:
    - "intranet.example.invalid"

过滤模式会改变名单的含义:blacklist 中的匹配域名不使用 Fake-IP,whitelist 的含义相反。不同内核的字段也不同,不能把这个 YAML 片段直接粘到 sing-box JSON。

不使用 Fake-IP 并不等于请求一定直连。真实解析用哪个 DNS、连接命中什么分流规则,需要分别设置。修改后用同一个域名复测,确认答案和出站都符合预期。

停止客户端后还连着合成地址,先看缓存

应用可能仍保存着之前的合成地址,客户端却已经停止,或重启后映射发生变化。这时应用继续访问旧地址,连接就可能失败。是否保存映射、怎样恢复,要看内核的缓存配置。

先恢复客户端和正确接管路径,再重新查询并重试目标。需要退出客户端长期直连时,恢复原来的 DNS 与路由,并按问题范围刷新应用或系统缓存。只清一个相关缓存即可定位时,不必重置整个网络配置。

Fake-IP 不等于加密 DNS

Fake-IP 解决的是客户端对域名和连接的识别方式。DoH、DoT 或 DoQ 解决的是到解析器的查询传输;两者可以配合,但其中一个开启,并不会自动完成另一个。

检查 DNS 查询走向、规则与最终出站时,分别记录证据。仅凭返回合成 IP,不能证明没有外发解析,也不能证明所有应用都被接管。

常见问题

198.18 开头的答案一定表示网站出问题了吗?

不一定。先看客户端是否启用了相应 Fake-IP 地址池。若是合成地址,应检查映射和接管路径,而不是按真实网站地址排查。

加到 fake-ip-filter 之后会自动直连吗?

不会。这个过滤影响 DNS 是否返回合成地址,连接的最终去向仍受路由规则和出站选择控制。

参考资料

原理和协议定义可查以下标准与官方文档。文中的流程图由 AFQKit 绘制。

DNS 与加密 DNS →DNS 与加密 DNS:解析、缓存和排查系统代理与TUN →系统代理与 TUN 的区别:选择、验证与恢复规则与分流 →分流规则怎么工作:模式、策略组与 DNS

返回基础概念 · 按症状排查问题