网络诊断 连接故障

Clash 开启后无法上网怎么办?完全不通与部分不通的分系统排查

「开了 Clash 上不了网」其实是三种故障:全部不通、只有国外不通、关掉之后也不通。先分清是哪一种,再按系统对症处理,不要一上来就重装客户端。

发布: 更新: 审阅: 约 8 分钟阅读

「开了 Clash 上不了网」听起来是一个问题,实际上是三类完全不同的故障,处理方式互不相通:

  • 只有国外网站不通,国内正常 —— 大概率是节点或订阅的问题。
  • 国内国外全部不通 —— 大概率是模式、配置或虚拟网卡的问题,和节点无关。
  • 关掉客户端之后反而彻底没网 —— 是系统代理设置没被清理干净。

先判断自己属于哪一种,再往下看对应章节。不要一上来就重装客户端,它几乎不解决任何一类问题。

最常见的原因对照表

按实际发生频率排序,配上最快的验证方法。

原因典型表现一句话验证处理方向
当前节点已失效只有国外不通测一轮延迟,看是否全部超时换节点或更新订阅
订阅过期或未更新所有节点超时打开机场后台看剩余流量与到期日续费或重新导入订阅
模式被切成直连国外全部不通,速度正常查看客户端当前模式切回规则模式
系统代理没生效浏览器不通但客户端显示正常访问 IP 查询页面看出口地址重新开关一次系统代理
配置文件加载失败国内外全部不通看客户端是否有报错提示重新下载配置文件
TUN 模式异常全部不通,且关掉客户端才恢复关闭 TUN 再试检查权限与虚拟网卡
端口被占用客户端启动失败或反复重启看日志里的端口报错结束残留进程或改端口
系统代理残留关掉客户端后没网查看系统代理开关是否仍开着手动关闭系统代理
DNS 异常能连通但域名解析失败直接用 IP 访问能否打开检查 DNS 配置

三分钟定位:四步走完

按顺序做,每一步都有明确的判断标准,不要跳。

第一步:手动选一个节点。 进入代理页面,做一次延迟测试,然后手动点选一个数字正常的节点,不要用自动选择。如果全部显示超时,直接跳到订阅部分处理,按 节点全部超时的排查 逐项确认。

第二步:确认代理模式。 确保当前是规则模式。直连模式等于关闭代理,全局模式会把所有流量推给节点,节点一慢连国内站点都打不开。三种模式的区别见 规则、全局与直连模式的差异。

第三步:确认代理真的生效了。 这一步最容易被跳过,也最容易出问题。用命令看出口地址:

# macOS / Linux
curl -s https://api.ip.sb/ip

# 指定走客户端端口,验证客户端本身通不通
curl -x http://127.0.0.1:7890 -s https://api.ip.sb/ip

# Windows PowerShell
curl.exe -s https://api.ip.sb/ip

两条命令的结果决定了问题的位置:

  • 两条都返回节点地址 → 代理正常,问题在应用或 DNS。
  • 加 proxy 的能返回、不加的返回本地地址 → 客户端没问题,系统代理没接管。
  • 两条都失败 → 客户端或节点本身不通。

第四步:重新加载一次配置。 在配置页面重新选择当前配置文件并更新一次。配置文件损坏或规则集下载失败非常常见,重新加载就能解决。

Windows 上怎么恢复?

检查系统代理是否被正确设置。 打开「设置 → 网络和 Internet → 代理」,确认「手动设置代理」的地址是 127.0.0.1、端口与客户端里的混合端口一致,并且「使用安装脚本」处于关闭状态。同时开启两者会互相打架。

如果这里的开关关不掉或者一直自动打开,先完全退出客户端,再手动关闭开关,然后重新启动客户端并打开系统代理。顺序反了往往无效。

TUN 模式启动失败。 Windows 上 TUN 依赖虚拟网卡驱动,需要管理员权限。表现为开启后立刻关闭,或者开启后全部断网。处理顺序是:以管理员身份重新启动客户端 → 在安全软件里放行 → 确认没有其他 VPN 软件占用虚拟网卡。

第三方安全软件拦截。 部分安全软件会把代理客户端创建的本地监听判定为风险行为并静默拦截,表现为客户端界面一切正常但流量根本发不出去。把客户端目录加入信任列表后重启即可。

关掉客户端之后没网。 这是 Windows 上最常见的后遗症:客户端异常退出时没来得及把系统代理关掉,系统还在往一个已经不存在的端口发送流量。去代理设置里手动关闭「使用代理服务器」开关就能恢复。

macOS 上怎么恢复?

检查网络偏好设置里的代理。 打开「系统设置 → 网络 → 你当前使用的网络 → 详细信息 → 代理」,查看「网页代理」和「安全网页代理」的勾选状态与端口。macOS 的代理设置是按网络接口分别保存的,Wi-Fi 上配好了,插网线换成以太网就没有了,这是很多人换网络后突然上不了网的原因。

权限问题。 TUN 模式和部分内核功能需要授权,首次开启时系统会弹窗要求输入密码。如果当时点了取消,之后开启会静默失败。在客户端设置里重新授权一次即可。

同时装了多个代理客户端。 两个客户端都试图管理系统代理时,后启动的会覆盖前一个,退出时又可能把设置清成第三种状态。保留一个,彻底退出另一个。

验证是否恢复:

# 查看当前 Wi-Fi 接口的代理设置
networksetup -getwebproxy Wi-Fi
networksetup -getsecurewebproxy Wi-Fi

# 需要手动关掉时
networksetup -setwebproxystate Wi-Fi off
networksetup -setsecurewebproxystate Wi-Fi off

Android 上怎么恢复?

Android 的代理客户端通过系统 VPN 接口工作,故障点和桌面端不同。

确认 VPN 授权仍然有效。 状态栏应该有钥匙图标。没有图标说明 VPN 没有真正启动,重新点一次启动并在弹窗里允许。

电池优化把客户端杀了。 这是 Android 上最常见的原因:客户端在后台被系统冻结,界面看起来还在运行,实际已经停止转发。在系统的电池设置里把客户端设为「无限制」或「不优化」,并允许后台自启动。

同时只能有一个 VPN。 如果手机上还装着其他使用 VPN 接口的应用,后启动的会把前一个顶掉。先把其余的停掉。

分应用代理设置错了。 很多客户端支持按应用分流,如果误设成「仅代理选中应用」而你要用的应用不在列表里,就会表现为部分应用能上、部分不能。检查这个列表,或改回全局接管。客户端的具体设置项见 Clash Meta 安卓端使用教程。

iPhone 与 iPad 上怎么恢复?

检查 VPN 配置是否被系统禁用。 在「设置 → 通用 → VPN 与设备管理」里查看配置是否仍然存在并处于连接状态。iOS 更新之后配置偶尔会失效,需要在客户端里重新生成一次。

低数据模式与低电量模式。 这两个开关都会限制后台网络活动,导致连接频繁中断。排查时先关掉。

iCloud 私人转发冲突。 开启后系统会为部分流量建立自己的加密通道,与代理客户端叠加时会出现难以解释的时通时不通。排查期间建议关闭。

蜂窝网络与 Wi-Fi 表现不同。 如果只有 Wi-Fi 下不通,问题多半在路由器侧的 DNS 或端口限制;只有蜂窝下不通,可能是运营商对某些端口或协议有限制,换一个端口或协议的节点试试。iOS 客户端的配置细节见 Shadowrocket 使用教程。

DNS 与订阅相关的问题

订阅相关。 如果所有节点都超时,多半不是网络问题而是订阅问题:套餐到期、流量用尽、订阅地址失效、机场域名被墙。判断方法是直接用浏览器打开订阅链接看是否返回内容,详细流程见 订阅更新失败怎么修。重新导入订阅时的注意事项见 导入订阅教程。

DNS 相关。 典型表现是「能连上但打不开网页」:直接用 IP 能访问,用域名不行。常见成因是客户端里的 DNS 配置与系统设置冲突、或者启用了本地解析导致境外域名被解析到错误地址。

# 对比两个解析结果是否一致
nslookup www.google.com
nslookup www.google.com 8.8.8.8

两者差别很大时,说明本地解析被干扰。完整的处理方式见 代理环境下的 DNS 问题。

一个快速判断换一份配置文件(比如另一家机场的订阅)试试。如果换了就能用,问题在订阅或配置;如果照样不通,问题在客户端或系统环境。这一步能立刻把排查范围砍掉一半。

高级排查:端口、内核与日志

前面都无效时,按这三个方向查。

端口占用。 客户端启动失败或反复重启,通常是端口被占。

# macOS / Linux 查看谁占用了 7890
lsof -i :7890

# Windows
netstat -ano | findstr 7890

找到占用的进程结束掉,或者在设置里换一个端口,记得同步修改系统代理里填的端口。

内核进程是否在运行。 图形界面和实际转发的内核是两个部分,界面正常不代表内核起来了。在进程列表里确认内核进程存在;不存在通常是文件被安全软件隔离,或者权限不足。

读日志。 客户端日志会直接写出失败原因,比猜测高效得多。重点看三类关键词:配置解析错误、规则集下载失败、以及连接被拒绝。看到握手相关的报错时,参考 TLS 握手失败的处理。

换协议或端口再试。 如果只有某些节点不通,而且报错集中在连接阶段,可能是该协议或端口在你的网络环境下被限制。同一家机场通常会提供多种协议的节点,换一个试即可判断。

什么时候该怀疑机场而不是自己?

满足下面任意两条,问题基本不在你这边:

  • 换了三个以上不同地区的节点,全部不通或全部超时。
  • 换一份别家的订阅配置立刻恢复正常。
  • 同一条订阅在手机流量、家庭宽带、另一台设备上都不通。
  • 订阅链接本身打不开或返回空内容,且机场后台显示账号正常。

这时可以直接联系机场,或按 网速慢与延迟高的判断方法 进一步区分是节点故障还是线路拥塞。反过来,如果只有你的某一台设备不通,那问题一定在这台设备的系统代理、权限或安全软件上,继续换机场不会有任何改善。

两种容易被当成「完全不通」的情况

这两种的表现和本文开头描述的很像,但根因和处理位置完全不同,先对一下号能省很多时间:

  • 关掉客户端之后才上不了网——客户端退出时没把系统代理开关关回去,系统仍在往一个已经没人监听的端口送流量。处理见系统代理残留怎么清。
  • 客户端根本没启动起来,界面看着开了但实际没在工作——最常见的是端口被别的程序占了。处理见客户端提示端口被占用怎么办。

常见问题

开了 Clash 之后连国内网站都打不开,是节点的问题吗?
不一定。国内网站在规则模式下本来就走直连,它们打不开说明流量根本没被正确处理,而不是节点不行。常见原因有三个:模式被切成了全局、配置文件里的规则集加载失败导致所有流量都被丢给一个不可用的代理组、或者 TUN 模式下虚拟网卡抢占了路由但内核没起来。先切回规则模式试一次,再重新加载配置文件,多数情况能立刻恢复。
浏览器能上网,但 Telegram 和终端不行,缺了哪一步?
缺的是系统级接管。浏览器会读取系统代理设置,而很多桌面应用和命令行工具不读,它们默认直连,自然连不上。解决办法有两个:开启 TUN 模式让客户端接管全部网络流量,或者给这些程序单独配置代理,比如在终端里设置代理环境变量、在应用内填写代理地址。TUN 模式更省事,但需要管理员权限,部分安全软件也会拦截它创建虚拟网卡。
切成全局模式就能上网,说明规则配置坏了吗?
通常说明规则里的分流判断把目标域名归到了直连。可能是规则集文件下载失败留下了空文件,也可能是订阅提供的规则把某些域名写死成直连。处理方式是先手动更新一次配置和规则集,再看日志里这个域名命中了哪条规则。长期挂全局模式并不是好办法,国内站点绕一圈到境外再回来,速度会明显变慢,也更容易触发网站的风控。
用手机热点给电脑上网,电脑需要单独配置吗?
需要。手机上的代理客户端默认只处理本机流量,通过热点连进来的设备走的是普通转发,不会被代理。要让电脑也走代理,要么在电脑上单独运行客户端,要么在手机客户端里开启允许局域网连接并让电脑手动填写手机的地址和端口。后者还要注意两台设备必须在同一网段,并且手机端的省电策略不能把客户端杀掉。
提示端口被占用,应该怎么处理?
说明本机已有程序占着客户端要用的端口,最常见的原因是上一次没有正常退出,进程还留在后台。先在任务管理器或活动监视器里查找同名进程并结束,再重新启动。如果确认没有残留进程,那就是别的软件占用了这个端口,可以在客户端设置里把混合端口改成一个不常用的数值,同时记得把系统代理和其他工具里填写的端口一起改掉,否则会出现客户端正常但流量发错地方的情况。
重装客户端能解决问题吗?
多数情况下不能,因为问题往往出在配置文件、系统代理残留或订阅本身,重装不会清掉这些。真正值得重装的场景只有两个:客户端内核文件损坏导致无法启动,以及版本本身存在已知缺陷。在重装之前,更有效的顺序是换一份干净的配置文件测试、手动清理系统代理设置、检查权限与防火墙。如果换配置就好了,问题在订阅而不在客户端。

↑ 返回顶部