Clash 显示连接成功但无法上网:原因与解决方法
Clash 显示「已连接」但无法上网,最常见的原因是系统代理开关没有打开,其次是节点「假活」——延迟测试通过但实际不可用。 先检查这两点,多数情况可以直接解决。
先花 30 秒确认
- 客户端主界面的系统代理开关是否为开启状态;
- 切换 2-3 个不同地区的节点,是否都打不开网页;
- 用手机连同一 Wi-Fi 测试,判断是网络问题还是本机问题。
下面按出现概率从高到低逐项排查。
原因一:系统代理未开启
客户端「连接成功」只说明它与节点建立了链接,浏览器流量并不会自动经过它。检查 Clash Verge 主界面的系统代理开关,确保处于开启状态;如果开关打开后仍无效,可能被其他软件重置了系统代理设置,具体见系统代理开关的设置方法。
原因二:节点假活
延迟测试只测「客户端到节点」这一段,节点服务器到目标网站的链路失效时,延迟依然显示正常。判断方法:
- 连续切换 3 个不同地区的节点,逐个实测打开网页;
- 都打不开则怀疑订阅整体失效,更新订阅后重试;
- 个别节点打不开属正常现象,避开即可。延迟数字的正确解读方式可参考节点延迟怎么看。
原因三:DNS 污染
域名被解析到错误的 IP 时,网页会一直转圈或提示无法访问。处理方法:
- 在 Clash 设置中开启内置 DNS 并启用 DoH(如
https://1.1.1.1/dns-query); - 清除本机 DNS 缓存:Windows 执行
ipconfig /flushdns,macOS 执行sudo dscacheutil -flushcache; - 重启浏览器再测试。
原因四:规则未命中
规则模式下,访问的网站可能被分流到直连。验证方法很简单:把代理模式切换为全局,如果全局模式下一切正常,就是规则问题——更新订阅获取最新规则,或在客户端的连接日志里查看该域名实际匹配到了哪条规则。
原因五:流量用尽或订阅过期
服务端在流量耗尽后通常仍允许建立连接,但不再转发数据,表现恰好就是「连接成功但无法上网」。登录服务官网确认剩余流量和套餐有效期,必要时重置流量或续费。
注意事项
- 每次只改一个设置,改完立即测试,避免多个变量互相干扰;
- 命令行工具和部分桌面软件默认不读系统代理,它们连不上不代表代理有问题;
- 排查完成后记得把全局模式切回规则模式,避免所有流量都消耗代理流量。
如果以上五项都排除后仍无法上网,建议回到五步排查法从头做一次完整检查,定位更深层的原因。