机场实测室JICHANGTUIJIAN.MOM
搜索线路 / 教程/
客户端教程

规则、全局与直连:Clash 分流模式怎么选

一句话结论

日常用规则模式:国内域名直连、国外域名走节点,既省流量也不拖慢国内网站。全局模式把所有流量塞进节点,只适合排查问题或规则没覆盖某个站点时临时使用。直连模式相当于关闭代理但保留客户端运行。开了 Clash 后国内网站变慢,多数是误用了全局模式或规则集过期。

「模式」这个词被放在 Clash 主界面最显眼的位置,却很少有人说清它到底在决定什么。它决定的不是速度,也不是哪些程序会被代理接管,而是一个更靠前的问题:一个已经被客户端接住的请求,下一步往哪儿走——直接从本地网络出去,还是交给某个节点转发。

规则模式是三者中唯一会逐条判断目标地址的模式。访问国内域名时它让流量原路直出,只有被规则判定为境外的目标才丢给节点。全局模式跳过全部判断,把所有请求一律塞进当前选中的节点;直连模式反过来,谁都不走节点,客户端还在运行,接管关系也还在,但效果等同于没开代理。

最常见的误操作,是某个网站打不开就顺手切到全局。这个动作确实经常「有效」,代价却是把一个补一条规则就能解决的局部问题,换成了全部流量绕远路:国内网站变慢、套餐流量翻倍消耗,部分银行、政务和运营商自助站点还会因为出口 IP 在境外而直接拒绝服务。留在规则模式、找出没命中的那一条,才是成本更低的路。

三种模式分别把流量送去了哪里

模式判断依据国内域名境外域名适合什么时候用主要副作用
规则(Rule)逐条匹配规则集直连走节点日常长期使用规则没收录的站点会走错
全局(Global)不判断,一律代理走节点走节点临时排查、规则缺失时应急国内站变慢、流量翻倍、部分站点拒绝服务
直连(Direct)不判断,一律不代理直连直连排除代理干扰、临时下大文件境外站点全部不可访问

这张表里最容易被忽略的是最后一列。三种模式的差别不在「哪个更强」,而在各自的失败方式不同:规则模式的失败是个别站点走错通道,全局模式的失败是全体绕路,直连模式的失败是境外全断。选模式,本质上是在选你更能接受哪一种失败。

为什么日常应该一直待在规则模式

理由有三条,分量依次递减。

第一条是流量成本。多数套餐按用量计费,国内视频、网盘、系统更新这类大流量动作一旦被送进节点,消耗的是你花钱买来的额度,而它们本来一分不用花。第二条是速度。国内网站绕一圈境外再回来,链路长度直接翻倍,晚高峰尤其明显。第三条是可用性:一部分对出口地区敏感的服务,看到境外 IP 会直接拦截或要求二次验证。

规则模式的前提是「这份规则集是活的」。规则集长期不更新,新域名不会被自动收录,表现出来就是「以前好好的网站突然要手动处理」。更新节奏可以参考订阅与规则的更新策略

策略组和规则集是什么关系

把它们理解成两次接力,顺序不能颠倒:

  • 规则集回答「这个域名交给谁」。它是一长串匹配条目,自上而下逐条比对,命中即停,剩下的规则不再执行。
  • 策略组回答「拿到之后用哪个节点」。它是一个可切换的容器,里面可能放着一批节点,也可能放着另一个策略组。

下面是一段结构示例,服务器地址一律用 example.invalid 占位,不是可用配置:

# 结构示例,仅用于说明匹配顺序,不可直接使用
proxy-groups:
  - name: '国外流量'
    type: select
    proxies: ['自动选择', '香港-01', '日本-01']
  - name: '自动选择'
    type: url-test
    proxies: ['香港-01', '日本-01']
    url: 'http://www.example.invalid/generate_204'

rules:
  - DOMAIN-SUFFIX,example.invalid,国外流量
  - GEOIP,CN,DIRECT
  - MATCH,国外流量

读这段配置的关键在于顺序:第一条命中就不会再看第二条。所以判断「某个网站为什么走错了」,永远是先看它命中了哪一条,而不是先看策略组里选了哪个节点。节点好不好用是另一个层面的问题,判断方法在节点延迟测试怎么看里单独讲。

某个网站没走代理,该怎么补一条规则

  1. 先取证。访问一次这个网站,打开客户端的连接页,按域名筛选。这条记录会告诉你它命中了哪条规则、被交给了哪个策略组。没有这一步,后面全是猜。
  2. 分清两种情况。命中兜底规则(通常是 MATCH)说明规则集里根本没有它;命中了某条直连类规则,说明它被判定成了国内目标。前者是漏收录,后者是误判,修法不同。
  3. 补规则要写在前面。在规则段的靠前位置加一条精确匹配,比如按域名后缀指向你想要的策略组。写在已有规则后面,等于永远轮不到它。
  4. 重载配置。多数客户端有单独的重载按钮,改完文件不重载,运行中的配置不会变。
  5. 清掉旧连接再验证。浏览器会复用已经建立好的连接,不关标签页重开,你看到的还是改动前的行为。
  6. 回连接页复核。看到这条记录命中了新规则、进了正确的策略组,才算真的改完;页面能打开只能说明「现在通了」,不能说明原因已定位。

一个域名往往牵着好几个子域和 CDN 域名。只补主域名而漏掉资源域名,常见表现是页面框架能加载、图片和视频转圈。遇到这种情况,回连接页把这次访问涉及的所有域名都看一遍。

开了 Clash 之后国内网站变慢,是谁的锅

现象更可能的原因先做的动作
所有国内网站集体变慢误切到全局模式切回规则模式再测
少数国内站点变慢或打不开规则集过期,这些域名没被收录为直连更新订阅与规则集
国内网站首次打开慢、之后正常域名解析走了远端检查 DNS 分流设置
只有某个软件慢,浏览器正常它命中了不合适的策略组连接页查这条记录
时快时慢并伴随中断与其他网络软件抢接管逐个退出可疑软件复测

第三行经常被误判成分流问题。域名往哪儿解析和流量往哪儿走是两件独立的事,解析层的排查思路在 Clash 的 DNS 怎么设里有单独说明。至于「哪些程序会被客户端接住」这个更靠前的问题,属于系统代理到底代理了谁的范围,和本文讨论的走向决策不是同一层。

全局模式在什么时候才是正确选择

它不是没用,只是用途窄:

  • 做二分排查。怀疑某个站点是分流问题时,切到全局试一下:全局能通、规则不通,基本就锁定在规则集上了。确认完立刻切回。
  • 规则集明显滞后。刚上线或刚换域名的服务还没被任何规则集收录,补规则前先用全局顶一会儿是合理的过渡。
  • 临时用一台不做长期配置的设备。只用十几分钟,不值得为它整理规则。

除此之外的场景,全局都属于用高成本手段解决低成本问题。尤其要避免的是长期挂全局:它会掩盖规则集过期这件事,等到你真正需要精细分流时,已经没人知道哪些规则还有效。

机场自带规则和第三方规则集怎么取舍

对比项机场下发的配置第三方规则集
更新方式随订阅自动刷新需要自己配置更新源或手动拉取
覆盖范围通常够用,偏向常见站点更细,常按用途分组
与节点的匹配度策略组和节点名严格对应需要自己映射,改错就整组失效
出问题时的排查成本低,可直接找机场客服高,得自己定位是哪一条
适合谁绝大多数人有明确定制需求且愿意维护的人

一个务实的做法是分层:主体沿用机场下发的配置,只在最前面挂几条自己的精确规则。这样既保留了自动更新的好处,又能覆盖个人需求,出问题时也容易回滚——把自己加的那几条注释掉即可。想按用途挑选订阅源时,Clash 使用指南专题里汇总了导入、更新与排查的完整链条。

小结

模式决定的是流量走向,不是速度上限。规则模式逐条判断、国内直连境外走节点,是唯一适合长期使用的选择;全局只在二分排查和规则缺失时短暂顶用;直连用于排除代理干扰。规则集回答「交给谁」,策略组回答「用哪个节点」,两者调错层面就会白折腾。遇到某个站点走错,标准动作是去连接页看它命中了哪条规则,再在规则段最前面补一条,重载后清掉旧连接复核。国内网站变慢先看模式,其次看规则集是不是很久没更新了。

常见问题

规则模式下某个网站打不开,是不是切到全局就行了?

能解决,但代价过大。全局会把国内流量也一起送出境,国内网站变慢、流量翻倍,部分银行和政务站点还会因为出口在境外直接拒绝服务。正确做法是留在规则模式,给这一个域名补一条规则。

规则集多久更新一次比较合适?

跟着订阅走就够了,多数机场配置里的规则集会随订阅一起刷新。手动维护的第三方规则集建议一周到两周更新一次,更新太频繁没有收益,超过一个月则容易出现新域名没被收录的情况。

策略组和规则集,改哪个才会影响某个网站走不走代理?

规则集决定这个域名交给哪个策略组,策略组决定这个组当前用哪个节点。网站走没走代理是规则集的事,走得快不快才是策略组的事,两者不要混着调。

直连模式和退出客户端有什么区别?

直连模式下客户端仍在运行,系统代理和 TUN 的接管关系还在,只是所有流量都不走节点。退出客户端则会拆掉接管关系。需要临时排除代理干扰又不想重新配置时,用直连模式更省事。

为什么我加了规则,却还是没生效?

最常见的三个原因:规则写在了已有的匹配规则后面被提前命中、改完没有重载配置、以及浏览器还在复用改动前建立的旧连接。按这个顺序检查一遍通常就能找到。