外观
Clash 浏览器能上网,其他软件却连不上?系统代理、TUN 和终端代理一次讲清
浏览器打开 Google、YouTube 一切正常,换到 Git、命令行、游戏平台或某个桌面软件,却还是超时、转圈甚至直接提示网络错误——这类问题非常常见。
很多新手第一反应是“机场节点坏了”,其实多数时候,问题并不在节点,而是浏览器的流量进入了 Clash,其他软件的流量压根没有进去。
先判断:流量到底有没有进入 Clash

先不要急着切几十个节点,也不要上来就改 YAML 配置。最快的判断方法,是查看客户端里的“连接”或“日志”页面。不同客户端界面名称可能略有区别,常见的 Clash Verge Rev、Mihomo GUI 一般都能看到当前连接。
操作很简单:
- 保持 Clash 正常运行,并选择一个浏览器确认可用的节点;
- 打开客户端的“连接”页面;
- 启动那个无法联网的软件,并主动刷新、登录或下载一次;
- 观察是否出现对应域名、目标 IP 或进程连接。
结果通常分成三种:
| 看到的情况 | 说明 | 接下来查什么 |
|---|---|---|
| 完全没有新连接 | 软件没有经过 Clash | 系统代理、软件内代理或 TUN |
| 有连接,但显示 DIRECT、REJECT | 流量进来了,规则没有让它走节点 | 代理模式与分流规则 |
| 有连接,显示 PROXY,但超时 | 已经走代理,连接节点或目标服务失败 | 节点、DNS、UDP 或目标网站限制 |
**最关键的判断:**如果软件报错时,Clash 连接列表里完全没动静,继续切节点通常没有意义,因为流量根本没交给这些节点处理。
为什么浏览器能用,其他软件却不听话
“开启系统代理”并不等于电脑里所有流量都会自动走代理。
系统代理更像是在电脑门口贴了一张通知:“需要联网的软件,请把请求交到这个地址。”浏览器通常比较配合,会主动读取系统代理设置;但有些软件根本不看通知,而是直接从另一扇门出去。
常见情况如下:
| 软件类型 | 是否容易跟随系统代理 | 常见问题 |
|---|---|---|
| Chrome、Edge 等浏览器 | 通常会 | 浏览器插件可能覆盖系统设置 |
| Git、curl、npm 等命令行工具 | 不一定 | 依赖环境变量或自己的代理配置 |
| 游戏和启动器 | 经常不完整 | 登录、商店、下载和游戏流量可能各走各的 |
| Windows 服务、更新组件 | 不一定 | 可能使用独立的网络和代理机制 |
| Docker、虚拟机、WSL | 不一定 | 与宿主机不是完全相同的网络环境 |
| 自带代理设置的软件 | 看软件配置 | 手动设置可能覆盖系统代理 |
所以,“网页能开”最多只能证明三件事:客户端正在运行、当前浏览器愿意使用代理、所选节点至少能够访问这个网页。它不能证明其他程序也已经被接管。
三种解决办法,按省事程度来选

方法一:先把系统代理检查明白
如果只有一两个普通桌面软件不能联网,先检查系统代理,不必马上开启 TUN。
- 确认 Clash 里的“系统代理”开关已经打开;
- 查看客户端显示的本地代理地址和混合端口;
- 完全退出目标软件,再重新打开;
- 检查软件内部有没有“直连”“不使用代理”或旧代理地址;
- 暂时关闭浏览器代理扩展,避免插件与系统设置互相覆盖。
本地代理一般长得像:
127.0.0.1:端口号其中 127.0.0.1 代表你自己的电脑,不是机场节点地址。端口不要照抄网上常见的 7890、7897 等数字,以你当前客户端实际显示的混合端口为准。
如果目标软件支持手动代理,可以选择 HTTP 或 SOCKS5,并填写客户端提供的本地地址。设置完成后重新启动软件,再观察 Clash 的连接列表。
不要把来路不明的远程 IP 填进软件代理,也不要为了排错关闭证书验证。正常情况下,客户端在本机监听的
127.0.0.1就够用了。
方法二:不想逐个设置,就开启 TUN
TUN 模式会建立虚拟网卡,把更多系统流量交给代理内核处理。它特别适合这些情况:
- 浏览器正常,游戏或启动器不走代理;
- Git、命令行工具经常需要单独配置;
- 软件没有代理设置,也不遵循系统代理;
- 需要按照进程名称进行分流。
以常见桌面客户端为例,基本步骤是:
- 安装客户端要求的服务模式,或按提示授予管理员权限;
- 保持“规则模式”,不要长期使用全局模式;
- 开启 TUN;
- 重新启动目标软件;
- 到连接页面确认流量是否出现、命中了哪条规则。
开启 TUN 后,通常不必再依赖系统代理,但不同客户端的开关逻辑可能不同,按当前客户端提示操作即可。
TUN 很好用,却不是“万能加速按钮”。如果一开 TUN 就全电脑断网,先立刻关闭它,再按下面顺序检查:
- 服务模式是否安装成功;
- 防火墙或安全软件是否拦截代理内核;
- 是否同时运行了其他 VPN、加速器或虚拟网卡工具;
- 当前配置的 DNS 是否可用;
- 客户端和内核是否来自可信渠道并处于正常版本;
- 重启客户端后,节点在普通系统代理下是否仍然可用。
虚拟机、Docker、局域网共享和公司内网环境比较特殊,TUN 可能与现有路由发生冲突。遇到这种情况不要随便复制陌生配置覆盖订阅,先恢复默认设置,再逐项排查。
方法三:只让当前终端走代理
如果只是 curl、Git、npm 等命令行工具不能访问,可以给当前终端临时添加代理环境变量,不必改整个系统。
macOS、Linux 常见写法如下,把 端口号 换成客户端显示的混合端口:
export http_proxy=http://127.0.0.1:端口号
export https_proxy=http://127.0.0.1:端口号
export all_proxy=http://127.0.0.1:端口号
export no_proxy=localhost,127.0.0.1,::1Windows PowerShell 可以这样设置:
$env:http_proxy="http://127.0.0.1:端口号"
$env:https_proxy="http://127.0.0.1:端口号"
$env:all_proxy="http://127.0.0.1:端口号"
$env:no_proxy="localhost,127.0.0.1,::1"这些设置一般只影响当前终端窗口以及从它启动的程序。关闭窗口后通常就失效,适合临时排错。
如果 Git 以前配置过一个旧端口,即使 Clash 已经换端口,它仍可能死磕旧代理。可以先查看:
git config --global --get http.proxy
git config --global --get https.proxy确认确实是无效旧配置后,再清理:
git config --global --unset http.proxy
git config --global --unset https.proxy如果已经开启 TUN,旧的环境变量和软件内代理反而可能造成“代理套代理”。因此,TUN 正常接管后,可以先移除旧代理配置,再重新测试。
几个特别容易误判的场景
GitHub 网页能开,Git Clone 还是失败
网页由浏览器访问,而 git clone 是 Git 进程自己发起连接,两者不是一回事。
先看连接列表里有没有 Git 的请求:
- 没有连接:设置终端代理或开启 TUN;
- 命中 DIRECT:检查分流规则;
- 命中 PROXY 后超时:尝试更换可用节点;
- HTTPS 能用、SSH 不行:两种连接方式使用的协议和端口不同,不能互相证明。
Steam 商店能打开,下载或游戏登录失败
游戏平台通常包含网页商店、账号登录、内容下载和实时游戏等多套流量。商店页面正常,只能说明其中一部分能走代理。
这类情况更适合使用 TUN,再通过连接页面查看具体进程和规则。部分实时连接还依赖 UDP,节点是否支持、游戏服务器是否限制代理,都可能影响结果,不能只看浏览器测速判断。
VS Code 能打开,扩展市场或内置终端不行
VS Code 主程序、扩展进程和内置终端可能采用不同的代理方式。可以依次尝试:
- 重启 VS Code;
- 检查软件内是否保存了旧代理;
- 给内置终端添加环境变量;
- 仍然没有进入连接列表时,再开启 TUN。
ping 不通,是不是代理坏了
不一定。普通 HTTP 或 SOCKS 代理主要处理相应的 TCP、UDP 请求,而 ping 使用的是 ICMP。很多代理设置不会让 ping 按照浏览器相同的路径转发。
因此,不要只用 ping 判断代理是否可用。更实用的方法是打开目标网页、使用 curl 发起请求,并查看 Clash 连接记录。
五分钟排查顺序
以后再遇到“浏览器能用,软件不能用”,直接按这套顺序走:
- **浏览器测试节点:**确认当前节点至少能正常访问目标网站;
- **查看连接列表:**判断目标软件的流量有没有进入 Clash;
- **重新开关系统代理:**排除系统设置没有成功写入;
- **彻底重启目标软件:**不少程序只在启动时读取代理设置;
- **检查软件内代理:**删除旧端口、错误 PAC 地址和强制直连设置;
- **命令行添加临时环境变量:**适合 Git、curl、npm;
- **仍然不进连接列表就开 TUN:**让虚拟网卡接管更多流量;
- **已经进入但显示 DIRECT:**检查规则模式与策略组;
- **已经显示 PROXY 仍超时:**再考虑节点、DNS、UDP 和机场线路。
这个顺序能避免最常见的无效操作:明明是软件没走代理,却不停测速、更新订阅和切换节点。
什么情况下才需要考虑换机场
如果目标软件的连接已经明确显示为 PROXY,但出现下面这些情况,才更像是节点或线路问题:
- 多个节点都连接失败或频繁超时;
- 换手机热点、家庭宽带后表现差异很大;
- 普通网页能开,但下载、视频或晚高峰持续卡顿;
- 同一订阅在不同客户端上都出现类似故障;
- 节点不支持当前应用所需的连接方式。
入门和多设备用户可以看看 99吧,特点是便宜大碗、不限设备,¥8 / 66G 起,具体使用定位可参考99吧测评。
更看重流量计算直观和晚高峰稳定性的用户,可以了解 FlyBit:全节点 1 倍率、用多少扣多少,¥15 / 128G 起,详细信息见FlyBit测评。
如果还不确定自己适合什么类型,先阅读这篇机场综合推荐文章,按预算、设备数量和使用场景选择,不要看到“超低延迟”就直接年付。
常见问题
系统代理和 TUN 可以同时开吗?
不少客户端允许同时开启,但正常情况下,TUN 已经能够接管流量时,不必依赖系统代理。排错时建议一次只改变一个开关,否则很难判断到底是哪种方式生效。
为什么开全局模式就好了,规则模式却不行?
这通常说明流量已经进入 Clash,但规则把目标地址判成了 DIRECT,或者选错了策略组。全局模式适合临时验证,不建议长期依赖,因为国内网站、局域网和部分敏感应用也可能被送去代理。
开启 TUN 后国内网站变慢怎么办?
先确认仍在规则模式,并查看国内网站命中了 DIRECT 还是 PROXY。如果被错误代理,问题主要在规则或配置;如果命中 DIRECT 仍异常,再检查 DNS、其他虚拟网卡和安全软件冲突。
软件手动代理应该填机场节点地址吗?
不要。一般应填写 Clash 在本机提供的监听地址,例如 127.0.0.1:混合端口。机场节点由客户端配置负责连接,不需要把节点服务器地址直接填进普通软件。
手机也有“浏览器能用、App 不能用”的问题吗?
有。手机上的代理客户端通常依赖系统 VPN 接口接管流量,但部分 App 可能受分应用代理、绕过设置、DNS、地区检测或自身缓存影响。先检查客户端是否把该 App 排除,再重启 App 测试。
最后总结
浏览器能上网,其他软件不能用,核心通常不是“节点有没有速度”,而是这款软件有没有把流量交给代理客户端。
记住一个最实用的判断方法:先打开 Clash 的连接列表,再让故障软件发起请求。没有记录,就查系统代理、软件设置和 TUN;有记录但走 DIRECT,就查规则;已经走 PROXY 还失败,才轮到节点、DNS和线路。
把流量路径判断清楚,比盲目切节点有效得多。