Skip to content

DNS 污染与 Fake-IP 原理解密:从根域名劫持、RFC 6598 虚拟网段到防污染万字全书 ​

科学百科技术实验室 科学百科网络技术实验室 ·同行技术审校·最后深度核实:2026年10月·遵循实验室评测标准
DNS 污染与 Fake-IP 核心定义 (Answer-First)

DNS 缓存污染(DNS Cache Poisoning / 投毒),是国家级防火墙(GFW)在跨国骨干网出入口部署的光纤分光旁路嗅探探针,利用 UDP 53 协议无加密、无连接验证的先天缺陷,在客户端查询受限域名时,抢在真实权威 DNS 应答前注入虚假 IP 的网络中间人攻击行为。
Fake-IP 革命性解决方案:
针对 DNS 污染,新一代代理内核(Mihomo / sing-box)彻底颠覆了传统的本地解析流程:
1. 本地立即返回保留伪 IP:当应用程序向内核查询受限域名时,内核根本不发起公网 DNS 查询,而是立即从 RFC 6598 预留地址池(`198.18.0.0/15`)中分配一个临时虚拟 IP 返回给操作系统;
2. 建立内存双向字典:在本地内存中建立映射:`198.18.0.23 <===> google.com`;
3. 远程异步解析:应用程序向该伪 IP 发起 TCP 请求时,代理内核截获报文,还原出真实域名,直接打包通过加密隧道发送至海外节点执行远端 DNS 解析与建连,从根源上 100% 免疫境内骨干网的 DNS 投毒攻击。


一、 明文 DNS 协议的先天基因缺陷与 GFW 旁路投毒机理 ​

域名系统(DNS,RFC 1034 / RFC 1035)诞生于 1980 年代,其初始设计假设整个互联网环境完全可信,未包含任何密码学签名或防篡改验证:

DNS 投毒攻击的微秒级时序博弈
[用户终端] ---- (1. 发起明文 UDP 53 查询: twitter.com, TxID: 0x8F3C) ----> [公网骨干网]
    |                                                                      |
    | (3. 仅耗时 20ms: GFW 伪造应答抵达: IP=198.51.100.1, TxID: 0x8F3C)        | (物理分光复制)
    |                                                                      v
    v                                                             [GFW 旁路探针集群]
[系统协议栈采纳先到应答,写入本地 DNS 缓存]                              (提取 TxID 与域名黑名单)
    |
    v (发生严重错误: 浏览器访问了虚假 IP,连接彻底中断)
    ...
    ... (220ms 后,海外 8.8.8.8 真实应答抵达,但因套接字已关闭被系统内核直接丢弃)

1.1 攻击的三大核心物理要素 ​

  1. 传输层不可靠性:UDP 协议不进行握手,只要应答包中的源 IP、源端口与数据包内的 Transaction ID 与请求完全匹配,操作系统内核就会无条件信任并写入系统缓存;
  2. 物理传输时延差异:GFW 探针部署在各大城市骨干网路由器旁路,离国内用户物理距离极近(20ms 左右);而海外合规解析服务器(如 Cloudflare 1.1.1.1 或 Google 8.8.8.8)必须穿越跨洋海底光缆,往返时延(RTT)通常高达 180~260ms。因此 GFW 必然能在时序上以绝对优势“抢跑获胜”;
  3. 投毒 IP 池的黑洞化:GFW 注入的虚假 IP 并非随机生成,通常是海外特定机构的保留地址或完全无法建立三次握手的废弃 IP,导致浏览器立即报错 ERR_CONNECTION_REFUSED 或 ERR_TIMED_OUT。

二、 传统 Redir-Host 模式的致命缺陷与历史教训 ​

在 Fake-IP 架构普及之前,早期翻墙软件(如 Shadowsocks、早期 Clash)普遍采用传统的 Redir-Host 模式:

传统 Redir-Host 模式工作链路
[浏览器访问 youtube.com]
          |
          v (本地必须先获取真实 IP)
[客户端分流引擎] ---- 遭遇本地 GFW 投毒 ---> [获得受污染的错误 IP]
          |
          v (根据被污染的错误 IP 判断分流规则)
[规则误判]: 该虚假 IP 被判定为境外或被污染,强行转发给节点
          |
          v
[海外节点]: 尝试连接该虚假 IP,发现目标端口根本不存在,建连失败!
  • 必须本地先解析:Redir-Host 模式要求必须在本地先获得一个 IP,才能在路由表中进行 IP 规则匹配;
  • 远程解析引入巨大时延:即使采用 DoH/DoT 将查询转发至海外解析,每个新网站在首次打开前都必须等待 200~300ms 的远程 DNS 往返时延,导致网页初次载入感官严重卡顿;
  • 国内 CDN 灾难:如果统一走海外 DNS 解析,会导致淘宝、腾讯视频、Bilibili 等国内服务被解析到海外 CDN 节点,国内访问速度断崖式下跌。

三、 Fake-IP 架构万字深度拆解:内存池与双向映射模型 ​

为了彻底根除 Redir-Host 的死结,开源社区推出了基于 RFC 6598 标准预留地址段的 Fake-IP 机制:

Fake-IP 架构核心工作流
[应用程序]
    |
    | 1. 查询目标域名 (如: openai.com)
    v
[代理内核 (Mihomo / sing-box)]
    |
    +--- (根本不发起公网 DNS 查询!)
    +--- 从 198.18.0.0/15 地址池分配下一个可用伪 IP (例如: 198.18.0.45)
    +--- 内存写入哈希双向字典:
    |    { "198.18.0.45" <====> "openai.com" }
    |
    | 2. 微秒级立即返回伪造 IP: 198.18.0.45
    v
[应用程序获得 IP]
    |
    | 3. 向 198.18.0.45:443 发起 TCP SYN 建连握手包
    v
[内核 TUN 驱动 / 系统代理]
    |
    | 4. 截获该数据包,查表逆向还原: 目标其实是 "openai.com"
    v
[分流规则引擎匹配]
    |
    | 5. 命中规则: openai.com走海外专线
    v
[打包封装入加密隧道 (Trojan / VLESS)]
    |
    | 6. 数据包发送至海外服务器落地节点
    v
[海外出口机房]
    |
    | 7. 在海外直接解析 openai.com 并连接真实服务器
    v
[目标官方服务器]

3.1 核心优势总结 ​

  1. 0 毫秒 DNS 零等待:浏览器发出查询后,本地代理内核在 0.5 毫秒内即可返回 Fake-IP,消除了首次打开网页等待 DNS 解析的时延感;
  2. 完全免疫 GFW 投毒:由于本地根本不对海外域名发送明文 UDP 53 查询,GFW 的光纤分光探针完全无法嗅探并触发投毒;
  3. 国内海外完美分流:只有命中规则走代理的流量才会进入远程异步解析流程;对于 fake-ip-filter 中的国内服务,依然通过阿里/腾讯 DNS 进行高速直连解析。

四、 生产级 Fake-IP 规范配置实战手册 ​

4.1 Mihomo / Clash Verge Rev 高性能 Fake-IP 配置 (YAML) ​

yaml
# 科学百科生产级防投毒 Fake-IP 规范
dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16 # 严格遵循 RFC 6598 规范预留网段

  # 极其关键的过滤名单:内网穿透与国内敏感服务必须直连真实解析
  fake-ip-filter:
    - "*.lan"
    - "*.local"
    - "localhost.ptlogin2.qq.com"
    - "+.msftconnecttest.com"
    - "+.msftncsi.com"
    - "work.weixin.qq.com"
    - "+.battle.net"

  # 国内合规 DNS 服务器组
  nameserver:
    - 223.5.5.5
    - 119.29.29.29

  # 境外防投毒加密 DNS 组 (走代理节点转发)
  fallback:
    - https://1.1.1.1/dns-query
    - https://8.8.8.8/dns-query

  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

五、 十大经典 DNS 故障案例与实战处置(Case Studies) ​

故障场景核心技术诱因检查手段与排查指令处置与修复方案
关闭代理客户端后所有网页均打不开系统 DNS 设置残留为 127.0.0.1 或内核未释放网卡执行 ipconfig /all 观察适配器 DNS 栏开启网络属性将 DNS 还原为自动获取,或重启适配器
nslookup 查任何境外网站都返回 198.18.x.xFake-IP 正常运行的预期设计表现nslookup twitter.com 返回 198.18.x.x这是正常现象,无需修复,内核已在内存建立映射
微信电脑端无法登录或视频通话失败微信关键鉴权域名被 Fake-IP 误拦截导致直连校验失败查看客户端日志中的 DNS 解析记录将 *.qq.com 与 *.weixin.qq.com 加入 fake-ip-filter
Windows 局域网共享或内网打印机无法连接Windows 网络发现服务广播被 Fake-IP 拦截ping 打印机计算机名 返回 198.18.x.x在 fake-ip-filter 中放行 *.local 与 *.lan
网页提示“你的连接不是私密连接 (SSL 错误)”GFW 投毒返回的错误 IP 触发了证书域名不匹配审查浏览器证书颁发者与通用名称 (CN)开启 Fake-IP 模式,彻底杜绝明文解析投毒
国内音乐软件歌曲无法播放提示版权受限国内音乐域名走了海外远端解析,被识别为海外 IP观察播放时网络连接目标出口节点完善规则集,确保国内流媒体域名命中 DIRECT
主机出现 DNS 泄漏(测试能看到国内运营商 DNS)系统未启用 TUN 网卡接管,浏览器启用了 DoH访问 ipleak.net 观察 DNS 服务器列表参考 DNS泄漏防护指南 加固
暴雪战网国际服客户端无法更新下载战网 CDN 节点域名获取了非最佳出口 IP客户端日志查看战网 CDN 连接端点在 fake-ip-filter 中加入 +.battle.net
路由器硬重启后部分智能家居掉线Fake-IP 地址池持久化文件损坏导致 IP 分配重叠检查软路由 /etc/clash/fakeip.cache清理本地 fakeip 缓存文件并重启内核服务
公司内网 VPN (EasyConnect/AnyConnect) 冲突内网 VPN 虚拟网卡与代理内核路由争夺默认网关执行 route print 观察最高优先级路由跃点设置内网 VPN 网段直连,调整接口跃点数 (Metric)

六、 生产级防投毒专线网络选型建议 ​

要彻底根除 DNS 投毒与跨国连接解析延迟,最根本的工业化解决方案依然是直接采用物理不走 GFW 审查探针的 IPLC 专线集群:

独立实测 · 商业选型参考含赞助链接 · 不影响评测客观度

光速云 (Guangsu Cloud)

高性价比标杆 · IEPL 专线 + 隧道双架构
2020 年稳定运营至今,全线采用 IEPL 物理专线与企业级内网双线路架构,支持 VLESS 现代协议,晚高峰 4K 视频秒开无缓冲。节点覆盖香港、台湾、日本、新加坡及欧美,支持 Netflix、Disney+ 与 YouTube 全解锁。
✓ IEPL 专线 ✓ VLESS 协议 ✓ 优惠码 AMM ✓ 晚高峰 4K 秒开
参考价格:¥25/月起 (年付折合约¥8/月) 优惠码:AMM直达光速云官网实测选型 →
独立实测 · 商业选型参考含赞助链接 · 不影响评测客观度

飞猫云 (Feimao Cloud)

新手首选 · 专属客户端一键连接
2023 年高口碑轻量化服务商,主打零配置门槛与全平台专属客户端,下载登录即用。亚太欧美多线优质中继,原生解锁 ChatGPT、Claude、Netflix、Disney+ 与 HBO Max,适合日常追剧、科研与 AI 对话。
✓ 专属一键客户端 ✓ 原生解锁 ChatGPT ✓ 优惠码 flycat888 ✓ 极简免配置
参考价格:¥25/月起 (年付折合约¥7/月) 优惠码:flycat888直达飞猫云官网实测选型 →

七、 DNS 污染与 Fake-IP 深度答疑 (FAQ) ​

Q1:为什么有些教程建议把电脑的 DNS 设为 8.8.8.8 或 1.1.1.1,这样能防污染吗? ​

完全不能防污染!因为如果你在电脑网络属性中填写 8.8.8.8,你的操作系统在发起查询时使用的是传统的 明文 UDP 53 端口。正如前文分析,这个明文查询在穿越跨国骨干网出入口时,依然会被 GFW 探针旁路嗅探并在 20ms 内抢先注入虚假应答。只有配合 Fake-IP、DoH(加密 DNS)或通过加密代理隧道转发,才能真正免受投毒。

Q2:使用 Fake-IP 分配的 198.18.0.0/15 地址,会和我局域网其他设备冲突吗? ​

绝对不会。因为 198.18.0.0/15 是互联网工程任务组(IETF)在 RFC 6598 与 RFC 2544 中明确规定的基准网络互联基准测试专用保留地址段,任何正常的家庭宽带、企业局域网(通常使用 192.168.x.x 或 10.x.x.x)绝不会在真实网络中分配此网段,因此在架构设计上具有极高的隔离安全性。

Q3:为什么有人说 Fake-IP 模式下用 Ping 测试外网节点延迟是不准的? ​

因为在 Fake-IP 模式下,当你在命令行输入 ping google.com 时,你的操作系统实际上是在向本地内存分配的虚拟 IP(如 198.18.0.23)发起 Ping 请求。代理内核在本地直接响应了该 ICMP 报文,因此命令行显示的延迟通常只有 0.2ms ~ 1ms。要测试真实的海外节点延迟,必须通过代理客户端自带的“节点延迟测速(URL-Test)”功能进行端到端 HTTP 测试。