Clash 故障排查完整指南
用 Clash 遇到问题很正常,关键是知道怎么排查。这篇文章整理了最常见的故障场景、原因分析和解决步骤。按照流程一步步检查,基本都能找到问题所在。实在解决不了,文末有进一步求助的建议。
快速诊断流程
常见问题排查
问题 1:Clash 启动后还是无法访问外网
步骤 1:确认已选择节点
打开 Clash 的"代理"或"Proxies"界面,确认已经选中了一个节点。如果没有选中,点击一个延迟较低的节点。
有些 Clash 客户端需要手动点击"选择"按钮才会生效。
步骤 2:测试节点延迟
点击"测速"或延迟测试按钮,看看节点能不能 ping 通。
- 如果所有节点都超时,说明节点失效或订阅过期了
- 如果只有部分节点超时,换一个延迟低的节点
步骤 3:检查代理模式
确认 Clash 不是处于"直连模式"。在主界面查看当前模式:
- 规则模式 - 推荐,根据规则分流
- 全局模式 - 所有流量走代理,可以用这个测试
- 直连模式 - 不走代理,如果是这个就切换掉
步骤 4:确认系统代理已开启
Windows:检查 Clash 界面的"系统代理"开关是否打开。
macOS:检查菜单栏 Clash 图标,确认"设置为系统代理"已勾选。
Android:Clash 启动时会提示建立 VPN 连接,必须允许。
步骤 5:测试浏览器
打开浏览器的无痕/隐私模式,访问 google.com。
- 如果能访问,说明是浏览器缓存或扩展问题,清除缓存试试
- 如果还是不能访问,继续下一步
步骤 6:切换全局模式测试
把代理模式改成"全局模式",再试试访问外网。
- 如果全局模式能访问,说明是规则分流的问题,检查规则配置
- 如果全局模式也不行,说明节点、网络或防火墙有问题
问题 2:速度很慢,看视频卡顿
原因 1:节点拥挤
晚高峰(晚上 8-11 点)很多人同时使用,节点会变慢。
解决办法:换一个节点,或者避开高峰期使用。
原因 2:节点带宽小
有些节点延迟低但带宽小,看视频会卡。
解决办法:多试几个节点,找到带宽大的。可以用 Speedtest 测试实际下载速度。
原因 3:协议不合适
某些网络环境下,特定协议会被限速。
解决办法:如果机场提供多种协议的节点,试试换个协议(比如从 SS 换到 Trojan)。
原因 4:本地网络问题
先不开代理测试本地网速。如果本地网就慢,代理肯定也快不了。
解决办法:检查路由器、WiFi 信号、宽带连接。
问题 3:部分网站能访问,部分不能
原因:规则分流配置问题
Clash 根据规则判断流量走向。如果规则配置不当,某些网站会走错路径。
解决步骤
- 切换到"全局模式"测试。如果全局模式能访问,确定是规则问题
- 检查配置文件的 rules 部分,看看有没有把目标网站配置成 DIRECT(直连)
- 查看 Clash 的连接日志,看看目标域名匹配到了哪条规则
- 临时解决:用全局模式;长期解决:修改规则或换一个规则集
问题 4:TUN 模式开启后网络断了
立即执行
1. 立即关闭 TUN 模式
2. 如果关闭后网络还是不通,重启网络适配器:
- Windows:控制面板 → 网络连接 → 禁用网卡 → 启用网卡
- macOS:系统设置 → 网络 → 关闭 WiFi → 打开 WiFi
3. 如果还不行,重启电脑
原因分析
- 虚拟网卡驱动安装失败或冲突
- TUN 配置有误,导致路由表错误
- 规则配置有问题,所有流量被拒绝
- 防火墙拦截了虚拟网卡
解决办法
- 检查 TUN 配置,确保
auto-route: true - 试试换一个 stack(system / gvisor / lwip)
- 把防火墙关掉测试,或者把 Clash 加入白名单
- 如果用的是 Clash for Windows,重新安装 service(运行 install-service.bat)
问题 5:导入订阅后没有节点
检查清单
- 订阅链接是否正确?确认完整复制了链接,没有多余空格
- 订阅链接是否过期?联系机场确认服务是否在有效期内
- 网络是否正常?有些订阅链接本身需要代理才能访问
- Clash 版本是否支持?旧版本 Clash 不支持新协议(如 Hysteria2)
测试方法
把订阅链接复制到浏览器打开,看看能不能访问。如果浏览器能打开并显示一堆文本,说明链接有效。
如果浏览器也打不开,可能需要先用其他代理工具访问订阅链接。
解决办法
- 关闭 Clash 的代理,然后刷新订阅
- 换一个时间段试试(某些订阅服务器可能暂时不可用)
- 联系机场客服确认订阅链接和服务状态
- 如果使用的是旧版 Clash,升级到最新版或换用 Clash Meta
进阶排查技巧
查看 Clash 日志
Clash 的日志能显示详细的连接信息,包括哪些域名匹配了哪条规则、连接是否成功、错误信息等。
- Clash for Windows:主界面 → Logs 标签页
- ClashX:菜单栏 → Dashboard → 打开网页控制台
- Clash Meta (Android):主界面 → 日志
看日志的重点:
- 查找报错信息(Error、Failed 等关键词)
- 看目标域名匹配到了哪条规则(Rule matched)
- 看连接是成功还是超时(Connection timeout)
使用命令行测试
有些问题在浏览器里不好排查,可以用命令行工具直接测试。
测试代理是否工作:
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 for Windows 换成 Clash Verge
- 联系机场客服 - 可能是服务端的问题
- 查看 GitHub Issues - 搜索你的问题,看看别人怎么解决的
- 技术社区求助 - V2EX、恩山论坛等,带上详细的错误信息和日志
- 使用的 Clash 客户端和版本
- 操作系统版本
- 具体的错误现象(最好有截图)
- Clash 的日志(隐藏订阅链接和节点信息)
- 已经尝试过的解决步骤