如果你已经在 macOS 上安装并能正常启动 Clash Verge Rev,接下来最常卡住的不是「再点一次订阅」,而是代理模式切换这一步:规则模式和全局模式各自解决什么问题、TUN和系统代理要不要同时开、界面里改了模式为什么浏览器照样显示本地出口。本文与站内侧重于 Windows 订阅与节点的文章形成互补,也把《规则分流思路》里偏概念的内容落到 macOS 客户端上的具体切换顺序;不重复讲机场订阅语法,只讲「模式与隧道」这一层如何和 Verge Rev 的按钮对齐。
先统一口径:RULE、GLOBAL、DIRECT 各管一层什么
在 Mihomo / Clash Meta 系内核里,大家挂在嘴边的「三种模式」一般指运行模式(常见标签为 RULE、GLOBAL、DIRECT 或中文对照)。它们解决的是:当一条连接来到内核时,规则引擎以何种力度参与决策,而不是代替你去选某一个具体节点——节点仍然由 策略组与你在界面里点的那个入口共同决定。可以粗略记:
- 规则模式(RULE):优先按配置文件中的规则链(域名、IPCIDR、GEO、规则集等)把流量分给直连、某个代理组或阻断。适合日常:国内站走直连、指定域名走代理,减少无谓绕行。
- 全局模式(GLOBAL):在「需要走代理」的那一类请求上,往往简化为更多流量统一交给全局或总出口组处理(具体语义以你当前配置里
GLOBAL组如何编写为准)。适合快速验证「这条节点链路是不是通的」,或临时不在乎细分分流。 - 直连模式(DIRECT):让内核倾向把可放行流量直接送出本地线路,等价于「别给我套一层代理链」。适合排障时判断问题出在代理还是本地网络;若长期停在这里却期待境外站点被代理,这是典型「模式与预期相反」的情况。
这三者与「TUN 开没开」「系统代理开没开」属于不同维度:运行模式描述内核里规则如何裁决;系统代理 / TUN描述本机应用程序的流量有没有被送到 Clash 监听的端口或虚拟网卡。缺了后一环,前一环再正确也会在系统层面表现为「什么也没发生」。
系统代理与 TUN:macOS 上先选隧道再谈模式
系统代理:把操作系统的 HTTP/HTTPS(以及部分客户端会读的 SOCKS)代理指向 Verge Rev 暴露的本地端口。优点是开启与关闭相对轻量,浏览器、不少图形界面应用会遵循;缺点也很明确:不尊重系统代理的程序不会自动进 Clash,典型例如某些终端命令行工具、游戏或自带独立网络栈的软件。
TUN 模式:通过虚拟网卡与路由规则把更广泛的 IP 层流量纳入内核处理路径,覆盖面通常大于仅靠系统代理。在 macOS 上首次启用往往需要管理员授权、有时还涉及「网络扩展」或助手程序是否被安全策略拦截。若你遇到「只有 Safari 变了 IP、IDE 里 curl 仍是本地运营商」,优先应该评估的就是要不要上 TUN,而不是盲目切全局。
实战顺序建议:日常以规则模式 + 系统代理为默认;发现某类应用始终绕开代理,再单独打开 TUN做对比测试。两者同时启用在某些机器上可行,但要以客户端文档与当前版本行为为准——若出现环路或双倍转发,应回看日志里是否有重复劫持提示。
在 Clash Verge Rev 里这些东西通常在哪里
Clash Verge Rev 作为主界面,常见布局会把当前配置、运行模式、系统代理开关、TUN 开关放在首页仪表盘或「设置 / Settings」「网络」一类面板中;策略组与节点选择则在代理或 Profiles 相关视图。由于开源客户端迭代快,下列步骤用功能名描述,而不绑定某一固定截图位置:
- 确认内核已启动且当前 Profile正是你要用的那份(多配置并存时这是第一颗螺丝)。
- 在主导航中找到运行模式或 Mode 切换区,在 RULE / GLOBAL / DIRECT 之间切换。
- 在相邻区域或网络设置中,分别找到系统代理与 TUN / Tun Mode 的独立开关。
- 需要指定出口时,进入代理 / 策略组视图,在总代理或地区组里选中节点(与《Verge Rev 订阅与节点切换》中的层次思路一致)。
当你觉得「按钮都点了但还是不对」,先用这一条缩小范围:模式切换是否立即反映在内核日志里,还是仅仅界面状态机变化——后者多与权限或服务未拉起有关。
分步 A:切到规则模式并搭配系统代理(推荐日常)
目标:在保留分流精细度的同时,让常见桌面应用通过系统代理走 Clash。操作顺序建议:
- 将运行模式设为规则(RULE)。
- 在代理组中为总出口或常用组选好节点,执行一次延迟测试筛掉明显失效项。
- 打开系统代理开关,确认本地监听端口未被其他软件占用(若客户端提供端口展示,记下来备用)。
- 用浏览器访问知名 IP 检测页,核对出口是否与节点所在地区大致一致;再打开被墙站点验证可用性。
若规则集较旧,可能出现「规则写死直连」的域名怎么看都不走代理——这不是全局模式能一刀切的哲学问题,而是规则内容需要更新;站点层面可参考《规则分流》一文建立预期,再决定是否更换远端规则集或增补自定义规则。
分步 B:切到全局模式做快速验证
目标:尽量把「要不要代理」这件事简化,专注验证节点本身是否可用。在已开启系统代理或已启用 TUN的前提下,将运行模式切换为全局(GLOBAL),再观察浏览器出口是否切换到代理一侧。若全局下仍完全直连,应优先回头看隧道是否真打开,而不是急着把订阅重下十遍。
全局不是万能的:少数配置会把某些域名固定在直连组;不同机场编写的 GLOBAL 组也可能嵌套复杂。若你确认隧道无误但表现违反直觉,下载当前生效配置原文,搜索 GLOBAL 与相关 proxy-groups 段落,比停留在界面反复点击更能定位问题。
分步 C:启用 TUN 覆盖不读系统代理的流量
目标:让命令行、游戏或特定桌面应用的流量进入内核。建议在已完成规则模式 + 系统代理的基本验证之后再开 TUN,以便区分「节点坏了」与「TUN 没起来」。
- 在设置中找到 TUN 或「虚拟网卡 / enhanced mode」类选项并开启。
- 按 macOS 弹窗授予网络相关权限;若被企业配置禁止,考虑改用混合端口 + 手动为终端设置
HTTP_PROXY等变量作为临时替代。 - 开启后观察客户端连接列表或日志:应能看到内核接管后的会话记录,而不是长时间空白。
- 在终端使用
curl访问境外接口再做一次对照;若仅浏览器可用而终端仍本地,说明此前缺的就是 TUN 或等价的透明劫持路径。
对 DNS 劫持敏感的用户,可同时关注配置里的 DNS 与 fake-ip 相关段落——TUN 开启后 DNS 路径变化更易暴露问题,必要时结合日志里的解析失败关键字排查。
如何确认「真的切换成功」:三层检查
代理模式切换的验收不必玄学,按由内到外地做即可:
- 客户端层:运行模式指示与当前 Profile 一致;系统代理与 TUN 的开关状态与你的实验设计一致;连接记录随访问增长。
- 网络出口层:浏览器与(如已启用)终端显示的公网 IP 与策略组所选区域相符;延迟测试不是清一色超时。
- 日志层:遇到异常时,优先搜索
dial、timeout、dns、reject等关键词,判断是握手失败、解析失败还是规则命中为直连。
如果你刚刚从「直连模式」切回「规则」却短暂无效,有时是内核重载的时序问题:等候数秒或手动重启内核后再测,比在界面连点更有意义。
界面里常见糊涂点(对照)
只开系统代理却期待 TUN 效果:先接受应用是否支持系统代理这一事实,再决定是否请出 TUN。
全局模式仍访问不了某一个站:可能是该域名在配置里被明确直连、或节点本身被目标站拦截;换节点与看规则命中并行。
TUN 打开后整网变慢:检查是否误把大量国内流量绕进隧道、或 DNS 走了远端;对照规则集与 DNS 段落逐项收缩试验范围。
为什么选择持续演进的 Clash / Mihomo 生态而不是停更脚本壳
市面上不少「一键包」也能在 macOS 上临时改系统代理,但长期痛点往往集中在三处:协议与路由现实脱节导致握手频繁失败;规则语言停在旧世界,面对新型域名结构只能全盘直连或全盘代理;没有可用的连接视图与日志,出了问题只能重启拼人品。Clash Verge Rev 这类仍跟随 Mihomo / Clash Meta 内核节奏更新的外壳,价值在于把规则模式、全局模式与 TUN拆成你可逐项核对的开关——你能明确知道当前是哪一层没接上,而不是在黑色盒子里循环点击。
当你已经能熟练在 macOS 上完成代理模式切换,并把系统代理与 TUN当作不同覆盖面的工具而非互相替代的神秘开关,日常排障就会从「重装试试」收敛为「看模式、看隧道、看日志」三步;需要再深入分流细节时,回到规则专题文章也会更心中有数。