机场知识 知识解读
自动选择节点:url-test、fallback 与负载均衡
Clash / Mihomo 的自动选择节点是怎么工作的?解释 select、url-test、fallback、load-balance 四类策略组的原理、关键参数与适用场景,附简短 YAML 示例,并说明 AI 账号为什么不适合放进自动切换组。
- 作者
- 网络研究组
- 首次发布
- 最后更新
- 内容类型
- 知识解读
- 阅读时间
- 约 3 分钟
直接答案
自动选择节点是客户端策略组的一种用法:Clash / Mihomo 会定期经各节点请求一个测试网址,再按规则自动决定用哪个节点。url-test 自动选延迟最低的节点,fallback 按顺序选第一个可用节点,load-balance 把连接分散到多个节点。它们适合日常浏览和下载,但会让出口 IP 发生变化,AI 账号等需要固定出口的流量应使用手动 select 策略组。
- 定义 策略组
- 策略组(Clash / Mihomo 配置中的 proxy-groups)是一组节点加上一条选择规则。分流规则把流量交给某个策略组,策略组再按 select、url-test、fallback、load-balance 等类型决定实际使用的节点。
Key Takeaways · 要点速览
- 策略组(proxy-groups)决定流量走哪个节点,自动选择只是其中几种类型。
- url-test 选延迟最低,tolerance 参数用来避免频繁跳动。
- fallback 按列表顺序选第一个可用节点,适合「主力 + 备用」。
- load-balance 分散连接,会导致同一服务的请求走不同出口 IP。
- AI、登录类服务用 select 固定节点,自动组只用于日常流量。
自动选择是怎么工作的
客户端里的「自动选择」「故障转移」「负载均衡」并不是机场提供的特殊节点,而是 策略组 的不同类型。Clash / Mihomo 会按设定的间隔,经组内每个节点请求一个测试网址(健康检查),得到各节点的可用性和延迟,再按策略组类型决定当前使用哪个节点。
流量先由分流规则交给某个策略组,策略组再选出具体节点,分流规则本身见 分流规则是什么。
四种常见策略组
| 类型 | 选择方式 | 出口 IP 是否稳定 | 适合场景 |
|---|---|---|---|
| select | 用户手动选择 | 稳定 | AI 工具、账号登录、需要固定地区的服务 |
| url-test | 自动选延迟最低的节点 | 可能变化 | 日常浏览、一般网站 |
| fallback | 按顺序选第一个可用节点 | 主力正常时稳定 | 「主力 + 备用」的容灾组合 |
| load-balance | 把连接分散到多个节点 | 经常变化 | 多任务下载、并发请求 |
url-test:自动选最快
url-test 定期测试组内所有节点,自动使用延迟最低的一个。关键参数:
url:健康检查使用的测试网址,以客户端设置中显示的为准;interval:测试间隔,单位为秒;tolerance:容差(毫秒),新节点比当前节点快的幅度超过该值才切换,用来避免来回跳动;lazy:开启后仅在策略组被使用时才测试,减少无效请求。
需要注意,「延迟最低」只代表测试那一刻对测试网址的响应快,不代表带宽最大或负载最低,原理见 节点负载与限速。
fallback:主力挂了再换
fallback 按列表顺序检查节点,始终使用第一个可用的节点。主力节点故障时自动切到下一个,主力恢复后通常会切回。它适合把一个稳定的主力节点放在第一位,后面放不同线路的备用节点。
load-balance:分散连接
load-balance 把不同连接分配到不同节点,常见分配策略:
| strategy | 行为 |
|---|---|
| consistent-hashing | 同一目标域名尽量走同一节点 |
| round-robin | 轮流分配,每个连接可能走不同节点 |
| sticky-sessions | 同一来源与目标在一段时间内保持同一节点 |
注意load-balance 会让同一个网站的请求从多个 IP 发出。即使使用 consistent-hashing,同一服务的不同域名也可能落到不同节点。登录类服务和 AI 工具看到的是「同一账号同时出现在多个 IP」,容易触发验证或风控。
简短 YAML 示例
以下为 Mihomo 配置中 proxy-groups 的示意片段,节点名称需与订阅中的实际名称一致,参数以 Mihomo 内核文档 和客户端说明为准:
proxy-groups:
- name: "AI 固定"
type: select
proxies: ["日本 01", "新加坡 01", "美国 01"]
- name: "自动选择"
type: url-test
proxies: ["香港 01", "香港 02", "台湾 01"]
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
lazy: true
- name: "故障转移"
type: fallback
proxies: ["日本 01", "日本 02", "新加坡 01"]
url: "https://www.gstatic.com/generate_204"
interval: 300
- name: "下载均衡"
type: load-balance
proxies: ["香港 03", "日本 03"]
url: "https://www.gstatic.com/generate_204"
interval: 300
strategy: consistent-hashing
提示订阅更新会覆盖原配置。在 Clash Verge Rev 中修改策略组,建议使用订阅的覆写或扩展配置功能,而不是直接编辑订阅文件。Surge、Stash、Shadowrocket 等客户端也有类似的策略组类型,名称和参数以各自说明为准。
怎么组合使用
- AI 与账号类:用 select 固定一个支持地区的节点,地区选择见 机场节点应该怎么选择;
- 日常浏览:用 url-test,组内放同一地区、延迟相近的节点,配合适当的 tolerance;
- 需要容灾:用 fallback,主力放第一位,备用选不同线路;
- 大量下载:可考虑 load-balance,但不要把需要登录的网站分流到这个组。
小结
自动选择节点本质是策略组在帮你测速和切换。url-test 追求最快,fallback 追求可用,load-balance 追求分散,三者都会在不同程度上改变出口 IP。日常流量交给自动组省心,AI 和账号类流量交给手动 select 固定,是最稳妥的组合方式。
常见问题
自动选择组为什么一直在跳节点?
多个节点延迟接近时,每次测速结果都可能不同。适当调大 tolerance 和 interval,可以减少切换;对稳定性要求高的流量改用 select 手动固定。
fallback 切到备用节点后会自动切回来吗?
一般会。fallback 总是选择列表中第一个可用的节点,主力节点恢复并通过健康检查后,通常会重新使用它,具体行为以客户端说明为准。
load-balance 能叠加多个节点的速度吗?
不能把单个连接的速度叠加。它只是把不同连接分配到不同节点,多任务并发时总体可能更顺畅,单个下载任务的速度仍取决于所用节点。
订阅自带的「自动选择」组可以修改吗?
订阅更新时会覆盖原配置,直接改订阅文件通常不持久。Clash Verge Rev 等客户端提供覆写或扩展配置功能,可在其中追加或修改策略组,以客户端说明为准。