DNS 配置终极指南:Fake-IP 详解
DNS 是网络代理的核心环节。本文深入讲解 Fake-IP 的工作原理、如何避免 DNS 污染、以及常见问题的解决方案。
为什么 DNS 如此重要?
当你访问 example.com 时,你的浏览器首先需要知道这个域名对应的 IP 地址是什么。这个过程叫做 DNS 解析。如果 DNS 被污染或劫持,你可能会被导向错误的 IP,甚至完全无法访问目标网站。
在代理环境下,DNS 处理更加复杂:你需要在访问网站之前就知道它的真实 IP,而这个 IP 可能需要通过代理服务器来查询。这就是 Fake-IP 模式存在的意义。
Fake-IP 模式详解
Fake-IP(伪造 IP)是 Clash 的一种 DNS 解析模式。它的原理是:当应用程序请求解析 example.com 时,Clash 会立即返回一个"假"的 IP 地址(如 198.18.0.1),而不是真实的 IP。
当应用程序尝试连接这个假 IP 时,Clash 会拦截这个连接,从假 IP 中提取真实域名,然后通过代理查询真实 IP 并建立连接。
Fake-IP 的优势
- 避免 DNS 污染:真实 DNS 查询通过代理完成,不会被运营商劫持
- 加速首次访问:无需等待远程 DNS 查询,应用程序立即获得响应
- 防止 DNS 泄漏:所有 DNS 请求都经过 Clash 处理
- 兼容性好:几乎所有应用程序都能正常工作
Fake-IP 地址段
Clash 默认使用的 Fake-IP 地址段是 198.18.0.0/15。这个地址段是 RFC 2544 保留的,不会在公网上路由,因此不会与其他网站冲突。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/15 # 默认值,可自定义
推荐 DNS 配置
下面是适用于大多数场景的 DNS 配置:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/15
# 国内 DNS,用于解析国内域名(直连)
fake-ip-filter:
- "*.lan"
- "*.local"
# 当匹配这些域名时,直接返回真实 IP 而非 Fake-IP
nameserver:
# 国内常用的无污染 DNS
- 223.5.5.5 # 阿里 DNS
- 119.29.29.29 # 腾讯 DNS
fallback:
# 国外 DNS,通过代理查询
- https://doh.pub/dns-query
- https://dns.google/dns-query
常见问题解决方案
问题:能 ping 通但浏览器打不开网页
这是 Fake-IP 最常见的问题。原因通常是:
- fake-ip-filter 配置不当,将应该走代理的域名设置为直连
- 某些应用需要真实的 DNS 响应,无法处理 Fake-IP
解决方法:检查 fake-ip-filter 配置,确保不需要代理的域名才添加进去。
问题:内网服务无法访问
如果你的公司内网使用 custom domain(如 dev.internal),需要将这些域名加入 fake-ip-filter:
dns:
enhanced-mode: fake-ip
fake-ip-filter:
- "*.lan"
- "*.local"
- "*.internal"
- "*.company.local"
- "+.googleapis.com" # Google 域名的泛解析
TUN 模式下的 DNS 配置
在 TUN 模式下,DNS 配置需要额外注意。推荐配置如下:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/15
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
- 119.29.29.29
tun:
enable: true
dns-hijack:
- 8.8.8.8:53
- 1.1.1.1:53
# 这会拦截所有系统的 DNS 请求
总结
DNS 配置是 Clash 使用中最容易被忽视但又极其重要的环节。正确的 DNS 配置可以避免 DNS 污染、防止泄漏、提升访问速度。建议所有用户都使用 Fake-IP 模式,这是经过大量用户验证的最优方案。