一、典型现象:代理「看起来开了」却不生效
在 Windows 上,常见路径是「客户端一键设置系统代理 + 防火墙放行」,问题多集中在端口与杀软;而在 macOS 上,即使用户熟悉 Clash,也容易忽略:系统代理字符串是否被写入、网络扩展是否获准加载、以及是否有其他 VPN 或代理类 App 抢占了网络栈。若你遇到的是「Clash Verge 显示运行中、日志也有连接,但浏览器出口 IP 不变」,请先不要急着改规则,而是确认流量有没有真正经过本机代理端口。
另一类常见反馈是:浏览器正常,但终端或某些 App 仍直连。macOS 上并非所有程序都尊重「系统代理」;部分命令行工具需单独配置 HTTP_PROXY 环境变量,或使用 TUN / 虚拟网卡模式(若客户端与内核支持)才能把不走系统代理的流量纳入策略。本文重点放在「系统代理链路」与系统权限;若你已启用 TUN 仍异常,需结合内核文档与日志另做分层排查,可参考站内 配置说明 中的模式说明。
二、先在 Clash Verge 内确认:端口、内核与系统代理开关
第一步始终在客户端内完成,避免与系统设置两头打架。Clash Verge 基于 Mihomo 等内核时,通常会暴露 混合端口(Mixed Port)或分立的 HTTP、SOCKS 端口。请记下当前实际使用的端口号(例如界面中显示的 7890,以你本机为准),因为下一步要与系统里的代理地址逐字对齐。
系统代理开关与「仅本机」
确认已开启「设置为系统代理」或等价选项,并观察切换时 macOS 是否弹出权限或网络相关的提示。若你曾点击拒绝,需要在「系统设置 → 隐私与安全性 → 安全性」或客户端文档指明的位置重新授权。部分版本在代理写入失败时仅在日志里提示,界面仍显示开启,因此要以系统设置里实际显示为准(见下一节)。
内核与订阅是否正常
若内核未启动或配置文件有语法错误,可能导致代理端口未监听,此时系统即便写了代理地址也会连接失败。可先确认订阅刷新成功、规则加载无报错,再测 127.0.0.1:端口 的连通性。与 Windows 混合端口 一文类似,「端口在不在听」与「系统指没指过去」是两件事,需要分开验证。
三、macOS 系统设置里的网络代理是否与客户端一致
在较新的 macOS 版本中,路径一般为:系统设置 → 网络 → 当前活跃网络(如 Wi‑Fi)→ 详细信息 → 代理。在这里可以看到「网页代理(HTTP)」「安全网页代理(HTTPS)」「SOCKS 代理」等是否被勾选,以及服务器地址与端口是否与 Clash Verge 中一致。若地址是 127.0.0.1 而端口对不上,浏览器会连错端口,表现为直连或反复失败。
若你发现代理选项全是关闭,而客户端却显示已设置系统代理,说明写入失败:可能是权限不足、被其他软件还原,或客户端与当前网络服务绑定不一致(例如仅对某一网络接口生效)。可尝试关闭再打开系统代理开关、重启客户端,或在切换 Wi‑Fi / 有线后重新应用一次。
企业或学校下发的描述文件(MDM)有时会锁定代理或 DNS,导致用户侧修改无效。若设备受管,需要与管理员确认策略是否冲突。
四、网络扩展与隐私授权:过滤流量前的系统关卡
从 macOS 10.15 前后开始,许多需要拦截或重定向流量的应用会走 Network Extension 框架。Clash 系客户端若使用 TUN 模式、增强模式或系统级接管,往往会依赖网络扩展或相关内核扩展能力。首次运行时,系统可能提示需要允许加载扩展或在「系统设置 → 隐私与安全性 → 安全性」中手动允许来自开发者的组件。若用户跳过,可能出现「功能半开半关」:界面可选,但实际无法创建虚拟接口或无法注入路由。
请在系统设置中搜索「扩展」或「网络」,查看与当前客户端相关的条目是否已启用。不同版本文案略有差异,以系统实际界面为准。若曾安装旧版客户端残留,可到「登录项」与「后台扩展」里检查是否有冲突项。
需要区分:仅 HTTP 系统代理不一定依赖 TUN;但一旦你在 Clash Verge 里启用了需要虚拟网卡的特性,就必须把网络扩展与内核权限一并打通,否则会出现「规则写了但流量绕不过去」的错觉。若你不确定当前模式,可在客户端关于页或设置中查看运行模式说明,并对照 官方文档 中的术语解释。
五、登录项与后台:避免「人走了代理也停了」
macOS 对后台进程与节能策略较为敏感。若 Clash Verge 未加入登录项或未允许「后台刷新」,重启或合盖唤醒后,客户端可能未自动拉起,系统代理仍指向本机端口但无人监听,表现为突然「全网不通」或恢复直连。建议在系统设置中检查「通用 → 登录项与扩展」,将 Clash Verge 设为开机启动(以你接受的隐私与性能权衡为前提)。
部分用户习惯从菜单栏完全退出客户端,这会导致系统代理指向失效。若你希望长期走代理,可养成「最小化到菜单栏而非退出」的习惯,或在退出前关闭系统代理开关,避免留下半截配置。与 Windows 图形客户端 相比,Mac 用户更常遇到「菜单栏进程与代理生命周期」不同步的问题,值得单独记在排查清单里。
六、浏览器与独立代理设置:不是全部走系统代理
Safari 默认遵循系统代理;若系统设置正确,一般无需单独配置。Chrome 与 Edge 等 Chromium 系浏览器在 macOS 上通常也走系统代理,但若安装了代理类扩展、或启动参数里指定了独立代理,可能绕过系统设置。可尝试无痕窗口、禁用扩展后复测。
Firefox 使用自带的网络设置,默认可能不跟随 macOS 系统代理。需要在 Firefox 设置中将「使用系统代理设置」打开,或手动填写与 Clash Verge 一致的 HTTP/SOCKS 地址与端口。
命令行场景下,curl、git、包管理器等往往需要显式设置 https_proxy 或工具内配置。这与「系统代理已开但终端仍直连」并不矛盾。若你希望「一次配置全局生效」,需要评估 TUN 模式与客户端支持情况,而不是只依赖系统代理勾选框。
七、现象对照表:优先检查什么
下面是一张按现象归类的速查表,建议从上到下逐项排除。
| 现象 | 建议优先检查 |
|---|---|
| 客户端显示系统代理已开,但系统设置里代理全关 | 权限是否被拒绝;是否需重新授权;其他 App 是否覆盖代理;尝试重启客户端并再次写入 |
| 系统代理端口与客户端不一致 | 核对混合端口数值;是否改过端口未重新应用系统代理;多配置文件切换是否遗留旧端口 |
| 启用 TUN 或增强模式后仍像直连 | 网络扩展是否已允许;内核日志是否报错;是否与第三方防火墙、Little Snitch 等规则冲突 |
| 仅 Firefox 或终端不走代理 | Firefox 独立网络设置;终端环境变量与工具内代理配置 |
| 休眠或重启后偶发失效 | 登录项与后台启动;客户端是否被完全退出;系统代理是否指向空端口 |
排障时尽量一次只改一类变量:先对齐系统设置与端口,再谈规则与节点。许多「Clash Verge 在 macOS 上不好用」的反馈,最后都落在系统代理与权限这一层,与「泛 TUN 原理」长文角度不同,更适合用对照表解决。
八、小结
在 macOS 上使用 Clash Verge,当系统代理不生效时,核心是把三件事对齐:客户端声明的端口与模式、系统网络设置里真实写入的代理地址、以及网络扩展与登录项带来的生命周期问题。相比在订阅里反复试错,按本文顺序先做「系统层」自检,通常能更快定位。若你同时需要局域网共享或混合端口细节,可结合 Windows 专文里的端口与监听思路类比到 Mac,但权限模型仍以苹果系统为准。
相比功能碎片化的小工具,Clash 生态在规则、内核与多平台客户端上更统一;把 macOS 侧权限与代理链路理顺之后,日常浏览与开发环境都会省心许多。
若你尚未安装或希望从本站获取适配当前系统的客户端,可先完成安装与订阅导入,再按本文步骤逐项核对系统代理与网络扩展。