Clash DNS 配置完整指南

DNS 配置是 Clash 最容易被忽略但又很重要的部分。配置不当会导致 DNS 泄露、网站打不开、或者访问速度变慢。这篇文章详细讲解 Clash 的两种 DNS 模式、如何配置 DNS 分流、如何防止泄露,以及常见 DNS 问题的解决方法。

为什么需要配置 DNS

访问网站时,浏览器首先要通过 DNS 把域名(如 google.com)解析成 IP 地址。在代理环境下,DNS 解析有几个问题:

Clash 的 DNS 配置就是为了解决这些问题。

两种 DNS 模式

Clash 支持两种 DNS 模式:fake-ip 和 redir-host。

fake-ip 模式

工作原理:

Clash 给每个域名分配一个虚拟 IP(从 198.18.0.0/16 段),应用拿到这个虚拟 IP 后发起连接,Clash 拦截连接并解析真实 IP。

优点:

  • 速度快,不用等 DNS 解析
  • 没有 DNS 泄露
  • 匹配域名规则更准确

缺点:

  • 某些应用不兼容(如音乐软件、某些游戏)
  • 无法获取真实 IP

推荐使用场景:

日常浏览网页、看视频、开发工作

redir-host 模式

工作原理:

Clash 真实地解析 DNS,把真实 IP 返回给应用,应用用真实 IP 建立连接。

优点:

  • 兼容性好,所有应用都支持
  • 可以获取真实 IP
  • 适合需要精确 IP 的场景

缺点:

  • 需要等 DNS 解析,略慢
  • 可能有 DNS 泄露风险
  • 域名规则匹配可能不准确

推荐使用场景:

游戏、音乐软件、需要真实 IP 的应用

建议:大部分情况用 fake-ip 模式。如果遇到某些应用不兼容,再换成 redir-host 模式。

基础 DNS 配置

fake-ip 模式配置(推荐)

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - '*.lan'
    - 'localhost.ptlogin2.qq.com'
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

关键参数说明:

redir-host 模式配置

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: redir-host
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1
  fallback-filter:
    geoip: true
    geoip-code: CN

DNS 分流配置

DNS 分流的目标:国内域名用国内 DNS 解析,国外域名用国外 DNS 解析。这样速度最快,也能避免污染。

基于域名的 DNS 分流

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1
  nameserver-policy:
    # 指定域名用指定 DNS
    'google.com': 8.8.8.8
    'github.com': 1.1.1.1
    '+.cn': 223.5.5.5
    '+.taobao.com': 223.5.5.5
  fallback-filter:
    geoip: true
    geoip-code: CN

nameserver-policy 说明:

fallback-filter 工作原理

Clash 同时向 nameserver 和 fallback 发送 DNS 请求,然后根据 fallback-filter 规则决定用哪个结果:

这样能有效防止 DNS 污染。

推荐的 DNS 服务器

国内 DNS(nameserver)

nameserver:
  - 223.5.5.5      # 阿里 DNS
  - 119.29.29.29   # 腾讯 DNS
  - 114.114.114.114 # 114 DNS

国外 DNS(fallback)

fallback:
  - 8.8.8.8        # Google DNS
  - 1.1.1.1        # Cloudflare DNS
  - 208.67.222.222 # OpenDNS

DoH / DoT(加密 DNS)

如果担心 DNS 被监听或劫持,可以用加密 DNS:

nameserver:
  - https://223.5.5.5/dns-query    # 阿里 DoH
  - https://1.12.12.12/dns-query   # 腾讯 DoH

fallback:
  - https://8.8.8.8/dns-query      # Google DoH
  - https://1.1.1.1/dns-query      # Cloudflare DoH
  - tls://8.8.8.8:853              # Google DoT
注意:加密 DNS 速度会慢一点点,但安全性更高。如果不是特别在意隐私,用普通 DNS 就够了。

防止 DNS 泄露

DNS 泄露是指:你开着代理,但 DNS 请求没走代理,直接发到了本地 ISP 的 DNS 服务器。

如何检测 DNS 泄露

访问这些网站测试:

如果显示的 DNS 服务器是国内 ISP 的(如中国电信、中国联通),说明有泄露。

防止泄露的配置

1. 启用 Clash 的 DNS

dns:
  enable: true

2. 使用 fake-ip 模式

fake-ip 模式下 DNS 请求完全由 Clash 处理,不会泄露。

3. TUN 模式 + DNS 劫持

tun:
  enable: true
  stack: system
  dns-hijack:
    - any:53

这样所有 DNS 请求都会被 Clash 拦截,彻底防止泄露。

常见 DNS 问题

问题 1:某些网站打不开

原因:DNS 解析失败或返回了错误 IP。
解决:
  • 检查 fake-ip-filter,某些域名可能需要加进去
  • 试试切换到 redir-host 模式
  • 清除 Clash 的 DNS 缓存(重启 Clash)
问题 2:访问国内网站很慢

原因:国内网站被 fallback(国外 DNS)解析了,CDN 分配的节点不对。
解决:
  • 配置 fallback-filter,让国内 IP 用 nameserver 的结果
  • 或者在 nameserver-policy 中明确指定国内域名用国内 DNS
问题 3:音乐软件无法播放

原因:音乐软件(如网易云音乐)对 fake-ip 模式不兼容。
解决:
  • 把音乐软件的域名加入 fake-ip-filter
  • 或者切换到 redir-host 模式
fake-ip-filter:
  - '*.music.163.com'
  - '*.126.net'
问题 4:游戏连不上

原因:游戏可能需要真实 IP,fake-ip 模式不行。
解决:
  • 切换到 redir-host 模式
  • 或者把游戏域名加入 fake-ip-filter

性能优化建议

1. 用离你最近的 DNS 服务器
国内用阿里 DNS 或腾讯 DNS,速度快。
2. 减少 DNS 服务器数量
nameserver 和 fallback 各配 2-3 个就够了,太多反而慢。
3. 启用 DNS 缓存
Clash 会自动缓存 DNS 结果,同一个域名短时间内不会重复查询。

完整推荐配置

这是一个平衡速度、安全、兼容性的配置:

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - '*.lan'
    - '*.local'
    - 'localhost.ptlogin2.qq.com'
    - '+.msftconnecttest.com'
    - '+.msftncsi.com'
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4
      - 0.0.0.0/32

总结

DNS 配置看起来复杂,但核心就几点:

大部分情况下,用本文推荐的配置就够了。如果有特殊需求,再根据实际情况调整。