在 Clash Verge Rev 中开启 TUN 模式分三步:先在设置中安装服务模式(需要管理员权限),再打开 TUN 模式开关,最后关闭系统代理开关避免叠加。开启后所有程序的流量都经过代理,终端里无需再设置环境变量。用 curl 查询出口 IP 即可验证。
目录
TUN 模式是让终端、命令行工具与所有应用都走代理的最省事方法。系统代理只对浏览器和少数遵循系统设置的程序有效,而 Claude Code、Codex CLI、Git、Docker、大多数游戏都会忽略它。TUN 模式通过创建一张虚拟网卡在网络层接管全部流量,应用无法绕过,也不需要逐个配置环境变量。
在 Clash Verge Rev 中开启 TUN 只需三步:安装服务模式、打开 TUN 开关、关闭系统代理。本文按步骤说明,并覆盖 DNS 劫持、验证方法与无网络、DNS 泄漏、杀软冲突等常见问题。客户端的基础用法见 Clash Verge Rev 使用教程。
先看结论
| 对比项 | 系统代理 | TUN 模式 |
|---|---|---|
| 覆盖范围 | 浏览器与遵循系统设置的应用 | 所有应用,包括终端与 CLI |
| 需要权限 | 不需要 | 需要管理员权限安装服务 |
| DNS 处理 | 通常由系统直接解析 | 可劫持并统一处理 |
| 与 VPN / 杀软冲突 | 少 | 可能有 |
| 适合人群 | 一般浏览用户 | 开发者、需要全局接管的用户 |
第一步:安装服务模式
TUN 模式需要创建虚拟网卡与修改路由表,这些操作需要系统级权限,因此 Clash Verge Rev 会先安装一个后台服务来代为执行。
- 打开设置页面,找到服务模式相关的选项。
- 点击安装,允许系统弹出的管理员权限请求。
- 等待安装完成,选项状态会变为已激活或类似提示。
Windows 上如果安装失败,用管理员身份重新运行客户端再试;macOS 上可能需要到系统设置的隐私与安全性中允许相关扩展;Linux 需要客户端有权限创建 TUN 设备,多数发行版通过包管理器安装后已具备。
第二步:开启 TUN 模式
服务模式安装成功后,在设置页面打开 TUN 模式开关。TUN 相关的子选项中,栈类型(stack)保持默认即可,通常是 mixed 或 gvisor,不同版本默认值略有差异,不需要手动调整。
首次开启时系统可能弹出网络适配器或网络扩展的权限提示,允许即可。开启成功后,网络连接列表中会出现一张新的虚拟网卡。
第三步:关闭系统代理
TUN 与系统代理不需要同时开启。两者叠加时,浏览器的流量会先经过系统代理再经过 TUN,虽然多数情况下仍能工作,但会让排查问题时的流量路径变得混乱。开启 TUN 后关闭系统代理开关,让所有流量走同一条路径。
DNS 劫持
DNS 劫持:客户端拦截系统发出的所有 DNS 查询(通常匹配任意地址的 53 端口),改为由客户端按配置解析。
这是 TUN 模式下容易被忽略但很重要的设置。如果 DNS 请求不经过客户端,域名可能被本地运营商解析到错误的地区,导致明明节点在美国、访问的却是国内 CDN,甚至暴露真实位置。在 TUN 设置项中确认 DNS 劫持已启用,默认值通常为 any:53。
如果订阅中的规则包含自定义 DNS 配置,客户端会以该配置为准。出现域名解析异常时的排查见 DNS 错误排查。
验证方法
打开一个全新的终端窗口,不要设置任何代理环境变量,执行:
curl -sS https://ipinfo.io/json
Windows PowerShell 中请写 curl.exe:
curl.exe -sS https://ipinfo.io/json
输出的 country 字段应与你在代理页面选定的节点地区一致。如果显示 CN,说明 TUN 没有接管终端流量,回到前两步检查服务模式与开关状态。
验证通过后再运行目标程序,例如 Claude Code 或 Codex CLI。这两个工具的具体使用与报错处理分别见 Claude Code 网络环境配置 与 Codex CLI 代理配置教程。
常见问题
开启 TUN 后完全没有网络:按以下顺序排查。第一,服务模式是否真正安装成功,重新安装一次;第二,是否有其他 VPN 客户端、虚拟机网络或安全软件的虚拟网卡在争抢路由,暂时禁用它们;第三,当前选中的节点是否可用,切换到全局模式并选一个延迟正常的节点测试。仍无网络时参考 客户端开启后无法上网。
DNS 泄漏:DNS 劫持未启用,或覆写配置里关闭了它。启用后用在线 DNS 泄漏测试站点验证,结果中的 DNS 服务器地区应与节点一致。
与杀毒软件冲突:安装服务时被拦截,或开启 TUN 后被安全软件断网。把 Clash Verge Rev 及其服务加入信任列表,安装服务模式时临时关闭实时防护。
部分程序仍然不走代理:检查该程序是否有自己的代理设置并指向了旧地址,例如 Git 的 http.proxy 配置、npm 的 proxy 配置、IDE 的代理设置。TUN 模式下这些应清空或指向正确端口。
关闭客户端后没有网络:TUN 未正常卸载导致路由残留。重新打开客户端,关闭 TUN 开关后再退出;极端情况下重启系统即可恢复。
总结
- TUN 模式在网络层接管全部流量,是终端与 CLI 走代理的最省事方案。
- 三步开启:安装服务模式、打开 TUN 开关、关闭系统代理。
- DNS 劫持要保持启用,否则域名可能被解析到错误地区。
- 验证方法是在新终端中用 curl 查询出口 IP,无需环境变量。
- 无网络先查服务模式与虚拟网卡冲突,杀软拦截加信任即可。
常见问题
TUN 模式和系统代理有什么本质区别?
系统代理是告诉应用“请把请求发到这个代理地址”,应用可以选择不听;TUN 模式是在网络层创建虚拟网卡直接接管流量,应用无法绕过。所以终端、CLI、部分游戏只有 TUN 模式才能覆盖。
开启 TUN 后完全没有网络了怎么办?
最常见的原因是服务模式没有安装成功或权限不足。先关闭 TUN,到设置中重新安装服务模式,必要时以管理员身份运行客户端。其次检查是否有其他 VPN 或虚拟网卡软件占用了路由。
TUN 模式会不会有 DNS 泄漏?
启用 DNS 劫持后,系统的 DNS 请求会被客户端接管并按配置处理,通常不会泄漏。如果 DNS 劫持未启用或被覆写规则关闭,DNS 请求可能直连本地运营商。可以用在线 DNS 泄漏测试站点验证。
杀毒软件或安全软件报警怎么处理?
TUN 模式需要安装系统服务并创建虚拟网卡,部分安全软件会拦截。把 Clash Verge Rev 加入信任列表,或在安装服务模式时临时关闭安全软件的实时防护。
TUN 模式下还需要给终端设置 HTTPS_PROXY 吗?
不需要。TUN 接管了全部流量,环境变量不再起作用。如果之前设置过环境变量并指向了错误端口,反而可能导致失败,建议清理掉。