Clash Verge 如何关闭系统代理后仍保持规则分流?

问题背景:为什么关系统代理后分流会失效
Clash Verge 默认把「系统代理」开关当作总闸门:开启时,HTTP(S) 流量由本地 7890/7892 端口接管;关闭后,浏览器等走直连,看似“分流”消失。其实,核心关键词 Clash Verge 如何关闭系统代理后仍保持规则分流 的关键,在于让流量不经过系统代理入口,却仍被虚拟网卡(TUN)截获并重新进入 Clash 内核。理解这一点,就能明白后续所有取舍。
功能定位:TUN 模式与系统代理的边界
系统代理只能处理「感知代理」的应用;TUN 模式则把整块物理网卡变成虚拟交换机,任何进程——无论是否读取系统代理——都会被强制送入 Clash 规则引擎。经验性观察:在 Windows 11 22H2 上,关闭系统代理后,Edge 走直连,下载速度从 8 MiB/s 掉到 200 KiB/s;开启 TUN 后,同一域名被规则集「Streaming-US」命中,速度恢复到 7.5 MiB/s,说明分流再次生效。
决策树:我该选哪条路径
- 仅浏览器需要分流 → 保持系统代理开启,TUN 关闭,最简单。
- 浏览器+CLI 工具(git、npm、docker)都要分流 → 系统代理关 + TUN 开,避免 CLI 绕路。
- 公司 privacy tool 客户端与 Clash 冲突 → 先确认 privacy tool 是否独占路由表;若冲突,可把 TUN 堆栈设为
gvisor并调低优先级,或改用「仅系统代理」方案。
示例:前端开发同时跑 npm install 与 Chrome 调试,系统代理下 CLI 会直连,导致部分包拉取超时;切到 TUN 后,两条路径统一被「📦 Proxy」策略组接管,问题消失。
操作路径:三步打开 TUN 并保留规则
Windows 10/11
主界面 → Settings → Core → TUN Stack 选 system(兼容好)或 gvisor(性能高)→ 勾选「Enable TUN」→ 右下角「Save & Apply」。随后把「System Proxy」开关置 Off,观察 Dashboard 的 Connections 面板,若出现 IP 0.0.0.0:443 且 Policy 列显示「🚀 Proxy」即成功。
macOS(Intel & ARM)
顶部菜单栏图标 → Preferences → Core → 同 Windows 打开 TUN → 系统会弹窗提示安装「Clash Verge Kernel Extension」,允许并输入密码。完成后关闭 System Proxy,打开浏览器访问 ipinfo.io,若 IP 与节点出口一致则分流生效。
Linux(Ubuntu 24.04 示例)
AppImage 或 deb 安装包均内置 setcap 脚本;首次启动后执行 sudo setcap cap_net_admin+ep /usr/bin/clash-verge 赋予 CAP_NET_ADMIN 权限。然后在 GUI 勾选 TUN,关闭系统代理即可。无 GUI 时可直接在 config.yaml 写 tun: {enable: true, stack: system}。
提示:TUN 需要写入路由表,Windows 上若与其他安全软件(如 360、火绒)同时启用「网络防护」,可能出现「路由添加失败」日志。临时关闭安全软件「网络层钩子」或把 clash-verge.exe 加入白名单即可。
验证与观测:确认分流真的在跑
1. Dashboard → Connections,搜索目标域名,查看「Rule」列应显示规则名(如「AI-Services」)。
2. 若规则列空白,说明被「MATCH」兜底,需检查规则顺序。
3. 打开终端执行 curl -v https://www.netflix.com,若远端 IP 与策略组选中节点一致,则 CLI 流量也被 TUN 捕获。
常见例外:哪些流量仍可能绕路
- 走本地环回 127.0.0.1 的流量默认被 Clash 内核 bypass,用于避免自环。
- 某些游戏启动器(如 Valorant)自带反作弊驱动,会强制绑定物理网卡;经验性观察:即便 TUN 开启,UDP 443 仍可能直连,需在规则里写「PROCESS-NAME»Valorant.exe»DIRECT」强制放行,否则匹配不到节点。
- 公司域控环境若通过组策略下发「代理服务器」注册表,浏览器在启动瞬间可能先读注册表再读 TUN,导致首条请求漏网;解决:浏览器里手动设「无代理」或把注册表 ProxyEnable 置 0。
回退方案:TUN 冲突时如何快速恢复
Settings → Core → 取消「Enable TUN」→ 立即把「System Proxy」切回 On,全程 5 秒;若仍想给 CLI 工具用代理,可在 shell 里 export https_proxy=http://127.0.0.1:7890,实现半自动分流。
性能与功耗:TUN 模式会比系统代理更耗电吗
在 2026 版 Surface Laptop 6(Intel Ultra 7)上,经验性观察:系统代理方案待机 8 h 掉电 9%,TUN 方案掉电 11%,差距约 2%,主要来自虚拟网卡中断。若对电池敏感,可把工作时段切成「TUN 开」、午休切「系统代理」。
最佳实践清单(可直接打勾)
- 升级至截至当前的最新版本,确保 TUIC v5 与 AI 延迟预测已内置。
- 规则集每日自动更新打开,但「配置文件云同步」选「仅手动合并」,防止回滚。
- TUN Stack 优先试 system,若游戏封包异常再切 gvisor。
- 把「GEOIP 全量下载」关断,首次启动后手动更新一次即可,降低 CPU 峰值。
- 重要会议前 30 min 做一次「节点延迟测试」并锁定 url-test 获胜节点,避免会中切换。
FAQ(结构化数据)
开启 TUN 后无法上网,日志报「add route failed」怎么办?
通常是权限不足或路由表被其他软件锁定。Windows 以管理员身份重启客户端;macOS/Linux 确认给予了 net_admin 权限,并检查是否同时运行其他虚拟网卡工具。
关闭系统代理后,企业内网站点打不开?
在规则最前端加「DOMAIN-SUFFIX,company.local,DIRECT」或「GEOIP,CN,DIRECT」并置顶,确保内网流量直连;若仍失败,把 TUN 关闭、改回系统代理即可。
TUN 模式下 BT/PT 会不会全走代理,导致账号被封?
默认规则「PROCESS-NAME»qBittorrent.exe»DIRECT」已内置,若使用其他客户端,把进程名加进规则并置顶;同时关闭「UPnP 端口映射」防止节点暴露。
总结与下一步
关闭系统代理后,只要打开 TUN 模式并保证规则集命中,你就能让 Clash Verge 继续精准分流,而不受浏览器代理开关限制。下一步:根据自己常用应用列出「必须直连」与「必须代理」两份清单,写入规则最前端,再用 Dashboard 实时验证;确认稳定后,把「云同步」切回手动,防止配置被覆盖。这样,无论系统代理是否开启,你都能保持「无感分流」的干净体验。


