Clash Verge Rev macOS TUN模式:开启步骤与开关自动关闭排查
简答:在 macOS 上开启 Clash Verge Rev TUN 模式,先导入可用配置并启动内核,再安装服务模式、输入管理员密码,最后打开“虚拟网卡模式”。若开关自动关闭,优先检查服务是否可用和系统权限。
定义:TUN 模式是通过虚拟网卡接管系统网络流量的工作方式,覆盖范围通常比只修改 HTTP/SOCKS5 系统代理更广,但仍会受到规则、DNS、应用网络栈和 UDP 支持影响。
先试这一步:按最小改动流程开启 TUN
这是第三方使用指南,Clash Verge Rev 与原版 Clash Verge 不是同一条发布线;项目仓库说明 Rev 是基于 Tauri 的 Windows、macOS 和 Linux 图形客户端,并参考了原版项目及 mihomo 内核。开始前,优先从项目 Releases 页面选择 macOS 对应架构;截至2026-10-24,Releases 标记为 Latest 的是 v2.5.8,后续以该页面的 Latest 标记为准。
- 点击左上角苹果菜单,打开“关于本机”,确认是 Apple 芯片还是 Intel。Apple 芯片选择 Apple Silicon/aarch64 包,Intel 选择 x64/amd64 包。
- 首次打开应用时,如果 macOS 阻止未知开发者应用,优先在 Finder 中按住 Control 点击应用并选择“打开”,或到“系统设置—隐私与安全性”处理允许操作。不要运行来源不明的修复脚本,也不要为了开启 TUN 关闭 macOS 的整体安全检查。
- 导入配置并确认配置解析成功、代理组可选择、内核已经运行。不要在配置尚未加载时反复切换 TUN。
- 打开设置页,找到“服务模式”或“安装服务”。项目中文设置文案明确写有“虚拟网卡模式”,并提示 TUN 模式需要安装服务模式或管理员模式,可参考项目中文设置文案。
- 点击安装服务,输入当前 Mac 用户的管理员密码。这里需要的是本机管理员账户密码,不是 Apple 账户密码。
- 回到设置页,打开“虚拟网卡模式”。TUN 已启用时,通常不需要同时打开“系统代理”;项目设置文案也明确区分了这两个开关。
如果菜单名称略有不同,以当前客户端界面为准:有的版本把 Service Mode、Helper 或服务安装放在系统设置或内核设置附近。不要直接修改应用程序包内文件,也不要把其他内核的字段照搬到当前配置。
系统代理、服务模式和 TUN 到底有什么区别
系统代理只是向 macOS 网络设置写入 HTTP、HTTPS 或 SOCKS5 代理地址,浏览器等遵循系统代理的应用通常可以使用;终端、Git、Homebrew、Docker、SSH、游戏或后台应用可能不读取这些设置。TUN 则创建虚拟网卡并配合路由接管更多系统流量,但并不代表所有流量一定经过代理:规则中的 DIRECT、局域网排除、应用自己的网络栈,以及节点是否支持 UDP,都会影响结果。
服务模式的作用是让客户端或内核具备创建虚拟网卡、修改路由等所需的权限。它不是代理节点,也不会自动改善线路质量。macOS、Windows、Linux 的权限方式也不同;本文只处理 macOS,iOS 没有对应的桌面客户端服务模式流程。
| 项目 | 系统代理 | TUN 模式 | 排查重点 |
|---|---|---|---|
| 工作方式 | 修改系统代理字段 | 使用虚拟网卡和路由 | 看开关状态、日志和实际流量 |
| 权限要求 | 通常较低 | 需要服务模式或管理员模式 | 服务不可用时开关可能自动关闭 |
| 覆盖范围 | 遵循系统代理的应用 | 覆盖范围更广 | 仍受规则、DNS和应用网络栈影响 |
| 适用场景 | 浏览器和常规桌面软件 | 终端、Git、Docker、游戏等 | 先验证,再决定是否长期启用 |
项目中文设置文案还区分了“系统代理”和“虚拟网卡模式”,并写明 TUN 启用时无需打开系统代理,详情见设置字段与提示文案。
新手配置怎么写:只调整 TUN 段,DNS 单独处理
如果只是首次启用,建议先使用客户端生成或现有配置,不要一次性改动 TUN、DNS、规则和端口。需要手动覆写时,先备份配置,再只追加必要字段。mihomo 文档列出的 TUN 栈为 system、gvisor、mixed;新手可先保留 system,遇到明确兼容性问题再逐项测试其他已列出的值,不能填写不存在的值。
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53上面字段属于 tun 配置段。dns-hijack 用于把匹配到的 DNS 连接导入内部 DNS 模块;auto-route 负责自动设置路由;auto-detect-interface 用于自动识别流量出口。具体字段含义以mihomo TUN 配置文档为准。
不要把 enhanced-mode 当成 TUN 层参数,它属于单独的 dns 配置段,用于选择 DNS 的 fake-ip 或 redir-host 行为。若当前配置已经有 DNS 段,先保留原有设置,确认 TUN 基础链路正常后再处理 DNS。不同场景下 DNS 方案会影响局域网、内网域名和应用兼容性,不建议为了“全局”随意复制网上的整段 YAML。
端口也不要凭记忆填写。客户端的混合、HTTP、SOCKS5 等端口可能不同,常见默认为 7897 或 7890,以设置页为准;端口被占用时,先在客户端端口设置页确认实际运行值。
开启后怎么确认真的生效
- 先看客户端日志:打开 TUN 后,日志不应持续出现服务不可用、权限拒绝、创建虚拟网卡失败或路由添加失败。只看到开关变蓝不等于流量已经按预期处理。
- 再看 utun 接口:macOS 的 TUN 设备名称应以
utun开头。终端执行ifconfig,观察启用前后是否出现或变化相应的 utun 接口。不要把接口编号写死,因为每台 Mac 的编号可能不同。 - 验证浏览器:打开一个明确会产生请求的页面,同时观察客户端连接日志,确认请求命中了预期策略组,而不是只看页面是否能打开。
- 验证终端:用终端访问测试地址,重点观察客户端连接日志是否出现对应域名或连接记录。若浏览器正常、终端完全没有命中记录,先检查终端是否设置了独立代理环境变量或应用自身代理。
- 验证 Docker:先检查 Docker Desktop 的网络设置和容器自身 DNS,再看客户端日志。TUN 并不保证所有容器流量都按同一路径处理,容器网络、局域网排除和规则都可能改变结果。
- 验证出口:不要只用延迟数字判断 TUN 是否生效;应以连接日志中命中的策略为准,或在系统代理开关和 TUN 开关之间切换后对比出口 IP。
如果你的场景包括游戏、语音或实时连接,还要确认节点和规则支持 UDP。仅凭网页能打开,不能推断 UDP 应用也一定正常。
macOS 常见故障:症状、原因和处理顺序
| 症状 | 优先检查 | 处理方法 |
|---|---|---|
| TUN 开关一打开就自动关闭 | 服务模式或管理员授权 | 重新进入服务设置,确认安装服务成功;退出客户端后重新打开,再输入本机管理员密码。项目设置文案把“服务不可用导致 TUN 自动关闭”列为明确提示。 |
| 系统代理正常,TUN 不工作 | 两者权限和工作方式不同 | 不要继续反复切换系统代理;先确认服务模式已安装、内核在运行,再打开虚拟网卡模式。 |
| 开启 TUN 后断网 | 规则、DNS、路由或其他 VPN/过滤器 | 先关闭 TUN 恢复网络,再恢复最近一次备份;暂停其他 VPN、网络过滤器或虚拟网卡软件,随后只开启 TUN,不同时修改 DNS 和规则。 |
| 浏览器能用,终端或 Git 不通 | 是否真正命中 TUN 流量 | 查看连接日志;清理或暂时移除终端独立代理变量,确认应用没有自定义代理和独立 DNS。 |
| Docker 不通 | 容器网络和 DNS | 先分别测试宿主机和容器,检查 Docker 的代理、DNS、局域网排除规则,再根据日志判断是否进入客户端。 |
| DNS 解析异常 | DNS 段和 TUN 段是否混写 | 不要把 enhanced-mode 填进 tun;恢复原 DNS 配置后,逐项确认 dns-hijack、规则和局域网域名需求。 |
项目 Releases 页面曾记录 macOS 关闭 TUN 或退出后 DNS 残留导致解析异常的修复,因此如果你在升级或关闭 TUN 后突然无法解析域名,可先关闭客户端、重新连接网络,再检查系统 DNS 是否恢复;具体版本变化应以对应版本发布说明为准。
安全上,不要运行来源不明的 sudo 命令、所谓“一键修复脚本”或要求关闭系统安全机制的操作。优先使用客户端内置的安装服务、系统设置中的授权入口和可回滚的配置备份。
如何回滚,避免越改越乱
- 在客户端关闭 TUN,再关闭系统代理,等待日志确认状态变化。
- 如果仍无法联网,退出客户端并重新连接当前 Wi-Fi 或有线网络。
- 恢复开启 TUN 前的配置备份,不要同时恢复来源不明的规则、DNS 和脚本文件。
- 重新打开客户端,只启动内核和系统代理,确认基础连接正常后,再安装或启用服务模式。
- 最后重新开启 TUN,并按“日志—utun—浏览器—终端—Docker”的顺序验证。
这套顺序的重点是一次只改一个变量:先排除权限,再排除路由,然后再处理 DNS、规则和应用兼容性。这样即使出现断网,也能明确知道是哪一步造成的变化。
常见问题
Clash Verge Rev macOS TUN 模式必须打开系统代理吗?
通常不需要。项目中文设置文案明确说明,TUN 是虚拟网卡模式,启用时无需打开系统代理。若同时开启,出现重复接管或排查困难时,可先关闭系统代理,只保留 TUN 进行验证。
macOS 上 TUN 开关自动关闭,先改 DNS 还是先装服务?
先检查服务模式或管理员模式,不要先改 DNS。TUN 需要服务或管理员权限;服务不可用时,客户端可能直接把开关关闭。权限恢复后,再根据日志处理 DNS 或规则问题。
stack 应该选 system、gvisor 还是 mixed?
mihomo TUN 文档列出的值包括 system、gvisor 和 mixed。新手先保留 system;只有在日志或特定应用出现兼容性问题时,才备份后逐项尝试其他已列出的值,不要填写未在文档中列出的参数。
TUN 开启后所有软件都会走代理吗?
不会直接保证。规则可能把流量判定为 DIRECT,局域网地址可能被排除,某些应用有独立网络栈,游戏和语音还取决于 UDP 支持。应以连接日志命中的策略和出口 IP 对比结果为准。
为什么浏览器正常,但 Docker 或终端不通?
浏览器通常更容易遵循系统代理,而终端和 Docker 可能使用自己的代理、DNS或网络路径。先看客户端日志是否出现对应连接,再检查终端环境变量、Docker 网络设置和规则中的局域网排除。
常见问题
Clash Verge Rev macOS TUN 模式必须打开系统代理吗?
通常不需要。TUN 启用后可先关闭系统代理,避免重复接管;项目设置文案明确区分了系统代理和虚拟网卡模式。
macOS 上 TUN 开关自动关闭,先改 DNS 还是先装服务?
先检查服务模式或管理员模式。TUN 需要相应权限,服务不可用时应先恢复服务,再处理 DNS、规则或节点问题。
stack 应该选 system、gvisor 还是 mixed?
mihomo 文档列出的值包括 system、gvisor 和 mixed。新手先使用 system,遇到明确兼容性问题时再备份后逐项测试。
TUN 开启后所有软件都会走代理吗?
不会直接保证。规则、DIRECT、局域网排除、应用网络栈和 UDP 支持都会影响结果,应以连接日志和出口 IP 对比为准。
为什么浏览器正常,但 Docker 或终端不通?
检查客户端日志是否出现对应连接,再检查终端代理环境变量、Docker 网络与 DNS 设置,以及规则中的局域网排除。