规则模式、全局模式、直连模式有什么区别?什么时候该用哪一种
规则模式按域名分流、全局模式全部走节点、直连模式全部不走。日常只该用规则模式,另外两个是排查工具。
三种模式一句话就能分清:
- 规则(Rule):按配置里的规则分流,国内直连、国外走节点、广告拒绝。日常唯一该用的模式。
- 全局(Global):所有流量都走当前选中的节点,包括国内网站。
- 直连(Direct):所有流量都不走节点,等于临时关闭代理但保留客户端运行。
如果你只想知道该选哪个,答案是规则模式,然后可以关掉这篇了。如果你想知道为什么很多人「打不开就切全局」是个坏习惯、以及另外两种模式真正的用途,继续往下看。
三种模式的区别在哪一层?
| 对比项 | 规则模式 | 全局模式 | 直连模式 |
|---|---|---|---|
| 国内网站 | 直连,速度不受影响 | 绕境外,明显变慢 | 直连 |
| 国外网站 | 走节点 | 走节点 | 打不开 |
| 广告/追踪域名 | 按规则拒绝 | 照常走节点 | 直连 |
| 机场流量消耗 | 只消耗国外流量 | 全部流量都消耗 | 不消耗 |
| 依赖配置质量 | 高 | 无 | 无 |
| 适合长期使用 | 是 | 否 | 否 |
关键差别是是否按目标分流。规则模式需要一份规则列表来判断每个连接该怎么处理,另外两种模式不做判断,一刀切。
规则模式是怎么决定一条流量走哪里的?
理解这个流程,后面所有问题都能自己诊断。
当你在浏览器里访问一个网站,客户端拿到目标域名或 IP 后,会从上到下逐条比对规则列表,命中第一条就停止,然后按该条规则指定的策略处理。
一份典型的规则列表大致长这样:
rules:
- DOMAIN-SUFFIX,local,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- DOMAIN-KEYWORD,doubleclick,REJECT
- DOMAIN-SUFFIX,google.com,🚀 节点选择
- DOMAIN-SUFFIX,taobao.com,DIRECT
- GEOIP,CN,DIRECT
- MATCH,🚀 节点选择
三个要点:
- 顺序决定一切。如果把
GEOIP,CN,DIRECT放在第一行,后面所有规则都可能永远轮不到。 - 三种基本策略:
DIRECT(直连)、REJECT(拒绝,用于广告)、策略组名(走代理)。 - 最后一条
MATCH是兜底。所有没命中的流量都按它处理。机场配置通常把它指向节点,也有配置指向DIRECT——后者就会导致「没被规则收录的境外网站打不开」。
规则的具体语法和自己加规则的方法,见 Clash 自定义分流规则教程。
为什么规则模式既快又省流量?
因为占你上网流量大头的国内视频、下载、游戏更新全部走本地出口,既不绕路也不计入机场套餐。一个每月看几十小时国内视频的用户,在规则模式下可能只消耗十几 GB 机场流量,切到全局可能几天就跑完 100GB。
什么时候该用全局模式?
全局模式的正当用途只有两个:
一是排查问题时做对照。 某个网站在规则模式下打不开,切全局试一次:能打开 → 确认是规则未匹配;还是打不开 → 问题在节点、DNS 或网站本身。这是一次成本极低的二分法测试。
二是配置本身不可靠时的临时方案。 有些机场给的规则集很旧或很简陋,大量境外站点没有被收录。在你抽出时间补规则之前,临时挂全局能保证可用性。
「打不开就切全局」错在哪?
它把症状当成了解决方案。网站打不开说明规则里没有这个域名,正确的处理是花十秒钟加一条规则:
prepend-rules:
- DOMAIN-SUFFIX,example.com,🚀 节点选择
加完之后这个网站永久解决,而且不影响其他流量。切全局则是让所有流量陪着一个网站一起绕路,而且下次遇到别的网站还得再切一次。
直连模式有什么实际用途?
直连模式不是「没用的开关」,它在这几种场景下很方便:
- 访问银行、政务、社保等对 IP 敏感的网站。这些站点看到异常 IP 可能直接拒绝或要求额外验证,切直连最省事。
- 下载国内大文件或玩国服游戏时,确保流量完全不经过代理。
- 排查「是不是代理导致的问题」。某个国内应用出错,切直连试一次,如果恢复正常就说明是分流规则把它误判了。
- 公司内网、NAS、打印机等内网服务访问异常时的快速验证。
它比直接退出客户端更好用的地方在于:不需要恢复系统代理设置,也不会出现退出时代理残留导致全面断网的问题(这个故障的处理见 Clash 开了却上不了网)。
还有一个「脚本模式」是什么?
部分 Clash 系客户端除了三种基本模式还提供 Script(脚本)模式,用一段 JavaScript 替代静态规则列表来决定每条连接的走向。它能实现规则语法表达不了的逻辑,例如根据时间段、连接数量、进程名做组合判断。
对绝大多数用户来说不需要碰它:调试麻烦、出错时排查成本高,而且性能不如原生规则匹配。除非你有明确的、规则写不出来的需求,否则留在规则模式即可。
各客户端在哪里切换模式?
| 客户端 | 切换位置 | 模式名称 |
|---|---|---|
| Clash Verge Rev | 主界面顶部按钮 / 托盘菜单 | 规则 / 全局 / 直连 |
| Clash Meta for Android | 主界面「代理模式」卡片 | Rule / Global / Direct |
| Shadowrocket | 首页顶部「全局路由」 | 配置 / 代理 / 直连 |
| v2rayN | 右下角托盘菜单「系统代理」 | 通过 PAC / 全局 |
| sing-box 客户端 | 由配置文件的 route 决定 | 无独立开关 |
两点说明:
- Shadowrocket 的叫法不同:「配置」对应规则模式,「代理」对应全局,「直连」对应直连。
- sing-box 没有模式按钮,分流完全由配置里的
route段决定,要改行为得改配置。
模式和「系统代理 / TUN」是两回事
这是最容易混淆的一点,用一句话区分:
系统代理和 TUN 决定「哪些流量会进入客户端」,规则/全局/直连决定「进来的流量往哪走」。
所以会出现这些看似矛盾的情况:
- 模式是规则、节点也正常,但浏览器打不开外网 → 系统代理开关没打开,流量压根没进客户端。
- 浏览器能翻墙但 Telegram、Steam、终端不行 → 这些程序不读系统代理设置,需要开 TUN 模式接管。
- 开了 TUN 但模式是直连 → 所有流量都被接管了,然后又被原样放回本地出口,外网依然打不开。
排查时先确认「流量有没有进来」,再确认「进来后往哪走」,顺序反了会绕很多弯路。
场景对照:这种情况该用哪个模式?
| 你在做什么 | 用哪个模式 | 说明 |
|---|---|---|
| 日常上网、办公、刷社交 | 规则 | 默认状态 |
| 某个境外网站打不开,想确认原因 | 临时全局 | 测完切回 |
| 登录网银、买火车票、政务办事 | 直连 | 避免 IP 异常 |
| 下载国内大文件、玩国服游戏 | 直连或规则 | 规则模式下本来也是直连 |
| 看 Netflix、用 AI 服务 | 规则 | 在策略组里给这类服务单独指定节点 |
| 国内应用突然报错,怀疑是代理导致 | 直连 | 做对照测试 |
| 机场规则集很旧、大量网站没收录 | 临时全局,尽快补规则 | 见自定义规则教程 |
一个更好的习惯:用策略组代替切模式
很多人频繁切模式,其实是因为不知道可以给不同类型的流量指定不同节点。机场配置里通常已经内置了这些策略组:
🚀 节点选择:默认出口。📺 流媒体/Netflix:看剧时在这里指定解锁对应地区的节点。🤖 AI/OpenAI:用 AI 服务时指定一个干净的节点。🎯 全球直连:明确需要直连的服务。🐟 漏网之鱼:没被规则匹配到的流量,建议指向节点而不是直连。
把这几个组配好之后,你会发现几乎不再需要切换模式。把 漏网之鱼 指向节点,甚至能解决大部分「新网站打不开」的情况——这实际上就是一个更精细的全局模式,代价只有国内流量不受影响。
延伸阅读:机场节点怎么选 讲怎么给不同用途挑合适的节点,Clash Verge Rev 教程 讲策略组在界面上的位置。