🎭 解密 Fake‑IP · 虚拟 DNS 映射如何彻底防止泄漏
Fake‑IP 是 Clash 中最具创新性的 DNS 机制,它将真实域名解析隐藏在代理内部,让你的网络请求在本地只看到虚拟 IP,从而根除 DNS 泄漏风险。
应用发起请求
→
Clash 返回虚拟 IP
→
连接虚拟 IP
→
内核映射真实地址
→
代理转发到目标
📖 什么是 Fake‑IP?
传统 DNS 的隐患
在普通代理模式下,应用先查询 DNS 获取真实服务器 IP,再尝试连接。这个查询过程往往发生在本机或路由器上,导致:
- ❌ DNS 请求明文传输,运营商可窥探
- ❌ 可能被投毒或劫持
- ❌ 部分应用绕过代理直接解析
Fake‑IP 的解决方案
Clash 接管了所有 DNS 请求:
- ✅ 应用查询任何域名,Clash 直接返回一个虚拟 IP(来自 198.18.0.0/16 网段)
- ✅ 同时在内核中建立“域名 ↔ 虚拟 IP”映射表
- ✅ 当应用连接该虚拟 IP 时,Clash 根据映射找到真实域名,通过代理节点进行 DNS 解析
- ✅ 本机不再发出任何真实 DNS 查询
🔐 整个过程中,你的计算机就像在问一个本地“虚假”的 IP,外界完全看不到你的域名请求。
✨ 核心优势与使用场景
🚀 性能与隐私优势
- 零 DNS 泄漏:本地不会发出任何真实 DNS 查询,彻底杜绝运营商或局域网监听。
- 极速响应:虚拟 IP 由 Clash 直接生成返回,无需等待网络 DNS 解析。
- 规则匹配精准:所有流量在 Fake‑IP 阶段已确定域名,后续规则可以直接基于域名匹配,不会因 CDN 多 IP 而误判。
- UDP 友好:配合 TUN 模式,游戏、语音应用的 DNS 请求也能被完美接管。
⚠️ 注意事项与兼容性
- 部分软件可能硬编码了 DNS 服务器(如某些企业 VPN),需要额外调整。
- 虚拟 IP 范围不应与本地网络冲突,默认的 198.18.0.0/16 是为测试预留的地址段,一般很安全。
- 在 Fake‑IP 模式下,ping 某个域名将返回虚拟 IP,而不是真实 IP,这是正常现象。
💡 如果你需要查看真实 IP,可以暂时关闭 Fake‑IP 或使用 nslookup 并指定非 Clash 代理的 DNS。
🛠️ 如何启用与调优 Fake‑IP
快速开启(图形界面)
在 Clash Verge Rev 中,点击左侧 “DNS” 选项卡,找到 “增强模式”,选择 “Fake‑IP” 即可。下面的虚拟 IP 范围一般保持默认。
手动配置(YAML)
在配置文件中添加或修改 dns 段:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16 # 可自定义虚拟 IP 段
fake-ip-filter: # 可选:排除某些域名不返回假 IP
- '*.lan'
- '+.local'
🔧 调优建议: 如果局域网内有内部域名(如 nas.local),请将它们加入
fake-ip-filter,避免被映射为虚拟 IP 导致无法访问。
🆚 Fake‑IP vs redir‑host 模式
🎭 Fake‑IP
- ✅ DNS 完全掌控在代理内核
- ✅ 无任何本地真实 DNS 查询
- ✅ 域名匹配始终准确
- ❌ 依赖映射表,重启后丢失
- ❌ 某些直连场景需要额外过滤
📡 redir‑host
- ✅ 使用真实 DNS 解析,兼容性好
- ✅ 重启后无映射丢失问题
- ❌ 存在 DNS 泄漏风险
- ❌ 域名匹配可能因 CDN IP 变化而失败
- ❌ 无法完美处理 UDP 流量
❓ Fake‑IP 常见问题
开启 Fake‑IP 后部分网站无法访问?
检查虚拟 IP 范围是否与本地网络冲突,或将该域名加入 fake-ip-filter 列表。局域网设备(如路由器管理页)建议直连。
Fake‑IP 会影响本地 DNS 缓存吗?
不会,Fake‑IP 只影响 Clash 代理的流量。系统 DNS 缓存和 hosts 文件不受干扰。
如何确认 Fake‑IP 已生效?
在命令行 ping 一个域名(如 google.com),如果返回的 IP 是 198.18.x.x 开头,说明 Fake‑IP 正在工作。
Fake‑IP 模式下广告屏蔽规则还管用吗?
管用。规则匹配基于域名,而 Fake‑IP 保留了完整的域名信息,因此广告域名可以被正确拦截。
🎉 你现在已经理解了 Fake‑IP 的精髓,下一步深入学习 Mihomo 内核,探索 Clash Verge Rev 的底层动力。
了解 Mihomo 内核 →