TUN模式规则分流系统代理配置策略组

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

clash verge 技术团队2026/5/16分流设置
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,说明分流再次生效。

决策树:我该选哪条路径

  1. 仅浏览器需要分流 → 保持系统代理开启,TUN 关闭,最简单。
  2. 浏览器+CLI 工具(git、npm、docker)都要分流 → 系统代理关 + TUN 开,避免 CLI 绕路。
  3. 公司 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 开」、午休切「系统代理」。

最佳实践清单(可直接打勾)

  1. 升级至截至当前的最新版本,确保 TUIC v5 与 AI 延迟预测已内置。
  2. 规则集每日自动更新打开,但「配置文件云同步」选「仅手动合并」,防止回滚。
  3. TUN Stack 优先试 system,若游戏封包异常再切 gvisor。
  4. 把「GEOIP 全量下载」关断,首次启动后手动更新一次即可,降低 CPU 峰值。
  5. 重要会议前 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 实时验证;确认稳定后,把「云同步」切回手动,防止配置被覆盖。这样,无论系统代理是否开启,你都能保持「无感分流」的干净体验。