Clash 三种代理模式怎么选:规则、全局、直连的区别与切换时机
对比规则、全局、直连三种模式下流量的实际走向,说明日常应默认停留在规则模式的原因,以及测试节点、排查网站异常时临时切换全局或直连的正确操作顺序。
三种模式各自控制什么
Clash 与 Clash Meta(mihomo 内核)在客户端界面上通常都能看到一个"模式"切换项,常见的三个选项是规则(Rule)、全局(Global)、直连(Direct)。这三者的作用层级相同——都是决定"一条即将发出的网络连接,最终从哪个出口离开设备",区别只在于判断依据不一样:
- 规则模式:逐条比对配置文件里的
rules段,按域名、IP、GEOIP、进程名等条件匹配后,交给对应的代理组或直连处理,没有匹配到任何规则时走末尾的MATCH兜底项。 - 全局模式:跳过规则匹配这一步,所有连接统一交给当前选中的某一个代理节点(或代理组),不再区分域名或地区。
- 直连模式:同样跳过规则匹配,但方向相反——所有连接都不经过任何代理节点,原样从本机网络出口发出。
换句话说,规则模式是"按条件分流",全局模式是"全部代理",直连模式是"全部不代理"。三者是互斥的单选状态,同一时刻客户端只会处于其中一种。
规则模式下流量的实际走向
规则模式是绝大多数 Clash 配置文件默认启用、也是订阅方推荐长期使用的模式。它的判断顺序遵循配置文件中 rules 列表的先后次序,常见的规则类型包括:
| 规则类型 | 作用 | 典型用途 |
|---|---|---|
| DOMAIN-SUFFIX | 按域名后缀匹配 | 指定站点走某个代理组 |
| DOMAIN-KEYWORD | 按域名关键词匹配 | 批量归类同类服务 |
| GEOIP | 按 IP 归属地匹配 | 国内 IP 直连、境外 IP 走代理 |
| RULE-SET | 引用外部规则集合 | 订阅方维护的分类规则库 |
| MATCH | 兜底规则,必须放在最后一行 | 未命中任何条件的连接归口 |
一条连接发出后,内核会从第一条规则开始逐一核对,命中即停止继续向下比对,不会出现"同时符合两条规则"的冲突情况——先写的规则优先级更高。这也是为什么很多订阅配置会把国内常用服务的直连规则放在靠前位置,把境外服务的代理规则和兜底 MATCH 放在后面:目的是减少无效比对,也避免顺序错误导致本该直连的连接被错误代理。
规则模式的优点是精细:国内网盘、地图、支付类应用可以直连保证速度与稳定性,同时境外网站和应用统一走代理,两者互不影响。缺点是效果完全依赖规则集合的质量与更新频率,如果订阅方的规则集合覆盖不全,个别新出现的域名可能会短暂出现分流不准确的情况,通常需要等规则集合更新或手动补充自定义规则。
全局模式适用的场景与代价
全局模式把"该不该代理"的判断权完全交给使用者,内核不再读取 rules 段,所有连接统一走当前选中的节点。这在以下几种场景里是合理甚至必要的选择:
- 测试节点是否真正可用:切到全局模式并选中目标节点后,访问几个不同地区的站点,能直观确认这个节点的连通性和延迟表现,不受规则分流的干扰。
- 排查"规则模式下访问异常,但换节点后正常"的问题:如果怀疑是规则集合把某个域名错误分类,全局模式可以先确认问题是否出在节点本身,还是出在分流规则上。
- 访问的站点或服务比规则集合更新得快:例如临时需要访问一个新上线、还没被规则集合收录的境外站点,全局模式能立刻生效,无需等待规则更新或手写自定义规则。
注意
全局模式下,国内站点、局域网服务、系统更新等原本应该直连的流量也会被强行送进代理节点,这会造成不必要的延迟增加,部分依赖真实公网 IP 的本地服务(如内网设备管理页面、部分支付验证)可能因此访问失败或触发风控。全局模式适合短时间的定向测试,不建议作为日常长期状态使用。
直连模式适用的场景
直连模式与全局模式相反,所有连接都不经过任何代理节点。它的典型使用场景更窄,主要集中在排查问题时用来"排除代理本身的干扰":
- 怀疑某个网站打不开是本地网络问题还是代理节点问题时,切到直连模式验证——如果直连也无法访问,说明问题与 Clash 无关,应排查本机网络或目标站点本身。
- 需要临时访问局域网内的路由器管理页面、NAS 后台、打印机配置界面等仅限内网访问的地址,这类地址不应该被代理节点转发。
- 系统或应用商店更新时,如果规则集合没有把相关域名标记为直连,可以临时切到直连模式加快下载速度,避免占用代理节点带宽。
需要强调的是,直连模式下境外站点会因为失去代理而无法访问,这是预期行为而非故障,排查完成后应记得切换回规则模式。
为什么日常应该默认停留在规则模式
把规则模式作为默认状态,核心原因是它同时兼顾了"效率"与"稳定"两个诉求,而全局与直连各自只满足其中一端:
长期使用全局模式意味着每一次访问国内站点、连接局域网设备、进行系统更新都要多绕一层代理节点,不仅拖慢速度,还会增加节点的带宽消耗,在使用有流量限制的订阅时尤其明显。长期使用直连模式则等同于关闭了代理功能,失去了 Clash 本身存在的意义。规则模式把这两种极端情况都交给规则集合去判断,只要规则集合维护得当,绝大多数场景下不需要手动干预。
切换模式的正确操作顺序
把模式切换当作一次性的诊断动作,而不是长期状态,操作顺序建议按下面几步执行,切换后记得核对完成情况再切回规则模式:
如果确认是规则集合归类错误,更稳妥的做法不是长期停留在全局模式,而是在配置文件里给对应域名添加一条自定义规则,放在规则列表靠前的位置,指定它该走的代理组或直连,这样以后同类问题不需要再手动切换模式即可解决。
常见疑问补充
部分使用者会把"模式"和"代理组里的节点选择"混淆——这是两个独立的维度。模式决定的是"按什么方式分流",代理组节点选择决定的是"分流到代理这一侧后具体走哪个服务器"。切换模式不会清空已选中的节点,规则模式下命中某条规则、被交给某个代理组之后,依然使用你在该代理组里手动选定或由测速自动选定的节点。
另外,TUN 模式与这里讨论的三种模式不是同一层概念:TUN 是接管系统全局网络层流量的一种接入方式,而规则/全局/直连是接入之后的分流判断逻辑,开启 TUN 模式后依然可以在规则、全局、直连之间切换,二者可以同时生效、互不冲突。