CClash 中文社区选择客户端 ↗
首页/博客
操作教程

Clash 怎样为未命中的连接安排最终策略

Clash 怎样为未命中的连接安排最终策略。了解适用条件、操作步骤与常见问题的排查方法。

编辑部 · 更新 2026-10-04

未命中前面各条规则的连接,不会在文档里对应某个隐藏默认字段,而需要你在 rules 中显式写出最终策略。官方给出的类型是 MATCH:匹配所有请求,无需条件。配置示例把它放在列表最后一行,写作 - MATCH,auto,策略名与前面部分规则使用的代理组一致。

适用条件

当你已经按域名、IP、进程、入站或逻辑规则写好分流,仍希望“剩下的连接”有固定出站时,用 MATCH 承接。它只回答未命中流量去哪,不会改写更靠前规则已经命中的结果。规则按从上到下的顺序匹配,列表顶部优先级高于底下,因此最终策略必须写在所有需要单独判断的规则之后。若你真正想改的是某一类域名或某段 IP 的去向,应修改对应那一条,而不是改 MATCH。MATCH 没有匹配载荷,也不能套用仅支持目标 IP 规则的 no-resolve、src。

具体写法与判断依据

在 rules 数组末尾增加一行:- MATCH,<策略名>。策略名与其它规则的出站字段相同,必须是已定义的出站或代理组。文档示例中出现过 DIRECT、REJECT、PROXY 以及 auto。判断是否写对,可同时看三点:该行只有类型 MATCH 和策略名,没有域名、IP 或端口条件;它位于列表最后,下方不再跟其它规则;策略名能在出站或代理组配置中找到。剩余流量要直连就写 MATCH,DIRECT;要进某个组就写该组名,与示例 - MATCH,auto 同类。

AND、OR、NOT 以及 SUB-RULE 都带条件且需注意括号,它们只能收窄匹配,不能代替无条件兜底。RULE-SET 只引用规则集合中的条目,同样不能充当最终策略。

放置位置与 UDP 继续匹配

因为 MATCH 无需条件即匹配全部请求,一旦写在列表中部,其后的 DOMAIN、GEOSITE、IP-CIDR、GEOIP 等永远不会被走到。最终策略因此只能是最后一条。另有一种“当前策略被跳过、继续向下”的情况:请求为 UDP,而所选代理节点没有 UDP 支持(例如 ss 节点未写 udp: true),则会继续向下匹配。若 MATCH 指向的节点同样不能走 UDP,最终策略仍接不住这类连接。安排时要确认该策略对 TCP 与 UDP 都有可用来路。

失败时下一步

连接仍无明确出站时,先看 MATCH 是否被插到非末尾——过早出现会吞掉后续规则。再核对策略名是否与出站、代理组一致。UDP 失败则按文档检查节点是否声明 UDP。若现象是绝大多数请求都进了最终策略,应回头核对更靠前规则的类型与载荷(例如误用完整域名去匹配子域名),而不是反复更换 MATCH 上的策略名。

https://wiki.metacubex.one/config/rules/