Clash 故障排查完整指南

用 Clash 遇到问题很正常,关键是知道怎么排查。这篇文章整理了最常见的故障场景、原因分析和解决步骤。按照流程一步步检查,基本都能找到问题所在。实在解决不了,文末有进一步求助的建议。

快速诊断流程

开始:Clash 无法正常使用
检查 Clash 是否正常启动?
❌ 启动失败 → 检查端口占用、配置文件语法
✅ 启动成功 → 下一步
检查节点是否可用?
❌ 所有节点超时 → 检查订阅链接、节点有效期
✅ 有可用节点 → 下一步
检查代理模式是否正确?
❌ 直连模式 → 切换到规则或全局模式
✅ 规则/全局模式 → 下一步
检查系统代理是否开启?
❌ 未开启 → 开启系统代理
✅ 已开启 → 检查具体问题

常见问题排查

问题 1:Clash 启动后还是无法访问外网

症状:Clash 显示运行中,但访问 Google、YouTube 等网站打不开,提示无法连接。

步骤 1:确认已选择节点

打开 Clash 的"代理"或"Proxies"界面,确认已经选中了一个节点。如果没有选中,点击一个延迟较低的节点。

有些 Clash 客户端需要手动点击"选择"按钮才会生效。

步骤 2:测试节点延迟

点击"测速"或延迟测试按钮,看看节点能不能 ping 通。

  • 如果所有节点都超时,说明节点失效或订阅过期了
  • 如果只有部分节点超时,换一个延迟低的节点

步骤 3:检查代理模式

确认 Clash 不是处于"直连模式"。在主界面查看当前模式:

  • 规则模式 - 推荐,根据规则分流
  • 全局模式 - 所有流量走代理,可以用这个测试
  • 直连模式 - 不走代理,如果是这个就切换掉

步骤 4:确认系统代理已开启

Windows:检查 Clash 界面的"系统代理"开关是否打开。

macOS:检查菜单栏 Clash 图标,确认"设置为系统代理"已勾选。

Android:Clash 启动时会提示建立 VPN 连接,必须允许。

步骤 5:测试浏览器

打开浏览器的无痕/隐私模式,访问 google.com。

  • 如果能访问,说明是浏览器缓存或扩展问题,清除缓存试试
  • 如果还是不能访问,继续下一步

步骤 6:切换全局模式测试

把代理模式改成"全局模式",再试试访问外网。

  • 如果全局模式能访问,说明是规则分流的问题,检查规则配置
  • 如果全局模式也不行,说明节点、网络或防火墙有问题
快速修复:如果上面步骤都试过了还不行,试试这个万能方法:关闭 Clash → 重启 Clash → 切换节点 → 开启系统代理 → 全局模式测试。90% 的问题都能解决。

问题 2:速度很慢,看视频卡顿

症状:能访问外网,但速度非常慢,网页半天打不开,看 YouTube 一直在缓冲。

原因 1:节点拥挤

晚高峰(晚上 8-11 点)很多人同时使用,节点会变慢。

解决办法:换一个节点,或者避开高峰期使用。

原因 2:节点带宽小

有些节点延迟低但带宽小,看视频会卡。

解决办法:多试几个节点,找到带宽大的。可以用 Speedtest 测试实际下载速度。

原因 3:协议不合适

某些网络环境下,特定协议会被限速。

解决办法:如果机场提供多种协议的节点,试试换个协议(比如从 SS 换到 Trojan)。

原因 4:本地网络问题

先不开代理测试本地网速。如果本地网就慢,代理肯定也快不了。

解决办法:检查路由器、WiFi 信号、宽带连接。

问题 3:部分网站能访问,部分不能

症状:Google 能打开,但 YouTube 打不开;或者国内网站正常,国外网站都不行。

原因:规则分流配置问题

Clash 根据规则判断流量走向。如果规则配置不当,某些网站会走错路径。

解决步骤

  1. 切换到"全局模式"测试。如果全局模式能访问,确定是规则问题
  2. 检查配置文件的 rules 部分,看看有没有把目标网站配置成 DIRECT(直连)
  3. 查看 Clash 的连接日志,看看目标域名匹配到了哪条规则
  4. 临时解决:用全局模式;长期解决:修改规则或换一个规则集
常见情况:某些订阅的规则会把 GitHub、npm 等开发者常用网站设置为直连。如果你在国内访问这些网站很慢,需要手动修改规则把它们改成走代理。

问题 4:TUN 模式开启后网络断了

症状:开启 TUN 模式或增强模式后,整个网络都不通了,ping 不通任何网站。

立即执行

1. 立即关闭 TUN 模式

2. 如果关闭后网络还是不通,重启网络适配器:

  • Windows:控制面板 → 网络连接 → 禁用网卡 → 启用网卡
  • macOS:系统设置 → 网络 → 关闭 WiFi → 打开 WiFi

3. 如果还不行,重启电脑

原因分析

  • 虚拟网卡驱动安装失败或冲突
  • TUN 配置有误,导致路由表错误
  • 规则配置有问题,所有流量被拒绝
  • 防火墙拦截了虚拟网卡

解决办法

  1. 检查 TUN 配置,确保 auto-route: true
  2. 试试换一个 stack(system / gvisor / lwip)
  3. 把防火墙关掉测试,或者把 Clash 加入白名单
  4. 如果用的是 Clash for Windows,重新安装 service(运行 install-service.bat)
警告:如果 TUN 模式经常出问题,不建议继续使用。普通系统代理对大部分人够用了,只有游戏加速才真正需要 TUN。

问题 5:导入订阅后没有节点

症状:输入订阅链接并下载,但节点列表是空的,或者提示"无法获取订阅"。

检查清单

  1. 订阅链接是否正确?确认完整复制了链接,没有多余空格
  2. 订阅链接是否过期?联系机场确认服务是否在有效期内
  3. 网络是否正常?有些订阅链接本身需要代理才能访问
  4. Clash 版本是否支持?旧版本 Clash 不支持新协议(如 Hysteria2)

测试方法

把订阅链接复制到浏览器打开,看看能不能访问。如果浏览器能打开并显示一堆文本,说明链接有效。

如果浏览器也打不开,可能需要先用其他代理工具访问订阅链接。

解决办法

  • 关闭 Clash 的代理,然后刷新订阅
  • 换一个时间段试试(某些订阅服务器可能暂时不可用)
  • 联系机场客服确认订阅链接和服务状态
  • 如果使用的是旧版 Clash,升级到最新版或换用 Clash Meta

进阶排查技巧

查看 Clash 日志

Clash 的日志能显示详细的连接信息,包括哪些域名匹配了哪条规则、连接是否成功、错误信息等。

  • Clash for Windows:主界面 → Logs 标签页
  • ClashX:菜单栏 → Dashboard → 打开网页控制台
  • Clash Meta (Android):主界面 → 日志

看日志的重点:

使用命令行测试

有些问题在浏览器里不好排查,可以用命令行工具直接测试。

测试代理是否工作:

curl -I -x http://127.0.0.1:7890 https://google.com

测试 DNS 解析:

nslookup google.com

测试节点连通性:

ping 节点服务器地址

检查端口占用

Clash 默认使用 7890(HTTP)和 7891(SOCKS5)端口。如果这些端口被其他程序占用,Clash 会启动失败。

Windows 检查:

netstat -ano | findstr 7890

macOS/Linux 检查:

lsof -i :7890

如果端口被占用,可以在 Clash 配置文件中改成其他端口,或者关掉占用端口的程序。

还是解决不了?

如果按照上面的步骤都试过了还是不行,可以尝试:

求助时提供的信息:
  • 使用的 Clash 客户端和版本
  • 操作系统版本
  • 具体的错误现象(最好有截图)
  • Clash 的日志(隐藏订阅链接和节点信息)
  • 已经尝试过的解决步骤