2026-04-30·入门指南·约 7 分钟·clashsupport.com
Clash 规则、全局、直连三种代理模式怎么选:新手切换指南与典型场景
Rule、Global、Direct 是所有 Clash 客户端共有的三种运行模式,几乎每个 GUI 界面顶部都能看到这三个切换项。它们决定的不是"能不能上网",而是每一条连接该走哪条路径。本文按典型场景讲清三者的分流逻辑差异、什么时候该临时切全局、直连模式的实际用途,以及切换后感觉"没生效"时该往哪查。
三种模式各自在做什么
先明确一个前提:模式(mode)是客户端的一个全局开关,它决定"用什么方式挑选出站路径",和具体用了哪个订阅、哪个节点没有直接关系。三种模式的行为差异如下。
- Rule(规则模式):每一条新连接会按配置文件里
rules列表从上到下逐条匹配,命中某条规则就按该规则指定的策略组处理(代理、直连或拒绝),全部不命中则落到最后一条兜底规则(通常是MATCH或FINAL)。这是日常使用的默认模式,国内域名走直连、境外域名走代理、广告域名直接拒绝,靠的都是这套匹配逻辑。 - Global(全局模式):跳过
rules里的全部判断,所有连接统一走同一个策略组(通常就是主界面上选中的那个节点或策略组),不区分域名、IP 或进程。 - Direct(直连模式):同样跳过规则判断,但方向反过来——所有连接统一走本机网络直连出去,代理节点完全不参与。
换句话说,Rule 是"精细分流",Global 是"全部代理",Direct 是"全部直连"。三者互斥,同一时间只能生效一种。
规则模式的匹配顺序与常见坑
规则模式是最常用也最容易踩坑的一种,因为它涉及匹配顺序问题。一份典型的规则片段大致是这样:
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-KEYWORD,google,PROXY
- GEOIP,CN,DIRECT
- RULE-SET,reject,REJECT
- MATCH,PROXY
关键点在于规则是按顺序从上往下匹配的,一旦命中就立即生效,后面的规则不再检查。如果把范围宽的规则(比如某个 RULE-SET 集合)写在前面,后面更精确的域名规则可能永远轮不到执行——这也是很多人反馈"改了规则却不生效"的第一大原因。使用 rule-providers 引入的远程规则集同理,它们只是把一批规则整体插入到某个位置,顺序问题依然存在。
规则模式下还有一个容易被忽略的细节:GEOIP 类规则依赖 GeoIP 数据库判断目标 IP 归属地,如果数据库过期或加载失败,这类规则会直接失效并落到下一条,表现上跟"规则不生效"几乎一样,但根源其实是数据文件问题,而不是规则语法问题。
什么时候该临时切到全局模式
全局模式牺牲了精细分流,换来的是"排除干扰、逻辑最简单"。实际使用中,以下几个场景比较适合临时切过去。
- 排查规则是否写对:怀疑某个网站访问异常是规则配置的问题,先切全局模式测试。如果全局模式下访问正常,说明代理节点本身没问题,问题出在规则匹配上;如果全局模式下依然异常,说明问题在节点或订阅本身。这是最基础也最实用的排障手段。
- 测速与延迟对比:想集中体验某一个节点在各类网站上的真实表现,不希望被规则打断分流逻辑,全局模式能保证所有流量走同一条路径,测出来的结果更直观。
- 规则集暂时缺失或损坏:远程规则集下载失败、语法错误导致规则模式整体异常时,先切全局模式保证网络可用,再回头修配置。
- 访问被规则误判为"直连"的境外资源:如果某个域名恰好命中了不该命中的直连规则,又懒得马上改配置,全局模式可以作为临时绕过手段。
全局模式下国内网站(网银、视频站的地区限制等)同样会走代理节点,可能出现验证码增多、地区检测异常等副作用,排查完成后记得切回规则模式。
直连模式的实际用途
直连模式看起来像是"关掉代理",但它和直接退出 Clash 并不完全等价——系统代理设置、TUN 虚拟网卡等接管方式仍然生效,只是所有流量在 Clash 内部被强制判定为直连,不经过任何节点。常见用途包括:
- 排查代理节点是否可用:某些网站访问异常时,切到直连模式测试。如果直连模式下能正常访问,基本可以确认问题出在代理节点或对端服务器,而不是本机网络或 Clash 配置。
- 排查是不是代理本身在拖慢速度:局域网内传文件、访问内网服务、连接家用 NAS 等场景,这类流量没必要经过任何远程节点,直连模式可以避免不必要的绕行,减少延迟。
- 临时观察本机网络基线:调试网络问题时想知道"不经过 Clash 会怎样",直连模式比直接退出客户端更方便,因为不需要重新配置系统网络环境,切回规则模式也是一键的事。
- 软件更新、下载大文件等对代理节点流量敏感的操作:部分订阅有流量限额,大文件下载走直连能省下节点的流量份额。
模式切换后感觉没生效的常见原因
新手最常遇到的困惑是"明明切了模式,访问结果却没变化"。排查时可以按下面几个方向逐一确认。
连接复用,旧连接没有重新走一遍分流
浏览器、客户端软件普遍会复用已建立的 TCP 连接或走 HTTP Keep-Alive,模式切换只影响新建立的连接,已经建立好的连接不会重新判定路径。测试时建议关闭相关标签页或重启对应应用,确保产生的是全新连接。
DNS 缓存导致域名解析结果没变
如果客户端或系统层面缓存了域名对应的 IP,即便模式变了,后续请求也可能直接用旧的解析结果发起连接,尤其在 Fake-IP 或 DNS 劫持类配置下更容易出现这种情况。可以先清空 DNS 缓存或重启 Clash 内核再测试。
TUN 模式接管了流量,GUI 里的模式没同步
启用 TUN 模式后,系统层面的流量在网卡层被直接接管,如果客户端界面上的模式切换只作用于代理端口而没有同步刷新 TUN 网卡的路由表,就会出现"界面显示已切换,实际行为没变"的错觉。遇到这种情况,建议重启一次 TUN 网卡或重载配置文件。
规则模式下命中了预期外的规则
切回规则模式后如果行为跟预期不一致,别急着怀疑客户端出 bug,先按前文提到的匹配顺序检查一遍规则列表,尤其是 RULE-SET 引入的规则集是否把范围写得过宽,提前拦截了本该往下匹配的连接。
多个策略组之间存在依赖关系
如果 Global 模式选中的是一个策略组而不是单个节点,策略组内部的负载均衡、自动选择等逻辑仍然会生效,表现上可能和预期的"固定走某节点"不完全一致,这不是模式切换失败,而是策略组本身的调度逻辑。
三种模式怎么记,日常怎么用
把三种模式的定位简化成一句话记忆:规则模式是常态,全局模式是排障和测速时的临时工具,直连模式是隔离代理变量时的对照组。日常联网留在规则模式即可,遇到访问异常先别改配置,依次切到直连模式和全局模式各测一次,基本就能判断问题出在本机网络、代理节点还是规则配置这三者中的哪一环,再针对性处理会比盲目改配置文件高效得多。