Clash 系统代理是什么?和 TUN 模式的区别与选择

先说结论

Clash 系统代理就是客户端在系统里登记一个本地代理地址,只有主动读取这个地址的程序才会走代理。浏览器大多遵守,命令行和部分桌面软件不一定;不遵守时可以单独给软件设端口,或改用 TUN。

先说结论:Clash 系统代理不是一道“墙”,而是一张贴在系统里的告示,上面写着“请把请求交给本机的某个端口”。看到告示并照做的程序会走代理,没看见或不愿照做的程序不受影响。想明白这一点,你就能解释大多数“为什么这个软件没走代理”的疑问。

开启系统代理时,客户端到底改了什么

打开开关的那一刻,客户端做了两件事:让内核在本机某个端口上监听;把这个“本机地址加端口”写进操作系统的网络代理设置。

之后的流程是:

  1. 程序要联网,先去问系统“有没有配置代理”。
  2. 系统回答“有,请找 127.0.0.1 的某端口”。
  3. 程序把请求发到这个入口。
  4. 内核按你的规则判断,直连或转给节点。

关键在第 1 步:问不问,是程序自己决定的。系统只负责保管告示,不负责强迫。这个设计的好处是简单、权限要求低、出了问题好恢复;缺点就是覆盖不全。

哪些程序遵守,哪些常常不遵守

类型 常见表现 说明
主流浏览器 一般遵守 多数会沿用系统设置,但也可能被浏览器内的代理插件覆盖
使用系统网络库的普通软件 多数遵守 取决于软件如何实现联网
命令行工具 常不遵守,或只认环境变量 往往需要单独设置代理变量或传入参数
游戏、使用自研网络栈的软件 不一定 有的完全绕开系统设置
容器、虚拟机内部的程序 通常不遵守宿主机设置 它们有自己的网络环境

表格里的“一般”“常常”是经验性归纳,具体到某个软件,只有它的文档或你自己的测试才能说了算。

Clash 系统代理设置:先开哪几项,各是什么意思

多数客户端会把相关开关做在一个页面里,名称不一,但含义相近:

  • 开启系统代理:把上面说的告示贴出去。
  • 绕过列表:写在这里的地址不走代理,例如本机和局域网地址。局域网里的设备访问不了,常常是这里没写好。
  • 自动启动或开机自启:和系统代理的关系比想象中紧。Clash Party 官方文档提到,开了系统代理却没有开机自启,可能出现开机后没有网络,建议开自启或改用 PAC,详见该文档和站内的 Clash Party 档案。同样的道理对其他客户端也成立:告示贴着,而内核没起来,就是“指向空屋子”。
  • PAC 或脚本方式:让一段脚本来判断走不走代理,部分客户端提供,行为以客户端说明为准。

如果你想先看一份完整的客户端上手流程,Clash Verge Rev 使用教程里有系统代理出现在哪一步。

怎么确认系统代理已经生效

不要只相信客户端里的“已开启”提示,自己核对三处:

  1. 系统层:打开操作系统的网络设置,看代理一栏是否出现了本机地址和端口,是否与客户端显示一致。
  2. 客户端层:开着客户端的连接记录页,用浏览器打开任意网站,记录里应出现对应条目。
  3. 出口层:到 IP 与 DNS 检测导航里找一个检测页,看出口地址是否随你选的节点改变。

三处都对,说明系统代理工作正常;系统层对而连接记录里没有,多半是该程序不遵守告示。

程序不遵守时,有哪三条路

  • 给这个软件单独填代理:很多软件自带代理设置,填本机地址和端口就行,范围小、可控。
  • 使用环境变量或启动参数:适用于命令行工具,具体变量名看该工具的文档。
  • 改用 TUN 模式:在网络层接管,不依赖程序配合,但要权限、改动更大。详见 Clash TUN 模式。

选择顺序建议是由小到大:能在软件里解决,就不要动系统网络。

你遇到的现象,该开哪个

你遇到的现象 建议 备注
只有浏览器要用,其余无所谓 系统代理 最简单,出问题好恢复
浏览器通,某个桌面软件不通 先给该软件单独设置端口 不行再考虑 TUN
命令行下载总是超时 设环境变量,或使用 TUN 取决于你是否有权限
开了系统代理,所有网页都打不开 先查客户端是否还在运行、端口是否一致 见 系统代理无效的排查
局域网设备(如共享打印机)连不上 检查绕过列表 把局域网网段加进去
没有管理员权限 系统代理 TUN 通常需要更高权限

几个容易踩的小坑

  • 端口对不上:客户端换了端口,而浏览器里的代理插件还写着旧端口。症状是系统层看着一切正常,网页却一直转圈。统一以客户端当前显示的端口为准。
  • 多个软件同时改系统设置:两个代理类软件先后打开,后开的会覆盖先开的告示。关掉其中一个,再重新开启你要用的那个。
  • 休眠或重启之后:有些客户端不会自动恢复开关状态,先看客户端是否已运行,再看系统里的告示还在不在。
  • 把本地端口暴露给局域网:客户端里若有“允许局域网连接”一类选项,意味着同网络的其他设备也能把请求发到你这台电脑的入口。没有明确需要就保持关闭,开启前先弄清楚自己所处的网络是否可信。
  • 以为开了就等于“全局”:这里的“全局”只是客户端的出站策略名称,与是否接管所有程序是两回事。前者决定去哪,后者决定谁来。别把两个概念混着用,否则排查时会反复误判。

遇到这些情况,一个通用的检查次序是:先看客户端是否在运行,再看系统告示,再看目标程序是否遵守,最后才怀疑节点。Clash 系统代理本身很简单,出问题多数出在前三步。

下一步怎么走

初学阶段,保持系统代理就好:打开、验证、用完关闭。遇到某个软件不走,再按“单独设置、环境变量、TUN”的顺序升级。遇到开关无效,直接去 系统代理无效的排查按症状走;想先把配置本身看明白,可以读 Clash 配置文件,或用 Clash 配置生成工具在本地试写。系统代理里出现的词不懂,就翻 词典。

这篇没有覆盖的

  • 本文以桌面系统的通用做法为主,手机端的接管方式不同,请看对应平台页面。
  • 各客户端里开关的名称和位置不同,文中不写死菜单路径,请以所用客户端为准。
  • 梯子岛没有速度数据,无法比较两种方式的快慢。

本文引用的官方来源

  1. Mihomo(Clash Meta)文档(wiki.metacubex.one)
  2. Clash Party 官方文档(clashparty.org)

以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。

Clash 系统代理常见问题

打开系统代理后,所有软件都会走 Clash 吗?

不会。系统代理只是在系统里登记了一个地址,程序要自己去读才会用。浏览器和不少常见软件会读,但命令行工具、部分游戏和自带网络栈的程序可能完全忽略它。这类程序要么单独设置代理端口,要么改用 TUN 模式在网络层接管。

系统代理里写的 127.0.0.1 和端口是什么意思?

127.0.0.1 指本机自己,端口是客户端内核在本地监听的入口。程序把请求先交给这个入口,再由内核按规则转发。端口号来自客户端设置,不同客户端默认值可能不同,请以你的客户端显示的为准,不要照抄别人的数字。

关闭客户端以后上不了网,是怎么回事?

客户端异常退出时可能没来得及把系统里的代理设置清掉,系统仍在指向一个已经没人监听的本地端口,于是所有读取代理的程序都连不上。到系统网络设置里关掉代理,或重新打开客户端再正常关闭系统代理即可。

系统代理和 PAC 有什么区别?

常规的系统代理是把所有请求都交给同一个地址;PAC 是一个脚本,由它判断哪些地址走代理、哪些直连。有的客户端提供 PAC 方式作为替代,使用前请先阅读该客户端的说明,确认它的行为。

公司电脑的系统代理被改回去了,怎么办?

受管设备的网络设置常由管理策略统一下发,你改了也会被还原。这种情况不要强行对抗,可以改在具体软件里填写代理端口,或向设备管理员咨询是否允许。请遵守所在单位的使用规定。

接着读

文中出现的术语

相关专题

接下来去哪儿?

找官方入口去网址导航,想核对仓库和版本看GitHub 项目导航;需要现成的机场,机场目录收了 28 家的价格与线路资料,性价比机场、便宜机场、VPN 机场分别有专项页。