本文详解Clash代理组中fallback故障转移的工作原理,对比select、url-test、fallback三种模式的差异,提供完整的YAML配置示例,帮助跨境办公用户实现节点自动切换与高可用性。
什么是fallback故障转移
fallback是Clash代理组的一种类型,核心功能是按顺序检测节点可用性,优先使用列表中第一个可达节点,与url-test的延迟测试不同,fallback仅检测节点是否可达(通常通过HTTP请求),不比较延迟数值。
适用场景:
- 多节点备份,主节点不可用时自动切换
- 跨境办公需要持续稳定的网络连接
- 学术资源访问场景下的冗余保障
三种代理组类型对比
| 类型 | 选择逻辑 | 适用场景 |
|---|---|---|
| select | 手动选择 | 需要固定节点 |
| url-test | 按延迟排序 | 追求最低延迟 |
| fallback | 按顺序优先 | 保障持续可用 |
配置示例:
proxy-groups:
- name: 故障转移组
type: fallback
proxies:
- 节点A
- 节点B
- 节点C
url: 'http://www.gstatic.com/generate_204'
interval: 300
关键参数说明:
url:健康检测地址,建议使用Google或Cloudflare的静态资源interval:检测间隔(秒),默认300秒
fallback配置步骤
- 定义代理节点:在proxies字段中添加多个节点
- 创建fallback组:设置type为fallback,按优先级排序
- 配置检测参数:url建议使用
http://www.gstatic.com/generate_204 - 设置检测间隔:interval建议300-600秒,过于频繁会影响性能
- 接入规则:在rules中引用该代理组
完整配置片段:
proxies:
- name: 节点A
type: ss
server: 203.0.113.1
port: 8388
cipher: aes-256-gcm
password: password123
- name: 节点B
type: ss
server: 203.0.113.2
port: 8388
cipher: aes-256-gcm
password: password456
proxy-groups:
- name: 办公网络
type: fallback
proxies:
- 节点A
- 节点B
url: 'http://www.gstatic.com/generate_204'
interval: 300
rules:
- DOMAIN-SUFFIX,example.com,办公网络
- GEOIP,CN,DIRECT
- MATCH,办公网络
TUN模式与系统代理的区别
- 系统代理:仅接管HTTP/HTTPS流量,配置简单,适合浏览器访问
- TUN模式:接管全部流量(含UDP、游戏),需要更高权限
fallback故障转移在两种模式下均可生效,TUN模式更能保障节点切换时的流量不断连。
分流规则写法
DOMAIN-SUFFIX:匹配域名后缀DOMAIN-KEYWORD:匹配域名关键词IP-CIDR:匹配IP段GEOIP:按国家/地区分流
优先级:规则按顺序匹配,命中后停止,建议将fallback代理组规则放在需要故障转移的场景中。
FAQ
Q:节点全部不可用会怎样? A:Clash会持续尝试检测,直到某个节点恢复,期间网络请求会失败,建议保留一个低优先级节点作为保底。
Q:fallback和url-test可以同时使用吗? A:可以,将url-test组作为fallback的子节点,实现先选最优再故障转移的复杂策略。
Q:检测间隔设置多少合适? A:办公场景建议300-600秒;需要快速切换时可降至60秒,但会增加资源消耗。
