实战教程

Clash 策略组完全指南:自动选择、故障转移、负载均衡怎么配?

Clash 的策略组是实现智能分流的核心。本文详解 select、url-test、fallback、load-balance 四种策略组类型的用法,手把手带你配出完美的节点调度策略。

大家好,我是阿明。

在使用 ClashX 或其他 Clash 系列客户端时,很多新手朋友最初只是导入一份订阅链接,然后看着几十个甚至上百个节点发愁:选哪一个好呢?如果选定的节点挂了怎么办?难道每次都要手动切吗?

这就是我们今天要聊的主题 —— 策略组(Proxy Groups)

策略组是 Clash 的灵魂。如果说规则(Rules)决定了流量“去哪里”,那么策略组就决定了流量“怎么去”。通过科学的策略组配置,你可以实现:某个节点挂了自动跳到备份节点、看 Netflix 时自动选延迟最低的节点、甚至让多个节点同时跑来增加带宽。

本文将深度解析 Clash 的四种策略组类型,并提供拿来即用的实战方案。

为什么你需要策略组?

在没有策略组的情况下,你只能使用“单节点”模式。这种模式存在明显的局限性,特别是在现代复杂的网络环境下。

1. 单点故障风险(SPOF)

互联网环境是动态且脆弱的。任何服务器都有可能因为运营商维护、跨境线路波动、IP 被防火墙封锁或由于流量过载而失效。如果你的规则直接指向某个具体节点,一旦该节点断开,你的整个网络连接就会瞬间瘫痪。对于那些需要全天候保持在线的生产力工具(如 Telegram、Slack、Zoom 或远程桌面等),这种断连不仅影响体验,更可能造成工作损失。

2. 性能波动的挑战

节点性能受多种因素影响:地理位置、出口带宽、节点负载、以及运营商的路由质量。早上的香港节点可能飞快,到了晚上 8 点到 11 点的上网高峰期,由于出口带宽饱和,延迟可能会从 30ms 飙升到 300ms,甚至出现严重的丢包。手动切换不仅繁琐,而且你很难实时感知哪个节点当前最快。你可能正在观看一场精彩的 4K 直播,突然节点限速,如果你没有策略组,你只能忍受卡顿,然后去菜单里一个一个试。

3. 分流需求多样化与精细化

不同的互联网服务对网络的要求各不相同。你可能希望刷 Twitter 或浏览网页时使用美国的低延迟节点以获得极速体验;而在观看动画或流媒体时,自动选用日本或新加坡的专用解锁节点;在进行大文件下载时,则希望利用负载均衡功能尽可能跑满带宽。单节点配置完全无法应对这种精细化场景。

4. 实现“配置即管理”的自动化

现代网络环境要求我们尽可能减少人工干预。策略组通过将一组节点封装在一起,并赋予特定的“逻辑”,让节点调度变得智能化。一旦配置好,你可以数月甚至一年不用去操作界面,网络会自动寻找当前环境下的最优解。


四种策略组类型详解

Clash 核心支持四种基础策略组类型。理解它们的工作机制是写出高效配置的前提。

1. select(手动选择)

这是最基础的类型,也是大家在 ClashX 菜单栏里最常见的界面表现。

  • 工作原理:它提供一个列表,用户通过 GUI 界面手动点击来决定使用哪个节点或哪一个下级策略组。它不具备任何自动感知能力,纯粹听命于用户的交互。
  • 适用场景
    • 全局代理总闸:用于控制整体代理的开关。
    • 主力节点的强制选择:当你明确知道某个节点当前最稳定时。
    • 敏感业务隔离:某些网银、电商平台(如 PayPal、Amazon)或社交平台(如 LinkedIn)对 IP 变动极其敏感。如果使用自动测速组,IP 的瞬间跳变可能被系统识别为“账号被盗”或“异地登录”,导致账号被临时封禁或触发繁琐的二次验证。

YAML 示例:

proxy-groups:
  - name: "手动选择"
    type: select
    proxies:
      - 节点A
      - 节点B
      - 其他策略组
      - DIRECT

2. url-test(自动测速)

如果你追求极致的速度且不想动手,url-test 就是你的首选。

  • 工作原理:Clash 会按照设定的间隔(interval),向指定的 URL 发送一个极小的 HTTP GET 请求。它会记录下列表中所有节点的响应时间(Latency)。在下一次真实请求发起时,它会自动选用最近一次测速中延迟最低的那个节点。
  • 关键参数进阶解析
    • url: 测速地址。建议使用 http://www.gstatic.com/generate_204。这是 Google 提供的空响应地址,全球 CDN 分布极广,测速结果非常具有参考价值,且不会产生多余的流量负担。
    • interval: 测速间隔。建议设置为 300600。设为 10 或 30 虽然能更敏锐地捕捉变化,但会导致你的机场流量在无声无息中被测速请求消耗,甚至可能被机场防火墙识别为异常连接。
    • tolerance: 容差。这是一个非常人性化的参数。假设当前节点延迟 100ms,新测得的最佳节点延迟 80ms。如果设置 tolerance: 50,因为差距不足 50ms,Clash 会维持现状。这能有效防止节点在毫秒级差距间频繁跳变,导致长连接断开。
    • lazy: 懒惰模式。设为 true 后,只有当有流量匹配到该组时,Clash 才会发起测速。这能显著降低系统待机时的资源占用。

YAML 示例:

proxy-groups:
  - name: "自动优选"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    lazy: true
    proxies:
      - 节点A
      - 节点B
      - 节点C

3. fallback(故障转移)

fallback 追求的不是“最快”,而是“永不断线”。

  • 工作原理:它严格按照你在 proxies 列表中排列的先后顺序进行工作。它总是默认尝试使用列表中的第一个节点。只要第一个节点测速显示为“可用”(即在超时时间内有返回),它就会一直使用该节点。只有当第一个节点彻底失联时,它才会自动将流量“降级”切换到第二个节点,以此类推。
  • 适用场景
    • 专线备份方案:你可以把昂贵但极稳的 IPLC 专线放在第一位,把普通的中转节点放在第二位作为保底。
    • 工作环境:在需要保持长连接稳定的场景(如 SSH 远程管理)下,比频繁变动 IP 的 url-test 更好用。

YAML 示例:

proxy-groups:
  - name: "故障切换"
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - 高品质专线节点
      - 普通公网节点
      - 低速保底节点

4. load-balance(负载均衡)

这是专为高并发和大数据流设计的进阶功能。

  • 工作原理:流量会根据特定策略分摊到列表中的多个节点。这虽然不能让你的 50Mbps 节点 A 和 50Mbps 节点 B 叠加成 100Mbps 的单线程下载速度,但在面对网页多图并发加载、多线程下载工具(如 IDM、迅雷)或局域网多设备共享网络时,能显著平滑流量压力。
  • 关键参数 strategy 深度解析
    • consistent-hashing(一致性哈希):强烈推荐。它通过目标地址的哈希值来分配节点。这意味着当你访问同一个网站时,流量会始终固定在同一个节点上。这对于保持网站登录状态、避免触发安全验证至关重要。
    • round-robin(轮询):流量按顺序 A -> B -> C 依次循环分配。这种方式会导致你的对外 IP 极速变换,非常容易导致 Google 弹出验证码,甚至被某些安全程度高的网站临时封号。

YAML 示例:

proxy-groups:
  - name: "负载均衡组"
    type: load-balance
    strategy: consistent-hashing
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - 节点1
      - 节点2
      - 节点3

策略组嵌套:像搭积木一样构建网络

策略组真正的威力在于“嵌套引用”。你可以将一个策略组作为一个“成员”放入另一个策略组。

想象一下这个结构:

  1. 子组 A(香港自动):类型为 url-test,负责在 10 个香港节点中选最快的。
  2. 子组 B(美国自动):类型为 url-test,负责在 5 个美国节点中选最快的。
  3. 父组(分流决策):类型为 select,其 proxies 列表包含了 子组 A子组 BDIRECT

ClashX 界面上,你只需要决定走“香港”还是“美国”,而具体的节点优选过程在后台静默完成。这种层级化管理模式,是处理拥有数百个节点的机场订阅的最佳实践。


三大实战配置方案:从小白到极客

方案 1:极简双保底方案(适合大多数人)

如果你不希望配置文件太复杂,只想稳定上网。

proxy-groups:
  - name: "🚀 科学上网"
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - 你的主力节点
      - 你的常用备份节点
      - DIRECT

逻辑:主力挂了切备份,全挂了切直连。简单、透明、极其耐操。

方案 2:按地理区域自动优选(进阶优化)

适合机场节点丰富,且你有特定地区使用需求的朋友。

proxy-groups:
  - name: "🌍 地区分流"
    type: select
    proxies:
      - 🇭🇰 香港自动
      - 🇯🇵 日本自动
      - 🇺🇸 美国自动
      - 🇸🇬 新加坡自动

  - name: "🇭🇰 香港自动"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - HK-02
      
  - name: "🇺🇸 美国自动"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - US-01
      - US-02

通过这种方式,你可以把推特分流给美国组,把油管分流给香港组,实现地域与性能的完美匹配。

方案 3:流媒体深度定制方案

如果你追求完美的流媒体观看体验。

proxy-groups:
  - name: "📺 奈飞/流媒体"
    type: select
    proxies:
      - 🇸🇬 新加坡解锁 # 新加坡区版权多,中文字幕全
      - 🇹🇼 台湾解锁
      - 🇭🇰 香港解锁

然后在 rules 规则部分配合具体的域名集,实现精准导航。


完整的 proxy-groups YAML 架构代码块

这是一份可以直接复制到配置文件中并根据实际节点名称修改的专业模板:

proxy-groups:
  # 1. 总开关:控制所有非直连流量
  - name: Global-Proxy
    type: select
    proxies:
      - Auto-Latency-Mode
      - High-Stability-Mode
      - Region-Select
      - DIRECT

  # 2. 性能模式:适合追求速度
  - name: Auto-Latency-Mode
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - 节点A
      - 节点B
      - 节点C

  # 3. 稳定性模式:适合办公和连接服务器
  - name: High-Stability-Mode
    type: fallback
    url: http://www.gstatic.com/generate_204
    interval: 600
    proxies:
      - 优质专线-01
      - 优质专线-02

  # 4. 地域选择菜单
  - name: Region-Select
    type: select
    proxies:
      - 香港节点
      - 美国节点

  - name: 香港节点
    type: select
    proxies:
      - HK-Node1
      - HK-Node2

  - name: 美国节点
    type: select
    proxies:
      - US-Node1
      - US-Node2

避坑指南:新手常犯的五个错误

  1. 逻辑死循环(Circular Dependency): 绝对不要让组 A 引用组 B,同时组 B 又引用组 A。这会导致 Clash 在解析配置阶段直接卡死或闪退。

  2. 名称不匹配: YAML 对大小写、空格、特殊符号及其敏感。如果你在 proxies 列表里叫 HK_01,但在策略组里写成 HK 01,Clash 会报找不到节点的错误。

  3. 测速频率设置过快: 不要为了追求所谓的“低延迟”把 interval 设得低于 1 分钟。这不仅会消耗你的节点流量,还极易触发机场端的反爬虫/反攻击策略,导致你的订阅 IP 被临时封锁。

  4. 忽视策略组的 fallback 到 DIRECT: 建议在每一个重要的手动策略组末尾都放一个 DIRECT。这样即使你的所有代理节点都失效了,至少你还能访问国内的网络,不至于彻底“断网”。

  5. 负载均衡未设哈希: 除非你是纯下载用途,否则请务必在负载均衡中使用 consistent-hashing,避免登录态频繁丢失。


如何在 ClashX 中高效管理这些策略组?

对于 macOS 用户,ClashX 提供了目前市面上最直观的 GUI 管理体验。

  1. 菜单栏快捷切换:点击 ClashX 图标 -> 策略组。在这里你可以看到所有你定义的 name。点击即可切换。
  2. 查看实时延迟:对于 url-test 组,ClashX 会在节点名右侧以彩色字体(绿、黄、红)标出延迟数值。这能帮你一眼看出节点健康度。
  3. 手动触发刷新:如果你感觉当前网速变慢,可以在菜单中点击具体的策略组标题,通常会有一个“测速”按钮,点击它会立即发起一次全组节点的探测。
  4. 配置一键更新:如果你修改了 YAML 文件,在 ClashX 中只需点击“配置” -> “重新加载配置”,即可无缝应用最新的策略组设定。

总结

策略组不是简单的“节点列表”,它是你掌控互联网访问逻辑的罗盘。通过科学的 url-test 优选和 fallback 容灾,你可以彻底告别频繁手动测速、手动换节点的痛苦。

作为苹果生态的忠实用户,配合 ClashX 这样优秀的客户端,你完全可以实现“一次配置,终身自动化”的上网体验。

我是阿明,感谢你阅读这篇长文。如果你在配置过程中遇到了报错,或者对嵌套逻辑有疑问,欢迎在下方留言,我会尽可能回复大家。下次我们将深入探讨 Clash 的“规则集(Rule Provider)”功能,教你如何让你的分流规则永远保持最新!

本文为 macproxyhub 原创内容,未经授权请勿转载。在修改 YAML 配置文件前,建议先备份原始文件,以防缩进错误导致软件无法启动。