术语 Routing Rules
分流规则是什么?域名、IP 与 GeoIP 匹配原理
客户端里决定"哪些流量走代理、哪些直连、哪些拦截"的一组匹配条件,按域名、IP 段、GeoIP 等维度自上而下逐条匹配,是规则模式的核心。
分流规则(Routing Rules)是代理客户端里的一组匹配条件,决定每一条网络请求的去向:走某个节点、直接连接,还是拒绝。 它是”规则模式”名字的由来——客户端并非把所有流量都送进代理,而是逐条对照规则后分别处理。
规则如何匹配
客户端收到一个连接请求后,按规则列表自上而下逐条比对,命中第一条就执行并停止。常见匹配维度有三类:
| 规则类型 | 匹配依据 | 示例 |
|---|---|---|
| 域名类 | 请求的域名(含后缀、关键词匹配) | DOMAIN-SUFFIX,openai.com,代理 |
| IP 类 | 目标 IP 所在网段 | IP-CIDR,192.168.0.0/16,直连 |
| GeoIP 类 | 目标 IP 的地理归属 | GEOIP,CN,直连 |
列表末尾一定有一条兜底规则(如 MATCH/FINAL),处理前面全部未命中的流量——它的去向决定了”陌生网站默认走不走代理”。
域名规则在 DNS 解析前就能命中,IP 与 GeoIP 规则则需要先拿到目标 IP,这个顺序差异是很多疑难问题的根源。
常见规则集
手写几千条规则不现实,主流配置都引用现成的规则集合:
- 国内直连列表:收录国内常用域名与中国大陆 IP 段,保证国内流量不绕道节点;
- 广告拦截列表:匹配到的请求直接拒绝;
- 服务专用列表:如流媒体、AI 服务的域名集合,便于把特定服务固定到特定地区节点。
订阅下发的 Clash 配置通常已内置这套组合,这也是订阅链接返回的 YAML 比单纯节点列表大得多的原因。
规则不生效的常见原因
- 顺序问题:自定义规则被放在更宽泛规则之后,永远无法命中;
- 模式不对:客户端处于全局或直连模式,规则列表根本不参与,三种模式的区别见代理模式详解;
- 订阅覆盖:直接改订阅生成的配置文件,更新订阅后被原样覆盖,应使用客户端的覆写/自定义规则功能;
- 命中了缓存连接:改规则前已建立的连接不受新规则影响,断开重连后才生效。
常见误解
- “规则模式不安全,全局才彻底”:两者只是分流策略不同,加密程度一样;规则模式下国内流量直连反而更快且省流量;
- “规则越多越好”:过长的规则列表增加匹配开销与维护难度,覆盖自己常用场景即可。
小结
理解”自上而下、命中即停”这一条,就能解释绝大多数分流现象。动手改配置前,建议先在 Clash Verge Rev 教程里熟悉客户端提供的规则编辑入口。
常见问题
- 为什么开了代理,国内网站还是直连?
- 这正是分流规则在工作。规则模式下,匹配到国内域名或中国大陆 IP 的流量会按规则直连,不消耗代理流量、速度也更快。只有匹配到需要代理的规则(或落入兜底规则)的流量才走节点,属于设计行为而非故障。
- 自己加的规则为什么不生效?
- 最常见原因是位置不对:规则自上而下匹配,命中即停止,你的规则如果排在一条更宽泛的规则之后就永远轮不到。其次是规则类型写错(如把域名写进 IP 规则)、订阅更新后自定义内容被覆盖,可逐一排查。