规则模式、全局模式和直连模式有什么区别
对比规则、全局、直连三种代理模式,讲清规则自上而下匹配的机制与规则集的作用,并说明什么时候该切换模式。
简短回答
规则模式按规则逐条匹配,决定每个连接走代理还是直连,是日常默认选择;全局模式让所有流量都走选定节点,适合临时排查;直连模式让所有流量都不经代理,相当于保留客户端但暂停代理。长期使用全局模式会让国内网站绕行境外、速度变慢并多消耗流量。
本文要点
- 模式决定流量进入客户端后怎么走,系统代理与 TUN 决定流量如何进入客户端,两者相互独立。
- 规则自上而下匹配、命中即停,顺序就是优先级,MATCH 兜底规则必须放在最后。
- GEOIP、IP-CIDR 等 IP 类规则需要先解析域名,没有 no-resolve 时会产生本地 DNS 查询。
- 规则集把大量域名和网段交给外部维护并定期更新,应只使用来源可信的规则集。
- 开全局才能打开的网站,应通过补充规则解决,而不是长期停留在全局模式。
本文目录(12)
在 Clash Verge Rev、Shadowrocket、v2rayN 等客户端里,几乎都能找到“规则 / 全局 / 直连”这组开关。它回答的是同一个问题:流量进入客户端之后,应该交给哪个节点,还是不经代理直接访问。 选错模式通常不会让客户端报错,却会带来国内网站变慢、流量消耗变快、某些网站打不开等不易察觉的问题。
下面先对比三种模式,再展开规则模式的匹配机制与规则集,最后讨论各模式的使用时机,以及全局模式下国内网站变慢的具体原因。
三种模式分别做了什么
- 规则模式(Rule):逐条匹配规则,命中哪一条就按它指定的策略处理,常见结果是走某个代理策略组、直连或拒绝。
- 全局模式(Global):不看规则,所有流量都发给当前选定的一个节点或策略(mihomo 中是
GLOBAL策略组里选中的那一项)。 - 直连模式(Direct):不看规则,所有流量都不经过代理,由本机网络直接访问目标。
在 mihomo 配置中,它们分别对应 mode: rule、mode: global 和 mode: direct。客户端界面上的切换按钮,本质上就是在修改这个值。
| 对比项 | 规则模式 | 全局模式 | 直连模式 |
|---|---|---|---|
| 判断依据 | 规则列表,自上而下匹配 | 无,全部交给选定节点 | 无,全部直连 |
| 国内网站 | 通常直连,速度不受影响 | 绕行境外,常常变慢 | 正常访问 |
| 海外网站 | 按规则走代理 | 走代理 | 通常无法访问或很慢 |
| 套餐流量消耗 | 只有走代理的流量计费 | 所有流量都计费 | 不消耗 |
| 对规则质量的依赖 | 高 | 无 | 无 |
| 典型用途 | 日常默认 | 临时排查、规则未覆盖的场景 | 临时停用代理、测本地网速 |
规则模式如何工作:自上而下,命中即停
规则模式的核心只有一句话:从第一条规则开始依次比较,遇到第一条匹配的规则就停止,按它指定的策略处理。 下面是一段简化的 mihomo / Clash 风格示例,其中 Proxy 是在 proxy-groups 中定义的策略组名称,域名均为示例:
mode: rule
rules:
- DOMAIN,login.example.com,DIRECT # 完整域名精确匹配
- DOMAIN-SUFFIX,example.org,Proxy # example.org 及其所有子域名
- DOMAIN-KEYWORD,examplecdn,Proxy # 域名中包含该关键词
- DOMAIN-SUFFIX,cn,DIRECT # 所有 .cn 结尾的域名
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve # 局域网网段,不触发 DNS 解析
- GEOIP,CN,DIRECT # 目标 IP 属于中国大陆
- MATCH,Proxy # 兜底:以上规则都没有命中
常用规则类型
| 规则类型 | 匹配对象 | 说明 |
|---|---|---|
DOMAIN |
完整域名 | 只匹配完全相同的域名 |
DOMAIN-SUFFIX |
域名后缀 | 匹配该域名本身及全部子域名,最常用 |
DOMAIN-KEYWORD |
域名关键词 | 覆盖面广,也最容易误伤其他域名 |
GEOSITE |
域名分类 | 引用域名分类数据,一次覆盖某类服务的全部域名 |
IP-CIDR / IP-CIDR6 |
IP 网段 | 需要目标 IP,域名请求可能因此触发解析 |
GEOIP |
IP 归属地区 | 依据 IP 地理数据库判断,同样需要目标 IP |
RULE-SET |
规则集 | 引用外部维护的一组规则 |
MATCH |
任何流量 | 兜底规则,必须放在最后 |
用三个请求走一遍
- 访问
www.example.org:第二条DOMAIN-SUFFIX,example.org命中,交给Proxy策略组,后面的规则不再查看。 - 访问一个没有被任何域名规则覆盖的国内网站:前几条域名规则都不命中,走到
GEOIP,CN时内核需要知道目标 IP,于是先做一次 DNS 解析;结果属于中国大陆,按DIRECT直连。 - 访问一个没有被覆盖的海外网站:同样在
GEOIP处解析,IP 不属于中国大陆,继续向下,最终由MATCH兜底交给Proxy。
这个过程说明了两件事。第一,顺序就是优先级:把 MATCH 放在第一行,后面的规则永远不会生效;过于宽泛的 DOMAIN-KEYWORD 放在前面,也可能把不相关的域名“抢”走。第二,IP 类规则意味着解析:没有加 no-resolve 的 GEOIP、IP-CIDR 会让域名先在本地解析一次,这既会拖慢首次连接,也是 DNS 泄漏的常见来源。解析发生的位置与原理,可以参考 TCP、UDP、TLS、DNS 与代理连接的关系。
规则集:把规则交给专人维护
手写规则只适合少量自定义条目。成千上万条域名与网段,一般以规则集(Rule Provider)的形式维护,由客户端定期下载更新。mihomo 中的写法大致如下,URL 为占位示例:
rule-providers:
proxy-list:
type: http # 从网络下载;也可以是 file(本地文件)或 inline
behavior: domain # domain / ipcidr / classical
format: yaml # 也支持 text、mrs
url: "https://example.com/rules/proxy-list.yaml"
path: ./ruleset/proxy-list.yaml
interval: 86400 # 自动更新间隔,单位为秒
rules:
- RULE-SET,proxy-list,Proxy
- GEOIP,CN,DIRECT
- MATCH,Proxy
behavior 决定规则集中每一行的含义:domain 只包含域名,ipcidr 只包含网段,classical 则可以混合书写完整的规则语句。规则集在 rules 中通过 RULE-SET 引用,同样遵守自上而下、命中即停的顺序。
机场提供的 Clash 订阅一般已经内置了规则和规则集引用,大多数用户无需改动。需要追加自定义规则时,Clash Verge Rev 提供了覆写和编辑规则的功能(不同版本的入口名称略有差异),可以在不改动订阅原文件的情况下生效,具体操作见 Clash Verge Rev 使用教程。如果要引入第三方规则集,建议只使用来源可信、持续维护的项目,因为规则集的内容会直接决定你的流量去向。
什么时候用哪种模式
规则模式:日常默认选择
绝大多数时间都应该停留在规则模式。它让国内网站保持直连速度,只为真正需要代理的流量消耗套餐,也减少了国内服务因检测到境外登录 IP 而触发安全验证的情况。规则模式的效果取决于规则质量:遇到某个网站打不开时,先怀疑规则没有覆盖它,而不是立刻切换全局。
全局模式:短时间的排查工具
全局模式适合两类情况:一是判断问题出在规则还是节点——切到全局后网站能打开,说明节点正常、规则需要补充;二是临时访问规则尚未覆盖的服务。用完之后建议切回规则模式。
另外,局域网与本机回环地址通常由系统代理的绕过列表或 TUN 的路由排除来单独处理,但不同客户端和配置的行为并不完全一致。开启全局后如果访问路由器、NAS 等局域网设备出现异常,可以检查这部分设置。
直连模式:保留客户端、暂停代理
直连模式下客户端仍在运行,系统代理或 TUN 继续把流量交给它,只是全部直接放行。和退出客户端相比,它不会改动系统代理设置,切回规则模式时立即生效。当你需要测量本地宽带的真实速度,或者想确认某个问题与代理无关时,直连模式是一个方便的对照组。
不同客户端的叫法
各客户端的名称不同,但概念相通。Shadowrocket 首页的“全局路由”中,“配置”对应规则模式,“代理”对应全局模式,“直连”对应直连模式,另外还有按场景切换的选项,详见 Shadowrocket 使用教程。v2rayN 则在路由设置中提供全局、绕过大陆等预设,思路与上面一致。
为什么全局模式下国内网站会变慢
开启全局后,访问国内网站的路径从“本机 → 国内服务器”变成了“本机 → 代理节点 → 境外落地服务器 → 再跨境回到国内服务器”。变慢是多个因素叠加的结果:
- 路径绕远:数据至少要多跨境往返一次,每次 TCP 和 TLS 握手都要额外付出跨境往返的时间。一个页面往往包含几十个资源请求,累积起来就很明显。
- CDN 被调度到境外:国内网站普遍使用 CDN,根据访问者的 IP 或 DNS 解析来源分配最近的节点。通过境外 IP 访问时,你可能被分配到海外节点或源站,内容要从更远的地方传过来。
- 境外 IP 被区别对待:部分国内视频、音乐、金融类服务会对境外 IP 限制可播放内容,或者要求额外的安全验证。
- 占用节点带宽与套餐流量:本不需要代理的国内流量与海外流量挤在同一个节点上,高峰期还会加重节点负载。
所以,“开全局才能打开”的网站应该通过补充规则来解决,而不是长期停留在全局模式。如果是在规则模式下显示已连接、浏览器却打不开网页,可以按照 Clash Verge 连接成功但无法访问的排查方法 依次检查系统代理、规则与 DNS。
选择建议
- 日常使用:保持规则模式,定期更新订阅与规则集;
- 个别网站异常:先用全局模式做对照,确认是规则问题后补充规则,再切回规则模式;
- 测本地网速或排除代理因素:使用直连模式,而不是直接退出客户端;
- 需要接管不读取系统代理的程序:开启 TUN,模式仍然可以选择规则模式。
本文涉及术语
常见问题
- Q 规则模式下某个海外网站打不开,但切到全局就可以,怎么办?
- A 这通常说明节点本身正常,只是规则没有覆盖这个网站,导致它被判定为直连。可以先更新订阅或规则集;如果仍未覆盖,再在客户端的覆写或自定义规则中为该域名添加一条走代理的 DOMAIN-SUFFIX 规则,并放在 GEOIP 和 MATCH 之前。
- Q 全局模式会消耗更多套餐流量吗?
- A 会。全局模式下国内网站、系统更新、应用后台下载等所有流量都会经过节点并计入套餐,而规则模式只有走代理的流量才会计费。长时间开着全局,流量消耗通常会明显增加。
- Q 直连模式和直接退出客户端有什么区别?
- A 直连模式下客户端仍在运行,系统代理或 TUN 继续把流量交给它,只是全部直接放行,切回规则模式时立即生效。直接退出客户端时,如果系统代理设置没有被正确清除,可能出现整台电脑无法上网的情况。
- Q 规则集需要手动更新吗?
- A 一般不需要。http 类型的规则集会按配置中的 interval 间隔自动更新,客户端界面通常也提供手动更新按钮。机场订阅中内置的规则会随订阅更新而更新。
参考资料
- mihomo 文档:路由规则 — MetaCubeX
- mihomo 文档:规则集合 — MetaCubeX
- Clash Verge Rev 代码仓库 — Clash Verge Rev
本文由 tizivpn.blog 技术组 撰写,最近核对于 。软件界面与服务信息可能随版本变化,发现错误欢迎 反馈。
相关服务资料
以下资料来自本站品牌数据库,按编辑与评测方法整理。
月均低至 ¥8
- 线路
- IEPL 专线 / 中转 / 直连
- 适合
- 日常浏览、流媒体、AI 工具
- 平台
- Windows · macOS · Linux · Android · iOS
本站部分链接为推广链接,通过链接购买可能使本站获得佣金,不会增加你的费用,也不影响评测记录方式。 了解详情