Clash 劫持 DNS 正确配置指南

Clash 劫持 DNS 通过自定义域名解析规则,实现国内外流量的智能分流,本文详解配置方法与常见问题解决方案。

什么是 DNS 劫持

DNS 劫持是 Clash 核心功能之一,通过接管域名解析请求,将特定域名的解析结果重定向到代理节点或直连线路,在 dns 配置段中启用 enable: true 后,Clash 会根据预设规则决定每个域名的解析方式。

dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1

上述配置中,nameserver 负责解析国内域名,fallback 用于国外域名,当 fallback 组的 DNS 服务器响应超时时,自动切换到 nameserver,确保解析成功率。

代理组类型与适用场景

Clash 代理组决定流量如何转发,常见三种类型:

  • select:手动选择节点,适合需要明确指定代理的场景
  • url-test:自动测速选择延迟最低节点,适合日常上网
  • fallback:优先使用列表中第一个可用节点,其他作为备份
proxy-groups:
  - name: 代理选择
    type: select
    proxies:
      - 节点A
      - 节点B
  - name: 自动测速
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - 节点A
      - 节点B

日常访问国际网站建议使用 url-test,需要特定节点时使用 select

TUN 模式与系统代理的区别

TUN 模式创建虚拟网卡,接管设备所有流量(包括 UDP、游戏数据包),适合需要全流量代理的场景。系统代理仅处理 HTTP/HTTPS 请求,无法代理游戏或 UDP 流量。

开启 TUN 模式需要在配置中启用:

tun:
  enable: true
  stack: system
  dns-hijack:
    - 8.8.8.8:53
  auto-route: true

游戏玩家、UDP 需求用户应选择 TUN mode,普通网页浏览系统代理足够。

分流规则写法与优先级

Clash 规则按顺序匹配,常用规则类型:

  • DOMAIN-SUFFIX:匹配域名后缀,如 google.com 匹配所有子域名
  • DOMAIN:精确匹配域名
  • IP-CIDR:匹配 IP 段
  • GEOIP:按国家/地区匹配
rules:
  - DOMAIN-SUFFIX,google.com,代理选择
  - DOMAIN,www.baidu.com,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,代理选择

规则顺序至关重要:精细规则在前,通用规则在后。MATCH 兜底匹配所有未命中流量。

常见问题 FAQ

现象:开启 DNS 劫持后部分网站无法访问

原因:DNS 服务器不可达或 fallback 延迟过高

解决方法:更换为延迟更低的 DNS 服务器,或在 nameserver 中增加更多国内 DNS


现象:fake-ip 模式下内网设备无法访问

原因:fake-ip 虚拟 IP 段未被内网路由识别

解决方法:在配置中添加 fake-ip-range: 198.18.0.1/16,并设置内网网段直连


现象:代理规则生效但速度慢

原因:节点带宽不足或 DNS 解析到较远服务器

解决方法:切换至带宽更高的节点,或调整 fallback DNS 为本地可用的国际 DNS

您可以还会对下面的文章感兴趣: