在进行深度学习开发或学术研究时,访问 Hugging Face、GitHub、以及调用 Gemini 或 OpenAI 的 API 是日常刚需。然而,传统的“设置系统代理”或“终端 export 环境变量”的方式,在面对现代 AI 基础设施时往往力不从心。
本文将介绍如何在 Ubuntu 上部署 Clash Verge (Rev) 并启用 TUN 模式,通过虚拟网卡接管系统所有流量,实现真正的“透明代理”。
关于科学上网的协议选择、GEO 优化以及更广泛的技术方案对比,请参考我的另一篇综述文章:全球互联与 AI 开发网络指南:协议解析与 Ubuntu 透明代理实战。
◎ 突破网络边界,释放生产力核心痛点:为什么你需要 TUN 模式?
许多开发者会遇到这种灵异现象:明明浏览器能访问 Google,但终端里的 git clone 速度极慢;或者明明设置了 http_proxy,但 Python 代码请求 Gemini API 时依然报错 Connection Timeout。
这是因为:
- 应用层限制 :
http_proxy环境变量仅对遵循 HTTP 协议且主动读取该变量的程序有效。 - 非 HTTP 流量 :大量的流量(如
ping、部分 Git 操作、QUIC 协议、DNS 查询)并不走 HTTP 代理。 - Go/Python 库特性 :某些新版的 AI SDK(如 Google Generative AI SDK)底层可能直接发起 socket 连接,绕过了系统代理设置。
解决方案是 TUN 模式 。它会在系统中创建一个虚拟网卡(通常叫 clash0 或 utun),并在网络层(Layer 3)接管所有流量。对于操作系统而言,Clash 就像一根网线,所有数据包必须经过它,从而实现无死角的接管。
1. 安装 Clash Verge Rev
Clash Verge Rev 是目前最活跃的 Clash GUI 客户端分支,完美支持 Linux。
下载与安装
前往 GitHub Releases 页面下载最新的 .deb 包(架构通常为 amd64)。
# 假设下载的文件名为 clash-verge-rev_*.deb
sudo dpkg -i clash-verge-rev_*.deb
# 如果提示依赖缺失,执行以下命令自动修复
sudo apt-get install -f
2. 关键步骤:配置 TUN 模式
安装完成后,普通的代理功能已经可用,但为了彻底解决环境问题,我们需要开启 TUN。
第一步:安装 Service Mode (服务模式)
TUN 模式需要创建虚拟网卡和修改路由表,这需要 root 权限。Clash Verge 使用 Service Mode 来以高权限在后台运行核心。
- 打开 Clash Verge。
- 点击左侧侧边栏的 Settings (设置) 。
- 找到 Service Mode 选项,点击 Install (安装) 盾牌图标。
- 系统会弹出授权框,输入 sudo 密码确认。
- 安装成功后,图标状态应变为
Active(通常显示为绿色或带有对勾)。
第二步:开启 Tun Mode
- 同样在 Settings 界面。
- 找到 Tun Mode 开关,将其打开。
- 建议同时开启 System Proxy (系统代理) ,作为双重保障。
第三步:验证 TUN 是否生效
打开终端,输入以下命令查看网络接口:
ip addr
如果你看到一个名为 clash0 或 Meta 的网络接口,且状态为 UNKNOWN 或 UP,说明虚拟网卡已创建成功。
此时,你可以尝试 ping 一下 Google(注意:ICMP 流量通常也会被接管,但取决于规则设置,最准确的测试是直接运行代码):
# 测试访问 Gemini API 的连通性 (无需设置 export http_proxy)
curl -I https://generativelanguage.googleapis.com
如果返回 HTTP/2 200 或 404 (说明连通了服务器),而不是 Connection refused 或超时,恭喜你,TUN 模式已生效。
3. 进阶配置:分流与规则
开启 TUN 后,所有流量都会经过 Clash。为了避免访问国内服务(如百度、淘宝)变慢,合理的 规则(Rules) 至关重要。
推荐配置
建议订阅包含完整规则集的机场服务。在 Profiles (配置) 界面导入订阅链接后,右键选择 Edit Info,确保 Update Interval(更新间隔)设置合理(如 1440 分钟)。
针对 AI 服务的特殊优化
在 Proxies (代理) 界面,你通常会看到针对不同服务的策略组。确保:
- OpenAI / ChatGPT 策略组:选择美国或支持 OpenAI 的节点。
- Google / YouTube 策略组:选择延迟最低的节点(Gemini API 通常走 Google 线路)。
4. 常见问题 (FAQ)
Q: 开启 TUN 模式后,Docker 容器内的网络通吗?
A: 通。这是 TUN 模式最大的优势之一。因为它是网络层代理,Docker 容器默认使用的桥接网络(bridge)最终也是通过宿主机的 NAT 转发,流量会被 TUN 网卡捕获。你不再需要为 Docker 容器单独配置环境变量。
Q: 为什么有时候 git clone 还是慢?
A: 检查 Clash 的连接日志。Git 协议有时使用 SSH (端口 22),某些机场默认规则可能会拦截或直连 22 端口。建议配置 Git 使用 HTTPS 协议,或在 Clash 规则中强制 GitHub 流量走代理。
Q: 必须卸载之前的 electron-ssr 吗?
A: 建议卸载或停止运行。多个代理软件同时修改系统代理设置或监听端口(通常都是 7890/1080),会导致端口冲突,引起不可预知的网络错误。
总结
对于 Linux 用户,特别是 AI 开发者, Clash Verge Rev + TUN 模式 是目前的终极解决方案。它消除了配置各种环境变量的繁琐,让你的 Ubuntu 开发环境拥有像在硅谷一样的网络体验。
注:科学上网请遵守当地法律法规,仅用于学术研究和技术交流。