tizivpn.blog
tizivpn.blog

搜索全站文章

梯子指南 / 分流与路由 进阶

规则模式、全局模式和直连模式有什么区别

对比规则、全局、直连三种代理模式,讲清规则自上而下匹配的机制与规则集的作用,并说明什么时候该切换模式。

发布于 约 7 分钟读完 进阶 原理

简短回答

规则模式按规则逐条匹配,决定每个连接走代理还是直连,是日常默认选择;全局模式让所有流量都走选定节点,适合临时排查;直连模式让所有流量都不经代理,相当于保留客户端但暂停代理。长期使用全局模式会让国内网站绕行境外、速度变慢并多消耗流量。

本文要点

  • 模式决定流量进入客户端后怎么走,系统代理与 TUN 决定流量如何进入客户端,两者相互独立。
  • 规则自上而下匹配、命中即停,顺序就是优先级,MATCH 兜底规则必须放在最后。
  • GEOIP、IP-CIDR 等 IP 类规则需要先解析域名,没有 no-resolve 时会产生本地 DNS 查询。
  • 规则集把大量域名和网段交给外部维护并定期更新,应只使用来源可信的规则集。
  • 开全局才能打开的网站,应通过补充规则解决,而不是长期停留在全局模式。
梯子指南专题封面:规则模式、全局模式和直连模式有什么区别
★ 编辑推荐 二猫云 · 三网优化 IEPL 专线
查看实测 →
本文目录(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 任何流量 兜底规则,必须放在最后

用三个请求走一遍

  1. 访问 www.example.org:第二条 DOMAIN-SUFFIX,example.org 命中,交给 Proxy 策略组,后面的规则不再查看。
  2. 访问一个没有被任何域名规则覆盖的国内网站:前几条域名规则都不命中,走到 GEOIP,CN 时内核需要知道目标 IP,于是先做一次 DNS 解析;结果属于中国大陆,按 DIRECT 直连。
  3. 访问一个没有被覆盖的海外网站:同样在 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 则在路由设置中提供全局、绕过大陆等预设,思路与上面一致。

为什么全局模式下国内网站会变慢

开启全局后,访问国内网站的路径从“本机 → 国内服务器”变成了“本机 → 代理节点 → 境外落地服务器 → 再跨境回到国内服务器”。变慢是多个因素叠加的结果:

  1. 路径绕远:数据至少要多跨境往返一次,每次 TCP 和 TLS 握手都要额外付出跨境往返的时间。一个页面往往包含几十个资源请求,累积起来就很明显。
  2. CDN 被调度到境外:国内网站普遍使用 CDN,根据访问者的 IP 或 DNS 解析来源分配最近的节点。通过境外 IP 访问时,你可能被分配到海外节点或源站,内容要从更远的地方传过来。
  3. 境外 IP 被区别对待:部分国内视频、音乐、金融类服务会对境外 IP 限制可播放内容,或者要求额外的安全验证。
  4. 占用节点带宽与套餐流量:本不需要代理的国内流量与海外流量挤在同一个节点上,高峰期还会加重节点负载。

所以,“开全局才能打开”的网站应该通过补充规则来解决,而不是长期停留在全局模式。如果是在规则模式下显示已连接、浏览器却打不开网页,可以按照 Clash Verge 连接成功但无法访问的排查方法 依次检查系统代理、规则与 DNS。

选择建议

  • 日常使用:保持规则模式,定期更新订阅与规则集;
  • 个别网站异常:先用全局模式做对照,确认是规则问题后补充规则,再切回规则模式;
  • 测本地网速或排除代理因素:使用直连模式,而不是直接退出客户端;
  • 需要接管不读取系统代理的程序:开启 TUN,模式仍然可以选择规则模式。

本文涉及术语

规则模式
按规则决定流量走代理还是直连的模式。
全局模式
所有流量都经过代理节点的模式。
代理
替用户转发网络请求的中间服务器。
系统代理
通过操作系统代理设置转发支持代理的应用流量。
TUN 模式
通过虚拟网卡接管系统全部流量的代理方式。
DNS
把域名翻译成 IP 地址的系统。
Fake-IP
客户端先返回虚拟 IP、由代理端完成真实解析的 DNS 模式。
mihomo
Clash 系客户端广泛使用的开源代理内核。

常见问题

Q 规则模式下某个海外网站打不开,但切到全局就可以,怎么办?
A 这通常说明节点本身正常,只是规则没有覆盖这个网站,导致它被判定为直连。可以先更新订阅或规则集;如果仍未覆盖,再在客户端的覆写或自定义规则中为该域名添加一条走代理的 DOMAIN-SUFFIX 规则,并放在 GEOIP 和 MATCH 之前。
Q 全局模式会消耗更多套餐流量吗?
A 会。全局模式下国内网站、系统更新、应用后台下载等所有流量都会经过节点并计入套餐,而规则模式只有走代理的流量才会计费。长时间开着全局,流量消耗通常会明显增加。
Q 直连模式和直接退出客户端有什么区别?
A 直连模式下客户端仍在运行,系统代理或 TUN 继续把流量交给它,只是全部直接放行,切回规则模式时立即生效。直接退出客户端时,如果系统代理设置没有被正确清除,可能出现整台电脑无法上网的情况。
Q 规则集需要手动更新吗?
A 一般不需要。http 类型的规则集会按配置中的 interval 间隔自动更新,客户端界面通常也提供手动更新按钮。机场订阅中内置的规则会随订阅更新而更新。

参考资料

  1. mihomo 文档:路由规则 — MetaCubeX
  2. mihomo 文档:规则集合 — MetaCubeX
  3. Clash Verge Rev 代码仓库 — Clash Verge Rev

本文由 tizivpn.blog 技术组 撰写,最近核对于 。软件界面与服务信息可能随版本变化,发现错误欢迎 反馈。

相关服务资料

以下资料来自本站品牌数据库,按编辑与评测方法整理。

本站部分链接为推广链接,通过链接购买可能使本站获得佣金,不会增加你的费用,也不影响评测记录方式。 了解详情