系统代理与 TUN 模式教程:区别、怎么选、怎么开启

讲清系统代理与 TUN 模式的工作原理与区别,规则、全局、直连三种代理模式怎么选,以及在 Clash Verge Rev 中开启 TUN 模式、让终端与 AI 编程工具走代理的步骤和常见问题。

快速答案

系统代理只对“愿意读取系统代理设置”的程序生效,主要是浏览器;TUN 模式创建一张虚拟网卡,接管电脑全部流量,终端、编辑器、游戏都会走代理。日常浏览用系统代理即可;用 Claude Code、Codex、Cursor 等工具时开启 TUN 模式。

核心结论

  • 系统代理:浏览器可用,终端和部分应用不生效
  • TUN 模式:接管全部流量,终端与 AI 编程工具都能用
  • 代理模式日常用“规则”,排查问题时才用“全局”
  • TUN 与系统代理二选一即可,同时开没有额外好处

两种接管方式

代理客户端要把你的流量送到节点,有两种方式:

方式 原理 生效范围 适合
系统代理 在系统设置里填入代理地址,程序自己决定是否使用 浏览器和大部分遵守系统设置的应用 日常浏览
TUN 模式 创建一张虚拟网卡,在网络层接管流量 几乎所有程序,包括终端、编辑器、游戏 AI 编程、命令行、桌面应用

一句话:浏览器能用而终端不能用,就是系统代理的局限,开 TUN 模式解决。

三种代理模式

不管用系统代理还是 TUN,都还要选代理模式:

  • 规则:国内网站直连,海外网站走代理。日常一律用这个;
  • 全局:所有流量都走代理,国内网站会变慢。只在排查问题时临时使用;
  • 直连:不走代理,相当于暂时关闭。

在 Clash Verge Rev 中开启 TUN 模式

Windows:

  1. 进入“设置”,找到“服务模式”并安装,同意管理员权限请求;
  2. 安装完成后打开“TUN 模式”开关;
  3. 关闭“系统代理”开关(可选,避免重复)。

macOS:

  1. 进入“设置”,打开“TUN 模式”;
  2. 按提示授权,必要时在“系统设置 → 隐私与安全性”中允许;
  3. 授权完成后重新打开开关。

详细步骤见 Windows 教程 与 macOS 教程。

验证是否生效

在终端执行:

curl -I https://www.google.com

返回 HTTP/2 200 或其他 HTTP 状态码,说明终端已经走代理。AI 编程工具可以把地址换成对应服务,例如 https://api.openai.com 或 https://api.anthropic.com。

不想开 TUN:用环境变量

只想让某个终端窗口走代理,可以设置环境变量(端口以客户端显示为准,Clash Verge Rev 常见为 7897):

export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897

Windows PowerShell 写法:

$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"

常见问题

开启 TUN 后无法上网

  • 确认同一时间只运行了一个代理客户端;
  • 关闭其他 VPN 或加速器软件,它们会争抢虚拟网卡;
  • 重启客户端,仍不行就先关闭 TUN,确认系统代理模式能正常使用,再重新安装服务模式。

开启 TUN 后国内网站变慢

检查代理模式是否被切到了“全局”,改回“规则”。

公司或学校内网访问异常

TUN 会接管内网流量。可以在客户端里把内网网段设为直连,或在访问内网时临时关闭 TUN。

DNS 相关设置见 DNS 设置教程。

常见问题

TUN 模式会影响网速吗?

正常情况下影响很小。在规则模式下,国内网站仍然直连,只有需要代理的流量才走节点。

为什么浏览器能用,终端里 git 和 curl 不能用?

浏览器读取系统代理,而终端程序默认不读取。开启 TUN 模式,或在终端设置 HTTPS_PROXY 环境变量即可。

TUN 模式和系统代理要同时开吗?

不需要。TUN 已经接管全部流量,开启 TUN 后可以关闭系统代理。