机场Clash分流规则怎么配置?代理与直连怎么分
先给结论:Clash 的分流由配置文件里的 rules 列表决定,每一条规则把“符合什么条件的流量”对应到“交给哪个策略组”,客户端按从上到下的顺序匹配,第一条匹配成功的规则生效,后面的不再看。不需要会编程,但要理解这个“从上到下、匹配即停”的顺序,否则改了规则却看不出效果,大概率是顺序或优先级的问题。
规则模式和全局模式的区别
| 模式 | 流量怎么走 | 适合什么情况 |
|---|---|---|
| 规则模式(Rule) | 按规则逐条判断,国内直连、海外走代理是最常见的配置 | 日常使用,兼顾速度和稳定 |
| 全局模式(Global) | 所有流量都走代理,不看规则 | 排查“是不是规则写错了”,或者临时需要全部绕行 |
| 直连模式(Direct) | 所有流量都不走代理 | 临时关闭代理,排查是不是客户端本身的问题 |
大多数机场订阅默认就是规则模式,日常不需要手动切换,只有在排查问题时才临时切到全局或直连做对比,方法可参考连接失败排查。
一条规则长什么样
规则通常由“类型、匹配内容、策略组”三部分组成,常见写法的大意是:
- 按域名精确匹配,命中则走指定的策略组;
- 按域名后缀匹配(覆盖该域名下所有子域名),命中则走指定的策略组;
- 按 IP 所属地区匹配,命中则按地区决定直连或代理;
- 规则列表的最后一条通常是“其余情况统一怎么处理”的收尾规则,决定了没被前面规则命中的流量默认走向。
一个只有四条规则的最小示例(仅用来说明结构,策略组名称 Proxy 因配置而异,不要直接照抄进你的配置):
rules:
- DOMAIN-SUFFIX,example.cn,DIRECT # 这个域名及其所有子域名:直连
- DOMAIN-KEYWORD,video,Proxy # 域名里含有 video 的:走“Proxy”策略组
- GEOIP,CN,DIRECT # IP 属于中国大陆的:直连
- MATCH,Proxy # 兜底:以上都没命中的,一律走“Proxy”策略组
读法很简单:从上往下,命中就停。所以越具体的规则越要放在前面,GEOIP 这类范围很大的规则要放在后面,MATCH 必须是最后一条。想让某个网站强制走代理或直连,通常是在 GEOIP 之前加一条针对它的域名规则。
具体的写法细节因 Clash 内核版本和配置文件语法而略有差异,建议直接参考你所用机场提供的配置文件里已有的写法作为模板,不要凭记忆手写,容易出现缩进或格式错误(YAML 对缩进非常敏感,排查方法见Clash 导入订阅报错怎么办)。
规则来源:直接写在文件里,还是引用远程规则集
| 来源 | 特点 | 排查要点 |
|---|---|---|
| 内置规则(写在配置文件里) | 加载快,但更新要等订阅整体更新 | 基本不会单独出问题 |
| 远程规则集(rule-providers) | 规则维护更及时,覆盖范围通常更全 | 远程地址访问不了会导致规则加载不全,这类问题的排查方法见Clash 导入订阅报错怎么办 |
多数机场提供的默认配置已经搭配好了规则来源,不需要自己从零搭建,除非有特别明确的分流需求(比如要把某个小众服务单独走某个策略组)。
常见的策略组搭配
- 国内直连:国内网站、国内应用的域名,走“直连”,不占用节点流量,访问也更快;
- 海外代理:海外网站和服务,走“代理”策略组,由这个策略组再决定具体用哪个节点;
- 广告与追踪域名:部分配置会单独列出这类域名并直接拒绝,视个人需求决定是否启用;
- 兜底规则:放在列表最后,决定所有未匹配情况的默认走向,日常建议设为代理,避免漏掉新出现的域名导致访问失败。
修改规则前后要做的验证
- 改之前先备份:复制一份原始配置文件,确认改坏了可以随时还原;
- 一次只改一类规则:方便出问题时知道是哪一步导致的;
- 保存后手动刷新订阅或重载配置,不要只改文件不生效;
- 用“连通性+归属”两个角度验证:打开一个国内网站确认走的是直连(通常表现为延迟很低、不占用节点流量),再打开一个海外网站确认走的是代理策略组;
- 查日志面板:多数 Clash 客户端在日志(Logs)里会显示具体请求匹配到了哪条规则,比反复试探更直接;
- 怀疑规则写错时,临时切到全局模式对比:如果全局模式下能访问、规则模式下访问不了,基本可以确定是规则本身的问题,而不是节点或网络问题。
什么时候不需要自己改规则
多数机场提供的默认配置已经覆盖了常见的国内直连、海外代理场景,普通使用不需要手动调整。只有出现下面这类情况才有必要自己改:
- 某个特定网站希望走直连(比如内网系统、国内支付类应用),但默认规则把它分到了代理;
- 需要把某类服务固定分配到某个具体节点或地区,而不是走自动选择的策略组;
- 在路由器等场景下需要更精细地控制哪些设备或域名走代理,思路可参考路由器上使用 VPN 或代理。
日常使用没有特殊需求的话,用订阅自带的默认规则即可,不建议为了“折腾”而随意改动,改错反而容易导致部分应用访问异常。
改规则时常见的三个误区
- 把宽泛的规则放在精确规则前面:规则是从上到下匹配、命中即停,如果一条“按地区匹配”的宽泛规则排在前面,后面针对具体域名写的精确规则可能永远不会被执行到,表现就是“改了规则但好像没生效”;
- 忘了保留兜底规则:列表最后应该有一条处理“其余所有情况”的收尾规则,如果删掉了,不属于任何已知规则的流量可能被客户端按默认行为处理,容易出现部分新网站访问异常;
- 同时改规则和换内核版本:如果刚换了 Clash 分支或升级了版本,又同时改了规则,出问题时很难判断是规则写错了还是新版本本身存在兼容性问题,建议两件事分开进行,一次只变动一个变量,方便定位原因。
规则和 DNS 的关系
分流规则只决定“这个请求走不走代理”,但在判断走哪条路线之前,客户端通常还要先解析域名对应的 IP。如果 DNS 解析本身出了问题(比如走了错误的 DNS 服务器,解析结果和预期的地区不一致),即使规则写得完全正确,也可能出现访问异常或者被误判为“规则没生效”。这部分内容和分流是两个不同的环节,排查思路可参考DNS 泄露是什么。
什么情况应该先怀疑规则、什么情况不应该
遇到“部分网站打不开”时,可以用下面的思路先划定范围,而不是直接去改规则文件:
- 先确认是不是只有某一类网站有问题,还是所有网站都有问题——只有前者才值得怀疑是规则分类错了;
- 切到全局模式,如果问题消失,基本可以确定是规则把这类流量错误分到了直连;如果全局模式下问题依然存在,说明问题出在节点或网络层面,不是规则的问题;
- 只有确认是规则分类问题后,才去对照配置文件里这类域名具体被分到了哪个策略组,针对性调整。
把范围先划清楚,能避免在不是规则问题的时候反复折腾配置文件,浪费时间也容易把本来正常的配置改坏。
请遵守你所在地区的法律法规。本文只说明 Clash 规则的通用配置思路,不针对某个具体机场的配置文件格式,实际语法请以你所用客户端和订阅提供的文档为准。