↓ 跳过正文
  1. 文章/

Clash 分流规则怎么写?rules 与 rule-providers 一次讲清

·1460 字·3 分钟
作者
吾便宜

用 Clash 系客户端时,分流规则决定了每个请求走代理还是直连。规则写错的表现五花八门:明明开了代理却打不开某个网站、国内网站莫名其妙走了代理、广告规则没生效。理解规则的匹配逻辑后,这些问题都好定位。

Clash 分流规则

核心逻辑:自上而下,第一条命中即生效
#

规则列表是按顺序匹配的:一个请求从第一条开始比对,命中哪条就按哪条的策略走,后面的规则不再看。所以顺序就是一切——越具体的规则越要放前面,兜底规则放最后。

最典型的兜底规则是 MATCH 或 FINAL:放在最后,匹配所有前面没命中的流量。日常配置里它一般指向代理组;如果你希望默认直连,就把它指向 DIRECT。

常用规则类型
#

  • DOMAIN:精确匹配单个域名,如 DOMAIN,www.example.com。
  • DOMAIN-SUFFIX:匹配域名后缀,覆盖该域名及其所有子域名,如 DOMAIN-SUFFIX,example.com。这是最常用的类型,写一条就能覆盖一整个站。
  • DOMAIN-KEYWORD:域名中包含某个关键词就匹配,范围较宽,容易误伤,少用。
  • IP-CIDR:按 IP 段匹配,如 IP-CIDR,192.168.0.0/16,no-resolve。no-resolve 表示不解析域名直接按 IP 匹配,适合局域网、内网地址。
  • GEOIP:按 IP 归属地匹配,如 GEOIP,CN,DIRECT 表示中国 IP 直连。需要客户端内置 GeoIP 数据库。
  • GEOSITE:按域名分类匹配,如 GEOSITE,cn,DIRECT,依赖客户端的 geosite 数据。
  • DST-PORT:按目标端口匹配,适合某些固定端口的服务。

新手最容易犯的错误是把 DOMAIN-SUFFIX 写成 DOMAIN:只匹配主域名不匹配子域名,导致 www.example.com 走了代理、api.example.com 却直连了,表现就是网站时好时坏。

远程规则集:rule-providers
#

自己一条条写规则很快会失控,远程规则集就是把别人维护好的规则列表引用进来。配置里声明一个 rule-provider(给一个 URL 和更新间隔),再在 rules 里用 RULE-SET,提供者名字,策略 引用它。

规则集按内容分三类:域名类(behavior: domain)、IP 类(behavior: ipcidr)、经典类(behavior: classical,域名和 IP 混写)。引用时类型要对上,否则规则集不生效。远程规则集会定时更新,适合放那些经常变化的列表,比如流媒体、广告屏蔽。

自己维护规则和用远程规则集并不冲突:远程规则集管大类,自己再写几条针对个人的规则放前面。比如某个小众网站分流不对,自己写一条 DOMAIN-SUFFIX 放最前面,优先级高于远程规则集。

新手最容易踩的三个坑
#

1. 规则顺序反了。 把宽泛规则放前面,精确规则放后面,精确规则永远匹配不到。检查顺序:具体域名 → 分类规则集 → GEOIP/GEOSITE → 兜底 MATCH。

2. 改了规则没生效。 有些客户端会缓存 DNS 和连接,改规则后要刷新配置、清理旧连接再测试。只改配置不刷新,测试结果还是旧的。

3. 直连和代理来回横跳。 某个网站一会儿直连一会儿代理,往往是域名解析结果在变:域名解析到国内 IP 时走直连、解析到国外 IP 时走代理。GEOIP 类规则对这种情况敏感,排查时先看解析结果。

和 sing-box、Loon 的关系
#

sing-box 的路由规则和 Clash 规则概念相通,只是写法不同,sing-box 自定义规则教程 里讲过它的 route 写法。Loon 的插件和规则体系也是同一套思路,见 Loon 插件与分流规则指南。理解“自上而下匹配”这个核心后,换客户端只是换写法。

小结
#

分流规则就记住三句话:顺序决定一切,越具体越靠前;DOMAIN-SUFFIX 是日常主力;大类用远程规则集、个人需求自己补几条。按这个思路写,绝大多数分流问题都能自己定位。

相关文章

Loon 插件与分流规则:iOS 进阶玩法指南

·1761 字·4 分钟
Loon 是 iOS 上很受欢迎的代理客户端,价格不便宜,但可玩性在同类里数一数二。它的核心进阶功能就两个:插件和分流规则。刚接触的人经常把这两样东西搞混,或者一股脑装了一堆来路不明的规则,最后把网络搞得一团糟。这篇把它们讲清楚。

节点测速怎么做?延迟、速度、丢包率的正确测法

·852 字·2 分钟
节点卡了,第一反应就是测速。但很多人测了半天看不懂数据——延迟、速度、丢包率到底看哪个?这篇把节点测速的正确姿势一次讲清。 插图来源:Storyset 什么时候需要测速 # 刚买机场,想知道哪些节点好用 感觉变卡了,想确认是节点问题还是本地网络问题 在多个节点之间做选择,拿数据说话而不是凭感觉 三个指标分别看什么 # 指标 含义 多少算好 延迟(Ping) 数据跑一趟的时间 <100ms 流畅,>200ms 明显卡顿 下载速度 每秒能下多少数据 看视频 10Mbps+ 够用,下载则多多益善 丢包率 传丢的数据比例 <1% 正常,>5% 会明显卡顿 新手最容易搞错的一点:延迟低 ≠ 速度快。延迟看的是"反应快不快"(打游戏、视频通话敏感),速度看的是"吞吐量"(下载、看 4K 敏感)。刷网页卡先看延迟,下载慢先看速度。