进阶配置 · 核心功能深度指南

深入理解
Clash 核心高级配置

掌握 TUN 模式、规则分流、DNS 防污染、订阅管理与节点测速,让 Clash 发挥 100% 效力

TUN 模式

TUN(网络隧道)模式通过在操作系统内核层创建虚拟网卡,在驱动层拦截所有 TCP/UDP 流量,实现真正的全局代理——无需应用程序主动支持代理协议。

什么时候需要开启 TUN 模式?
  • 游戏客户端(Steam、Epic、UPlay)不走系统代理,延迟高或连不上
  • 命令行工具 git clonenpm installpip install 无法走代理
  • Electron 应用(VS Code、Discord)内部请求不经过系统代理
  • 需要代理 UDP 流量(如语音通话、DNS-over-UDP、游戏 UDP 协议)

如何开启 TUN 模式

1
以管理员身份启动客户端 TUN 模式需要在驱动层安装虚拟网卡,首次启动必须具备管理员权限。Windows 右键「以管理员身份运行」;macOS 会弹出系统授权对话框。
2
在客户端「设置」中开启 TUN Clash Verge Rev 中进入「设置 → 系统设置 → TUN 模式」并打开开关。首次安装会提示安装驱动(Windows 为 wintun.dll,macOS 为内核扩展),按提示完成授权。
3
在配置文件中启用 TUN(可选精细控制) 通过 YAML 可精确控制 TUN 的工作模式、DNS 劫持和路由规则。

TUN 配置示例

YAML config.yaml
# TUN mode configuration
tun:
  enable: true
  stack: mixed        # mixed = gVisor(UDP) + system(TCP), best compatibility
  auto-route: true    # auto-add routing rules for TUN interface
  auto-redirect: true # auto-redirect TCP connections (Linux)
  auto-detect-interface: true
  dns-hijack:
    - any:53           # intercept all DNS queries to prevent leaks
  strict-route: true  # stricter routing, prevents traffic bypass
推荐 stack 值mixed 兼容性最佳(TCP 走 system,UDP 走 gVisor);纯 system 性能更高但 UDP 支持较弱;gvisor UDP 支持最完整但 CPU 占用略高。
注意:开启 TUN 后,所有流量均会经过 Clash,请确保配置文件的规则中包含国内直连规则(如 GEOIP,CN,DIRECT),避免国内流量也走代理造成速度下降。

YAML 规则分流配置

Clash 通过配置文件中的 rules 字段控制每条流量的走向——国内流量直连、境外流量代理、广告域名拦截。规则按顺序匹配,命中第一条即生效。

规则类型速查

规则类型 匹配内容 示例
DOMAIN 完整域名精确匹配 DOMAIN,google.com,PROXY
DOMAIN-SUFFIX 域名后缀(含子域名) DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD 域名含关键词 DOMAIN-KEYWORD,google,PROXY
IP-CIDR IP 地址段 IP-CIDR,192.168.0.0/16,DIRECT
GEOIP IP 归属地(国家/地区) GEOIP,CN,DIRECT
RULE-SET 引用外部规则集文件 RULE-SET,reject,REJECT
MATCH 兜底规则(必须放最后) MATCH,PROXY

完整分流配置示例

YAML config.yaml
# proxy groups
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - Auto-Speed-Test
      - HK-01
      - US-01

  - name: Auto-Speed-Test
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01

# rule-sets from community-maintained lists
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

# rules — matched top to bottom, first match wins
rules:
  - RULE-SET,reject,REJECT       # block ads/trackers
  - RULE-SET,direct,DIRECT       # CN domains → direct
  - RULE-SET,proxy,PROXY         # known proxy domains
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY                  # everything else → proxy
推荐使用社区规则集Loyalsoldier/clash-rules 持续维护、每日自动更新,覆盖广告拦截、国内直连、境外代理等场景,无需手动维护规则列表。

DNS 防污染配置

DNS 污染会导致境外域名被解析到错误 IP,造成连接失败或流量被劫持。Clash 内置 DNS 模块,可启用 DoH / DoT 加密解析,并针对国内外域名分别使用不同的 DNS 服务器,解析速度更快、更安全。

普通 DNS(易被污染)

明文 UDP 53 端口,运营商可轻易篡改响应内容,将境外域名指向封锁 IP 或错误地址。

DoH / DoT(加密解析)

DNS-over-HTTPS 或 DNS-over-TLS,全程 TLS 加密,运营商无法篡改,彻底防止 DNS 污染与劫持。

推荐 DNS 配置(国内外分流解析)

YAML config.yaml
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip      # fake-ip prevents DNS leaks, recommended
  fake-ip-range: 198.18.0.1/16

  # Nameservers for domains NOT matched by nameserver-policy
  nameserver:
    - https://dns.google/dns-query       # Google DoH
    - https://cloudflare-dns.com/dns-query # Cloudflare DoH
    - tls://1.1.1.1:853                    # Cloudflare DoT

  # Fallback: used when nameserver returns potentially polluted result
  fallback:
    - https://dns.google/dns-query
    - https://doh.pub/dns-query             # Tencent DoH (fast in CN)

  # Fallback filter: if GEOIP is CN → use nameserver; else use fallback
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

  # Policy: route specific domains to specific servers
  nameserver-policy:
    "geosite:cn":
      - https://doh.pub/dns-query   # fast domestic resolver for CN domains
      - 114.114.114.114
    "geosite:geolocation-!cn":
      - https://dns.google/dns-query
      - https://cloudflare-dns.com/dns-query
fake-ip 模式 推荐

为每个域名分配虚假 IP,DNS 解析在本地立即返回,实际连接时再解析真实地址。防止 DNS 泄漏,解析速度最快。

redir-host 模式 兼容

先获取真实 IP 再建立连接,兼容性更好(如某些依赖真实 IP 的应用),但可能有轻微 DNS 泄漏风险。

订阅管理与自动更新

订阅链接(Subscription URL)是机场提供的一个 URL,访问后返回包含所有节点信息的 YAML 配置。通过 proxy-providers 可在配置文件中直接引用多个订阅源,并设置自动刷新间隔。

方式一:客户端直接导入订阅链接

1
复制机场提供的 Clash 订阅链接 确保选择 Clash / Mihomo 格式,而非 V2Ray 或 Shadowsocks 格式。订阅链接通常以 https:// 开头,请求后返回 YAML 内容。
2
在 Clash Verge Rev 中导入 打开「配置」页面 → 点击右上角「+」→ 选择「URL 导入」→ 粘贴订阅链接 → 点击「下载」。
3
设置自动更新间隔 右键已导入的配置 → 「编辑信息」→ 设置「自动更新」为 24 小时(推荐),确保节点列表始终最新。

方式二:proxy-providers(多订阅合并)

适合同时使用多个机场、或希望将订阅与自定义规则分离的进阶用户。

YAML config.yaml
# Reference multiple subscription sources
proxy-providers:
  AirportA:
    type: http
    url: "https://your-airport-a.com/clash/subscribe?token=xxx"
    interval: 86400         # refresh every 24 hours
    path: ./providers/airport_a.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

  AirportB:
    type: http
    url: "https://your-airport-b.com/clash/subscribe?token=yyy"
    interval: 86400
    path: ./providers/airport_b.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

# Use providers in proxy groups
proxy-groups:
  - name: PROXY
    type: select
    use:
      - AirportA      # include all nodes from AirportA
      - AirportB      # include all nodes from AirportB

  - name: Auto-Best
    type: url-test
    use:
      - AirportA
      - AirportB
    url: https://www.gstatic.com/generate_204
    interval: 300
订阅链接安全提示:订阅链接包含您的账号 Token,请勿在公开场合分享。建议定期在机场后台重置 Token,发现异常流量时立即更换。

常见订阅问题

导入订阅后显示「没有节点」或节点为空
订阅链接格式错误——请确认是 Clash/Mihomo 格式,而非 V2Ray JSON 或 Shadowsocks 格式。在机场的「我的订阅」页面查找标有「Clash」或「Mihomo」字样的链接。若链接正确仍为空,尝试手动点击「更新订阅」按钮。
订阅更新失败,提示网络错误
订阅服务器本身可能需要代理才能访问。在 Clash Verge Rev 中,可以尝试开启「系统代理」后再点击更新订阅;或者在客户端设置中开启「通过代理更新订阅」选项。
如何将本地 YAML 文件与在线订阅合并使用?
使用 proxy-providers 引用在线订阅,再在 proxies 字段中手动添加本地节点,然后在 proxy-groups 中同时引用 use(providers)和 proxies(手动节点)即可合并使用。

节点测速与延迟优化

Clash 的策略组(Proxy Group)支持多种自动选路模式,无需手动切换节点:url-test 自动选最低延迟,fallback 在节点故障时自动切换,load-balance 多节点负载均衡。

url-test 最常用

定期向测速 URL 发送请求,自动切换到延迟最低的节点。适合对延迟敏感的场景(游戏、视频)。

fallback

优先使用列表第一个节点,当该节点不可用时自动切换到下一个。适合有稳定首选节点、需要故障转移的场景。

load-balance

多个节点轮询分配流量,提升整体带宽。适合同时进行多个下载任务的场景。

测速策略组配置示例

YAML config.yaml
proxy-groups:
  # Auto select lowest-latency node
  - name: Auto-Best
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300         # test every 5 minutes
    tolerance: 50          # switch only if new node is 50ms faster (prevents thrashing)
    lazy: true             # only test when traffic is present
    proxies:
      - HK-01
      - HK-02
      - US-01
      - SG-01

  # Failover: use HK-01 first, switch if unavailable
  - name: Failover
    type: fallback
    url: https://www.gstatic.com/generate_204
    interval: 180
    proxies:
      - HK-01       # primary
      - US-01       # backup 1
      - SG-01       # backup 2

  # Load balance across multiple nodes
  - name: LoadBalance
    type: load-balance
    strategy: consistent-hashing  # same domain always uses same node
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01
      - SG-01

  # Manual selection group (top-level entry point)
  - name: PROXY
    type: select
    proxies:
      - Auto-Best
      - Failover
      - LoadBalance
      - HK-01
      - US-01
tolerance 参数很重要:设置切换阈值(如 50ms)可避免节点频繁切换。若不设置,只要测速结果有 1ms 差异就会切换,导致连接不稳定。
测速 URL 选择:推荐使用 https://www.gstatic.com/generate_204(Google 204)或 https://cp.cloudflare.com/generate_204(Cloudflare 204),响应极快且服务稳定,不受内容影响。