术语 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 比单纯节点列表大得多的原因。

规则不生效的常见原因

  1. 顺序问题:自定义规则被放在更宽泛规则之后,永远无法命中;
  2. 模式不对:客户端处于全局或直连模式,规则列表根本不参与,三种模式的区别见代理模式详解
  3. 订阅覆盖:直接改订阅生成的配置文件,更新订阅后被原样覆盖,应使用客户端的覆写/自定义规则功能;
  4. 命中了缓存连接:改规则前已建立的连接不受新规则影响,断开重连后才生效。

常见误解

  • “规则模式不安全,全局才彻底”:两者只是分流策略不同,加密程度一样;规则模式下国内流量直连反而更快且省流量;
  • “规则越多越好”:过长的规则列表增加匹配开销与维护难度,覆盖自己常用场景即可。

小结

理解”自上而下、命中即停”这一条,就能解释绝大多数分流现象。动手改配置前,建议先在 Clash Verge Rev 教程里熟悉客户端提供的规则编辑入口。

常见问题

为什么开了代理,国内网站还是直连?
这正是分流规则在工作。规则模式下,匹配到国内域名或中国大陆 IP 的流量会按规则直连,不消耗代理流量、速度也更快。只有匹配到需要代理的规则(或落入兜底规则)的流量才走节点,属于设计行为而非故障。
自己加的规则为什么不生效?
最常见原因是位置不对:规则自上而下匹配,命中即停止,你的规则如果排在一条更宽泛的规则之后就永远轮不到。其次是规则类型写错(如把域名写进 IP 规则)、订阅更新后自定义内容被覆盖,可逐一排查。