高级技巧 2025年1月5日 阅读时间 10 分钟

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 的优势

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 配置,确保不需要代理的域名才添加进去。

问题:内网服务无法访问

如果你的公司内网使用 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 模式,这是经过大量用户验证的最优方案。