Clash Verge Rev 中的「系统代理(System Proxy)」和「TUN(虚拟网卡)模式」有什么本质区别?日常应该开哪个?
「系统代理」工作在应用层(OSI 第七层),仅通过修改操作系统的 HTTP/HTTPS/SOCKS 代理注册表或环境变量来引导浏览器等遵守系统规则的软件,对于命令行终端(CMD/PowerShell)、Docker 容器、UWP 应用以及大部分 PC 端游戏完全无效;「TUN 模式」工作在网络层(OSI 第三层),通过在操作系统中创建一个虚拟网卡(如 Meta 虚拟适配器)并修改系统路由表,直接劫持所有 TCP 与 UDP IP 数据包。日常仅用浏览器查阅资料可只开系统代理;若涉及终端开发、桌面客户端软件、AI 编程工具(Cursor)或游戏加速,则必须开启 TUN 模式。
- Windows 开启 TUN 前提:必须在 Clash Verge Rev「设置 → 系统设置 → 服务模式(Service Mode)」中点击小盾牌图标安装并启用系统服务,或以管理员身份运行软件。
- macOS / Linux 开启 TUN 前提:首次开启需在系统弹窗中输入系统密码授予内核网络扩展(Network Extension / chmod +s)权限。
- 共存建议:同时开启「系统代理」与「TUN 模式」并不会冲突——浏览器流量优先走开销更低的系统代理端口,其余非标软件与 UDP 流量由 TUN 虚拟网卡兜底接管,这是官方最推荐的黄金组合。
一、系统代理(System Proxy)与 TUN 虚拟网卡模式的底层架构对决
在从 全平台代理客户端下载库 安装好 Clash Verge Rev(目前 Windows、macOS 与 Linux 桌面上最主流的 Mihomo 内核图形界面客户端)后,主界面左侧最核心的两个开关就是「系统代理」与「TUN 模式」。很多用户只知道勾上就能翻墙,却不清楚两者在操作系统网络栈中的截然不同:
| 对比维度 | 系统代理 (System Proxy) | TUN 虚拟网卡模式 (TUN Mode) |
|---|---|---|
| OSI 协议栈层级 | 应用层(第 7 层 HTTP / SOCKS5 代理接口) | 网络层(第 3 层 IP 数据包全局路由劫持) |
| 流量接管机制 | 修改系统注册表/环境变量,靠应用程序“自觉遵守” | 创建高优先级虚拟网卡,在内核层强制接管本机所有流量 |
| 对 UDP 流量的支持 | 极弱(多数软件不支持走 SOCKS5 UDP 转发) | 原生完美支持(游戏加速、语音通话、QUIC 必备) |
| 典型适用场景 | Chrome / Edge 浏览器日常网页浏览、看 YouTube | CMD/PowerShell 终端、Git、Docker、Cursor、外服游戏、桌面版 Telegram |
| 系统权限要求 | 普通用户权限即可开关 | 需安装系统级 Service 服务模式或管理员/Root 授权 |
二、Mihomo 内核数据包匹配与 DNS 解析流水线
为什么有时候明明开了代理,访问海外网站还是打不开,或者去测速网站发现自己的 DNS 暴露了国内运营商 IP?这与 Mihomo 内核处理一个网络请求的先后顺序息息相关:
核心黄金准则:在编写分流规则时,DOMAIN 与 DOMAIN-SUFFIX(域名规则)必须写在最前面,IP-CIDR 与 GEOIP(IP 规则)写在后面,并在 IP 规则尾部加上 no-resolve 参数,避免客户端为了匹配一条 IP 规则而在本地提前发起 DNS 解析,从而彻底杜绝 DNS 污染与泄漏。如果您正在处理大模型地区限制问题,请结合 AI 403 报错排障与原生 IP 绑定策略 一起配置。
三、实战:编写永不被订阅更新覆盖的全局扩展覆写配置(Merge)
为了防止每次更新机场订阅时自定义设置被冲掉,请打开 Clash Verge Rev,依次点击左侧「订阅(Profiles)→ 新建 → 类型选择 Merge(合并)」,右键编辑内容,粘贴以下经过实验室严格验证的防泄漏 + 精准分流覆写模板并启用为全局扩展:
# Clash Verge Rev (Mihomo) 全局增强覆写模板 - 高级机场评测实验室出品
# 作用:开启优化 TUN 栈、启用 Fake-IP 防 DNS 泄漏、前置 AI 与国内直连防偷跑规则
tun:
enable: true
stack: mixed # TCP走System高性能栈,UDP走gVisor稳定栈
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
- tcp://any:53
inet4-route-exclude-address: # 排除局域网段,防止开启TUN后无法访问NAS或打印机
- 192.168.0.0/16
- 10.0.0.0/8
- 172.16.0.0/12
dns:
enable: true
ipv6: false # 建议关闭IPv6解析,防止国内宽带IPv6直连泄漏真实位置
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "localhost.ptlogin2.qq.com"
- "+.msftconnecttest.com"
- "+.msftncsi.com"
default-nameserver:
- 223.5.5.5
- 119.29.29.29
nameserver:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
# 前置最高优先级自定义分流规则(永远优先于机场默认规则执行)
prepend-rules:
# 1. 局域网与私有地址强制直连
- DOMAIN-SUFFIX,local,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
# 2. 国内大流量下载平台强制直连(防高倍率专线流量被Steam/网盘瞬间跑光)
- DOMAIN-SUFFIX,steamcontent.com,DIRECT
- DOMAIN-SUFFIX,baidupcs.com,DIRECT
- DOMAIN-SUFFIX,bilivideo.com,DIRECT为什么我们要特别加入 `steamcontent.com` 与 `baidupcs.com` 强制直连?正如我们在 IEPL 物理专线原理与倍率计费机制 中所剖析的,优质专线的每 GB 带宽都很珍贵,通过前置直连规则,可以彻底杜绝后台更新游戏动辄消耗上百 GB 专线流量的惨剧。
四、「Clash 显示连接成功且节点有延迟,但浏览器无法上网」6 步排查法
当客户端内的节点测速全部显示绿色毫秒数,但浏览器却打不开网页时,请按顺序执行以下 6 步快速修复:
- 核查出站模式是否误选为 Direct(直连):确保主界面顶部的代理模式处于「规则(Rule)」,而非「直连(Direct)」。
- 检查策略组是否选中了过期失效节点:展开第一个主策略组(通常叫 `Proxy` 或 `节点选择`),确保没有停留在 `REJECT` 或已下线的维护节点上。
- 排查浏览器代理扩展冲突:如果您的 Chrome 安装了 SwitchyOmega 等插件,请将其切换为「系统代理」或直接禁用插件,防止插件把流量指向错误的旧端口(Clash Verge Rev 默认混合端口为 `7897`,旧版 CFW 为 `7890`)。
- 刷新本地 DNS 与重置虚拟网卡:在终端执行 `ipconfig /flushdns`,然后在 Clash Verge Rev「设置 → 杂项」中点击「重置防火墙 / 清理连接」。
- 核查系统时间同步误差:VLESS、VMess 与 Trojan 协议对客户端与服务器的时间戳校验极其严格,若电脑系统时间快慢偏差超过 60 秒,握手将全部静默失败。请在系统设置中点击“立即同步インターネット时间”。
- 尝试免配置专属客户端方案:如果您处于公司严格受限的内网电脑,或希望省去一切参数配置精力,也可以在 筛选支持 Clash Mihomo 订阅的 42 家机场 中,选择像 飞猫云(提供免配置自研客户端与标准订阅) 或 无忧链接(原生支持多协议订阅直导) 这类开箱即用的服务商。
🕸️ 站内知识图谱与下一步排查路径
根据您的阅读进度,实验室为您梳理了当前主题的上下游关联节点,助您构建完整的跨境网络方案:
- 全平台代理客户端下载库向上返回客户端软件支柱页
- 技术专题与教程中心向上返回指南聚合页
- AI 403 报错排障与原生 IP 绑定策略分流规则中最核心的应用场景就是将 AI 流量定向到指定节点
- IEPL 物理专线原理与倍率计费机制通过精细分流节省高倍率专线节点的宝贵流量
- 筛选支持 Clash Mihomo 订阅的 42 家机场配置好客户端后需要优质订阅源导入验证
- 飞猫云(提供免配置自研客户端与标准订阅)测评为不想折腾复杂 YAML 的新手提供免配置替代方案
- 无忧链接(原生支持多协议订阅直导)评测导向强调订阅无需转换的品牌页
❓ 深度长尾问题解答 (FAQ)
1. 为什么我在配置文件里辛辛苦苦加了自定义分流规则,机场自动更新一次订阅就全部消失了?
因为直接编辑订阅配置文件本身属于临时修改,当客户端向机场服务器拉取最新节点列表时,远程文件会整体覆盖本地文件。正确的持久化做法是使用 Clash Verge Rev 的「订阅管理(Profiles)→ 新建扩展覆写配置(Merge 或 Script)」,把自定义规则写在全局 `prepend-rules` 中,这样无论订阅如何更新,你的自定义分流永远自动优先生效。
2. 开启 TUN 模式后,局域网内的 NAS、共享文件夹或网络打印机连不上了怎么办?
这是由于虚拟网卡默认路由将部分私有网段(如 `192.168.x.x`、`10.x.x.x` 或 `172.16.x.x`)的广播或内网域名解析请求错误送入了代理隧道。请在覆写配置中确保 `skip-auth-prefixes` 与 `inet4-route-exclude-address` 包含完整局域网段,并在规则最上方添加 `- GEOIP,LAN,DIRECT,no-resolve`。
3. 退出 Clash Verge Rev 后,电脑所有网页都打不开了(连百度都上不去),如何快速恢复?
这是因为软件异常崩溃或直接强杀进程时,来不及清除写入 Windows 注册表的系统代理地址(`127.0.0.1:7897`),导致浏览器把所有请求发往一个已经关闭的本地端口。只需重新打开一次 Clash Verge Rev 再正常关闭「系统代理」开关,或者按 `Win + I` 进入「网络和 Internet → 代理」,手动关闭“使用代理服务器”即可立即恢复。
4. TUN 堆栈模式(Stack)里的 System、gVisor 和 Mixed 应该选哪一个?
对于 Windows 10/11 与 macOS 较新系统,首选 **Mixed(混合模式)** 或 **System**。`System` 栈直接使用操作系统内核级的 TCP/IP 协议栈,吞吐性能最高、CPU 占用最低;`gVisor` 是 Google 用 Go 语言编写的用户态网络栈,隔离性好但高并发下载时 CPU 开销较大;`Mixed` 则是 TCP 走 System 栈保证极速下载、UDP 走 gVisor 栈保证稳定性,兼顾了速度与兼容性。
5. 为什么下载 Steam 游戏或百度网盘时,我的机场套餐流量会瞬间被跑光?
这是新手最常见的“流量被偷跑”事故。原因有二:一是误将代理模式从「规则(Rule)」切成了「全局(Global)」,导致国内 CDN 下载全部绕道香港专线;二是部分游戏平台(如 Steam、Epic)的海外域名解析到了国内 Akamai 节点,若未配置中国大陆 IP 直连规则,几十 GB 的游戏安装包就会消耗机场流量。务必保持在「规则(Rule)」模式下使用。