Clash代理组策略详解:选择、负载均衡与故障转移

2026-07-26 进阶配置 阅读约 12 分钟

Clash的代理组(Proxy Group)是整个配置体系中最灵活、也最容易被忽视的部分。很多人直接使用机场提供的配置,从未深入理解代理组的工作原理。但实际上,合理配置代理组是提升网络稳定性和速度的关键。

本文将系统讲解Clash所有代理组策略类型,从基础概念到高级嵌套用法,帮你真正掌握代理组的配置。

什么是代理组(Proxy Group)

代理组是Clash配置文件中的核心组件之一,它定义了一组代理服务器以及如何在这组服务器之间做流量分配决策。

简单来说,代理组解决的是这个问题:当你有多条线路(节点)时,选哪一条来传输数据?

在Clash配置文件中,代理组位于proxy-groups字段下:

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - 香港节点1
      - 香港节点2
      - 日本节点
      - 美国节点
代理组的核心要素
  • name:策略组名称,在规则中通过此名称引用
  • type:策略类型,决定了流量在组内代理间的分配方式
  • proxies:包含的代理服务器列表,可以是具体节点,也可以是其他策略组

Clash支持6种代理组类型,每种都有特定的使用场景。理解它们的区别是优化网络配置的基础。

select策略组:手动选择

select是最简单直接的策略类型——完全由用户手动选择使用哪个节点。这也是大多数机场配置中"Proxy"主策略组使用的类型。

基本配置

- name: "Proxy"
  type: select
  proxies:
    - 香港节点1
    - 香港节点2
    - 日本节点
    - 美国节点1
    - 美国节点2

使用场景

select策略组的技巧

在客户端UI中,select策略组通常以列表形式展示,点击即可切换。建议将最常用的节点放在列表最前面,减少切换操作。

url-test策略组:自动选择最优节点

url-test是最实用的自动化策略——通过定期测速,自动选择延迟最低的节点。这是大多数进阶用户的首选。

完整配置参数

- name: "Auto"
  type: url-test
  proxies:
    - 香港节点1
    - 香港节点2
    - 日本节点
    - 新加坡节点
  url: "http://www.gstatic.com/generate_204"
  interval: 300
  tolerance: 150

参数详解

interval设置注意事项

interval不建议低于60秒。频繁的测速请求会占用节点带宽,反而影响正常使用。推荐值为300秒(5分钟),既能及时感知网络变化,又不会产生额外负担。

lazy参数

lazy(默认为true)控制是否对不活跃的代理跳过测速。如果你的某些节点平时很少被访问到,开启lazy可以避免不必要的测速开销:

- name: "Auto"
  type: url-test
  proxies:
    - 香港节点1
    - 香港节点2
    - 日本节点
  url: "http://www.gstatic.com/generate_204"
  interval: 300
  tolerance: 150
  lazy: true

fallback策略组:故障转移

fallback策略组实现了主备切换逻辑——按列表顺序依次尝试节点,使用第一个可用的节点。

基本配置

- name: "Fallback"
  type: fallback
  proxies:
    - 香港节点1
    - 香港节点2
    - 日本节点
    - 美国节点
  url: "http://www.gstatic.com/generate_204"
  interval: 300

工作原理

fallback策略组按顺序对节点进行健康检查:

  1. 首先测试"香港节点1"是否可用
  2. 如果可用,直接使用"香港节点1",不再检测后续节点
  3. 如果不可用,测试"香港节点2"
  4. 依此类推,直到找到一个可用的节点
  5. 如果全部不可用,则使用列表中第一个节点(即使不可达)

与url-test的区别

关键区别
  • url-test:选择延迟最低的节点(追求速度)
  • fallback:选择列表中第一个可用的节点(追求优先级)

如果你希望优先使用香港节点,只有香港节点不可用时才切换到日本节点,应该用fallback。如果你希望香港和日本节点中哪个快就用哪个,应该用url-test。

典型使用场景

load-balance策略组:负载均衡

load-balance将流量分散到多个节点,适合需要高带宽或多人共享的场景。

基本配置

- name: "LoadBalance"
  type: load-balance
  proxies:
    - 香港节点1
    - 香港节点2
    - 香港节点3
    - 日本节点1
  url: "http://www.gstatic.com/generate_204"
  interval: 300
  strategy: consistent-hashing

负载均衡算法

Clash支持两种负载均衡算法:

consistent-hashing(一致性哈希)

同一个目标域名(如google.com)的所有请求始终走同一个节点。好处是:

  • 连接稳定,不会频繁切换节点
  • 保持TCP长连接的效率
  • 避免因切换节点导致的cookie丢失或会话中断

推荐:这是绝大多数场景下的最佳选择。

round-robin(轮询)

按顺序轮流使用每个节点,第1个请求走节点1,第2个请求走节点2,依此类推。

特点:

  • 流量分配最均匀
  • 但可能导致同一个域名的请求分散到不同节点
  • 可能影响依赖长连接的服务

适用场景:多人共享同一个代理配置时,每个用户的请求可以分散到不同节点。

load-balance的限制

load-balance策略在某些机场可能不友好。部分机场对单节点有速率限制或连接数限制,如果分散到多节点反而可能触发风控。使用前建议测试实际效果。

relay策略组:链式代理

relay是最特殊的策略类型——它将流量依次经过多个代理节点,形成代理链。这是Clash中唯一能实现"多级代理"的方式。

基本配置

- name: "Relay"
  type: relay
  proxies:
    - 日本节点(作为入口)
    - 新加坡节点(作为中间节点)
    - 美国节点(作为出口)

工作原理

数据流路径为:你的设备 → 日本节点 → 新加坡节点 → 美国节点 → 目标网站

对于目标网站来说,请求来自美国节点的IP。但日本和新加坡节点都能看到你原始的加密流量。

使用场景

relay的性能代价

链式代理会显著增加延迟。每增加一跳,延迟增加约20-100ms。3跳以上的代理链基本不适合日常浏览,仅适合对隐私要求极高的场景。此外,relay策略组不支持urlinterval参数,因为它的健康检查机制与其他策略不同。

relay的限制

嵌套代理组的高级用法

代理组的proxies列表不仅可以包含具体节点,还可以包含其他策略组。这就是嵌套代理组——实现复杂路由逻辑的核心机制。

嵌套结构示例

proxy-groups:
  # 底层:按地区分组
  - name: "香港节点组"
    type: url-test
    proxies:
      - 香港节点1
      - 香港节点2
      - 香港节点3
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "日本节点组"
    type: url-test
    proxies:
      - 日本节点1
      - 日本节点2
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "美国节点组"
    type: url-test
    proxies:
      - 美国节点1
      - 美国节点2
      - 美国节点3
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  # 中层:地区优先级
  - name: "亚太自动"
    type: fallback
    proxies:
      - 香港节点组
      - 日本节点组
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  # 顶层:最终选择
  - name: "Proxy"
    type: select
    proxies:
      - 亚太自动
      - 美国节点组
      - 香港节点组
      - 日本节点组

嵌套的工作逻辑

在上面的例子中:

  1. "Proxy"策略组提供最终手动选择
  2. 默认选择"亚太自动",它会优先使用香港节点组(因为fallback按顺序)
  3. 如果所有香港节点都不可用,自动切换到日本节点组
  4. 用户也可以手动切换到"美国节点组"或某个具体地区组
嵌套的最佳实践

代理组嵌套深度建议不超过3层。过深的嵌套会增加配置的理解难度和调试复杂度,而且可能影响Clash的解析性能。

实战:构建智能选择策略组

以下是一个完整的实战配置,实现"智能选择 + 手动兜底"的策略架构:

设计思路

完整配置

proxy-groups:
  # ===== 主策略组 =====
  - name: "Proxy"
    type: select
    proxies:
      - Auto Best
      - 香港自动
      - 日本自动
      - 新加坡自动
      - 美国自动
      - DIRECT

  # ===== 自动选择层 =====
  - name: "Auto Best"
    type: fallback
    proxies:
      - 香港自动
      - 日本自动
      - 新加坡自动
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  # ===== 地区自动层 =====
  - name: "香港自动"
    type: url-test
    proxies:
      - HK-01
      - HK-02
      - HK-03
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 100

  - name: "日本自动"
    type: url-test
    proxies:
      - JP-01
      - JP-02
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 100

  - name: "新加坡自动"
    type: url-test
    proxies:
      - SG-01
      - SG-02
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 100

  - name: "美国自动"
    type: url-test
    proxies:
      - US-01
      - US-02
      - US-03
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 150

  # ===== 流媒体专用 =====
  - name: "Disney+"
    type: select
    proxies:
      - 美国自动
      - US-01
      - US-02

  - name: "Netflix"
    type: select
    proxies:
      - 香港自动
      - 日本自动
      - 美国自动

  # ===== 游戏专用 =====
  - name: "Game"
    type: url-test
    proxies:
      - HK-01
      - HK-02
      - JP-01
    url: "http://www.gstatic.com/generate_204"
    interval: 120
    tolerance: 50

配置解析

常见策略组配置模板

模板1:简洁自动切换

适合不想手动选择、希望全自动的用户:

proxy-groups:
  - name: "Proxy"
    type: url-test
    proxies:
      - 节点1
      - 节点2
      - 节点3
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 150

模板2:主备双线路

适合有明确主备线路的用户:

proxy-groups:
  - name: "Proxy"
    type: fallback
    proxies:
      - 主线路组
      - 备用线路组
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "主线路组"
    type: url-test
    proxies:
      - HK-01
      - HK-02
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "备用线路组"
    type: url-test
    proxies:
      - JP-01
      - SG-01
    url: "http://www.gstatic.com/generate_204"
    interval: 300

模板3:多地区智能选择

适合拥有多地区节点的高级用户:

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - Smart Auto
      - HK Auto
      - JP Auto
      - SG Auto
      - TW Auto
      - US Auto
      - DIRECT

  - name: "Smart Auto"
    type: url-test
    proxies:
      - HK Auto
      - JP Auto
      - SG Auto
      - TW Auto
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 80

  - name: "HK Auto"
    type: url-test
    proxies: [HK-01, HK-02, HK-03]
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "JP Auto"
    type: url-test
    proxies: [JP-01, JP-02]
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "SG Auto"
    type: url-test
    proxies: [SG-01, SG-02]
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "TW Auto"
    type: url-test
    proxies: [TW-01, TW-02]
    url: "http://www.gstatic.com/generate_204"
    interval: 300

  - name: "US Auto"
    type: url-test
    proxies: [US-01, US-02, US-03]
    url: "http://www.gstatic.com/generate_204"
    interval: 300
配置建议

以上模板需要根据你的实际节点名称替换proxies中的值。建议配合Rule Provider使用,让不同流量走不同的策略组,实现精细化的流量管理。