FILE NO. C-007 / TROUBLESHOOTING / MANUAL
Clash 故障排查手册
本页是本站的系统化查阅手册,按症状分为八章。适用范围:Clash Plus、Clash Verge Rev、FlClash 等基于 mihomo 内核的客户端,以及仍在使用的旧内核客户端。排查思路通用,界面入口名称可能因客户端而略有差异。
与站内其他页面的分工:如果尚未完成安装与订阅导入,先按 配置教程 走完主线流程,再回到本页;本页假设客户端已安装、订阅已导入,专门处理"配好了但不正常"的情形。零散的一句话问答收录在 疑难解答;客户端安装包在 安装包页 按平台归档。
先在下表定位症状,跳转对应章节。每章按"确认现象 → 缩小范围 → 处理"的顺序执行,不建议跳步。多数问题在前两步就能定位原因。
| 症状描述 | 优先查阅 |
|---|---|
| 开启代理后所有网页都打不开,关闭后恢复 | DOC-01 / DOC-05 |
| 延迟测试全部显示超时或 -1 | DOC-02 / DOC-03 |
| 点击更新订阅报错,或订阅列表为空 | DOC-03 |
| 能上网,但速度明显低于预期 | DOC-04 |
| 部分网站能开、部分打不开,或指向错误页面 | DOC-05 |
| 客户端显示已连接,浏览器仍走直连 | DOC-06 |
| 客户端启动即退出、界面卡死 | DOC-07 |
| 手机端断流、后台失效、无法建立 VPN | DOC-08 |
无法上网:开启代理后全部断网
定义:开启代理后,任何网站都无法访问;关闭代理后网络立即恢复。这类故障说明流量确实进入了 Clash,但没有被正确送出。排查按以下顺序执行。
1.1 先区分"全断"与"部分不通"
打开三类站点各测一次:一个中国大陆站点、一个海外站点、一个 IP 直连地址(如路由器管理页 192.168.x.1)。三类全部不通才属于本章范围;只有海外站点不通,转 DOC-02 检查节点;只有部分站点不通或跳转异常,转 DOC-05 检查 DNS 与规则。这一步花十秒,能避免后面走错方向。
1.2 检查代理模式与出站选择
确认当前模式。规则模式(Rule)下,若配置文件缺少兜底规则 MATCH,未命中的流量可能被丢弃;全局模式(Global)下,若选中的出站是一个失效节点,则所有流量都会失败;直连模式(Direct)下开启系统代理,流量绕一圈本机再直连,一般不会断网,但配置异常时可能出现回环。处理办法:先切到全局模式,手动选择一个延迟正常的节点,确认能否恢复。能恢复,说明问题出在规则或策略组,回到规则模式逐段检查;不能恢复,继续向下。
1.3 检查本地监听端口
Clash 默认在本机 7890 端口(混合端口)监听。若端口没有起来,系统代理指向的就是一个空地址,表现为全部断网。用命令确认监听状态:
# Windows(PowerShell 或 CMD)
netstat -ano | findstr 7890
# macOS / Linux
lsof -i :7890
无输出,说明内核没有成功监听:检查配置文件中 mixed-port 或 port 字段,再看客户端日志里是否有 bind 失败的记录(常见原因是端口被其他程序占用,转 DOC-07 的端口冲突小节)。有输出但 PID 不是 Clash 进程,说明端口被占,修改配置换一个端口,或结束占用进程。
1.4 用 curl 绕过浏览器验证链路
浏览器自身缓存、插件、DoH 设置都可能干扰判断。用命令行直接走本地代理请求一个无内容探测地址:
curl -x http://127.0.0.1:7890 -I https://www.gstatic.com/generate_204
返回 HTTP/2 204 或 HTTP/1.1 204,说明"本机 → Clash → 节点 → 目标"整条链路是通的,问题在浏览器或系统代理层,转 DOC-06;返回超时或连接被重置,说明节点侧不通,转 DOC-02。
1.5 查看运行日志
把日志级别调到 info 或 debug,复现一次访问,观察输出。三类典型记录:
dial tcp ... i/o timeout:到节点服务器的连接超时,节点不可达,转 DOC-02。EOF或connection reset:连接建立后被中断,多为节点侧协议参数不匹配或链路被干扰,更换节点或联系订阅提供方。no such rule / proxy not found:配置文件里规则引用了不存在的策略组名称,属于配置错误,重新更新订阅或修正手改的字段。
排查期间不要同时改多个变量。每改一处,复测一次 1.4 的 curl 命令,确认该项修改是否有效,再进行下一步。
节点超时:延迟测试全部或部分失败
定义:在客户端节点列表中执行延迟测试,结果显示超时、-1 或空白。先明确一点:延迟测试测的是"经过该节点访问某个测试 URL 的完整耗时",测试失败不一定等于节点失效,也可能是测试地址本身不可达。
2.1 全部超时的四个常见原因
- 订阅已过期或流量用尽。登录订阅提供方的用户面板确认账户状态。这是全部超时最高频的原因,先查它,不要先怀疑软件。
- 本机网络本身不通。关闭代理,直接访问任意大陆站点确认基础网络正常。基础网络断了,任何节点都会超时。
- 测试 URL 被本地网络拦截。部分客户端默认测试地址在某些网络环境下不可达,导致"节点其实可用但测试全红"。把测试地址改为
https://www.gstatic.com/generate_204或http://cp.cloudflare.com/generate_204后重测。 - 系统时间偏差过大。部分加密协议对时间敏感,本机时间与标准时间相差超过一定范围会导致握手失败。开启系统时间自动同步后重测。
2.2 部分超时:正常现象与处理边界
订阅里通常包含数十个节点,个别节点在个别时段超时属于常态,原因包括节点服务器维护、线路波动、区域网络管制变化。处理原则:
- 同一地区多个节点全部超时,其他地区正常——该地区线路故障,换地区使用,等待提供方修复。
- 随机零星超时——不需处理,策略组用
url-test类型自动选择可用节点即可。 - 长期固定某几个节点超时——反馈给订阅提供方,或在配置中将其排除。
2.3 让策略组自动避开失效节点
手动选择节点的策略组在节点失效时不会自动切换。将常用策略组改为自动测速类型,可以显著减少"突然断了"的感知。示例:
proxy-groups:
- name: "自动选择"
type: url-test
url: "https://www.gstatic.com/generate_204"
interval: 300
tolerance: 60
proxies:
- "节点A"
- "节点B"
- "节点C"
字段说明:interval 为重测间隔秒数,不建议低于 120,过于频繁的测速会产生额外请求;tolerance 为容差毫秒数,新节点延迟需比当前节点低出该值才切换,避免在两个延迟接近的节点间反复横跳。
2.4 延迟数值的正确读法
延迟测试走完整 HTTP 请求,数值受节点物理距离、协议开销、测试地址位置三重影响。经验参考:亚洲近距离节点几十到一百多毫秒,欧美节点两百到四百毫秒属正常区间。延迟低只代表握手快,不代表带宽大;下载速度问题转 DOC-04 处理。
订阅失败:导入报错与更新失败
定义:粘贴订阅链接后导入报错,或已有订阅点击更新时失败。订阅本质是一个通过 HTTP 拉取的远程配置文件,排查思路与排查"一个网址打不开"相同:先确认链接本身,再确认网络路径,最后确认内容格式。
3.1 确认链接本身有效
- 核对链接完整性。订阅链接通常很长且含 token 参数,从聊天工具复制时容易被截断或混入换行、空格。建议从提供方用户面板重新复制,不要转手多次。
- 确认链接类型。Clash 系客户端需要 Clash 格式(YAML)的订阅;部分提供方对不同客户端给不同链接,拿错格式会报"解析失败"。多数机场支持在链接后附加参数指定格式,具体以提供方说明为准。
- 在浏览器中直接打开链接。能看到一段 YAML 文本(以
proxies:、port:等字段开头),说明链接与内容都正常,问题在客户端侧;返回 404 或错误页,说明链接失效,找提供方重签。
3.2 拉取阶段失败的处理
链接有效但客户端更新报超时:订阅服务器本身可能在受干扰的网络路径上。两个处理方向:
- 用已有可用节点中转拉取。Clash Verge Rev 等客户端在订阅设置里提供"使用代理更新"开关;前提是当前至少有一个能用的旧配置。
- 命令行复现问题。用 curl 模拟客户端请求,观察具体失败在哪一步:
# 直连拉取(把链接换成自己的,示例 token 为占位假值)
curl -I "https://example.com/api/v1/client/subscribe?token=xxxx"
# 经本地代理拉取
curl -x http://127.0.0.1:7890 -I "https://example.com/api/v1/client/subscribe?token=xxxx"
直连失败、走代理成功,说明订阅服务器直连不可达,开启"使用代理更新"即可;两者都失败,说明服务器侧异常,等待或联系提供方。
3.3 User-Agent 限制
部分订阅服务器按请求的 User-Agent 返回不同格式,或拒绝陌生 UA。浏览器能打开、客户端却解析失败时,可在客户端订阅设置中把 UA 手动改为 clash 或 clash.meta 后重试。这一项在更换客户端后订阅突然失效的场景中尤其常见。
3.4 更新失败但旧配置仍可用
客户端会缓存上一次成功拉取的配置,订阅更新失败不影响继续使用旧节点。因此更新失败不必立即处理连接问题,但要注意:旧配置中的节点地址可能随提供方轮换而逐渐失效,表现为可用节点越来越少。尽快按本章 3.1–3.3 恢复更新能力。
订阅链接等同于账户凭据,含有个人 token。不要粘贴到公开群组、论坛或截图中;怀疑泄露时,到提供方面板重置订阅地址。
速度慢:连接正常但带宽不达预期
定义:网页能开、视频能放,但速度明显低于本地宽带水平或以往体验。速度问题的变量最多,必须逐层隔离:本地网络 → 节点 → 协议 → 规则 → 目标站点。
4.1 建立基准:先测直连,再测代理
关闭代理,对大陆测速服务器跑一次测速,记录数值作为本地宽带基准;开启代理,选定一个节点,对同一目标或节点所在地区的测速点再跑一次。代理速度达到基准的一半以上,通常属于正常损耗区间;差距悬殊时继续向下排查。
4.2 节点侧因素
- 节点负载。热门时段(晚间)公共节点用户集中,带宽被摊薄。换冷门地区节点或错峰对比,差异明显即可确认。
- 线路类型。同一订阅内不同节点走的国际线路质量差异很大。逐个实测常用的三五个节点,记录各自的稳定速度,固定使用表现好的,不要只看延迟数字选节点。
- 倍率标记。部分提供方对高质量线路设置流量倍率,节点名称中常有标注,选择时留意。
4.3 客户端与协议侧因素
- 内核版本。mihomo 内核对新协议与并发性能的优化持续更新,长期未升级客户端可能损失性能。到 安装包页 获取当前版本;Clash Plus 与 Clash Verge Rev 均内置 mihomo 内核。
- UDP 支持。视频通话、游戏、部分流媒体依赖 UDP。节点或配置未放行 UDP 时,这类应用会退化或卡顿。确认配置中相关代理的
udp: true字段,以及提供方是否支持 UDP 转发。 - 浏览器 QUIC。浏览器对部分站点走 HTTP/3(UDP 443),在 UDP 转发质量差的节点上反而更慢。规则中封禁 QUIC 强制回落 TCP 是常用手段:
rules:
- AND,((NETWORK,UDP),(DST-PORT,443)),REJECT
4.4 规则侧因素:确认流量走向正确
速度慢的一个隐蔽原因是"本该直连的流量走了代理"。大陆站点绕道海外节点再回来,速度必然大幅下降。在客户端的连接面板查看当前活动连接,确认大陆域名命中 DIRECT、海外域名命中代理策略组。分流规则配置不当的,参阅站内文章 规则分流实战 校正。
4.5 本地环境因素
Wi-Fi 信号弱、路由器性能瓶颈、其他设备占用带宽,都会被误判为"节点慢"。用网线直连或靠近路由器复测一次,排除本地干扰。软路由/路由器上跑内核的用户,还需关注设备 CPU 占用——加密流量的吞吐受限于设备算力,低端设备百兆封顶属正常现象。
DNS 异常:解析错误、泄漏与部分站点打不开
定义:整体网络可用,但部分站点打不开、跳到错误页面,或检测工具显示 DNS 泄漏。DNS 是 Clash 故障中最不直观的一类,因为症状表现在"某些网站",根源却在解析层。
5.1 判断是否属于 DNS 问题
对打不开的站点执行:换用 IP 直连能通(如果该站支持)、或在客户端日志中看到该域名解析出的 IP 明显异常(如解析到保留地址、明显不属于目标服务商的地址段),即可判定为解析问题。另一个典型信号:开启代理后某网站提示"您所在地区不可用",但节点地区明明正确——多为 DNS 请求走了直连,暴露了真实位置。
5.2 理解 fake-ip 与 redir-host
Clash 的 enhanced-mode 有两种取值。fake-ip 模式下,内核对域名请求即时返回一个 198.18.0.0/16 段的虚假地址,真实解析推迟到出站时进行,优点是响应快、天然防污染,缺点是个别依赖真实 IP 的程序(局域网发现、部分游戏平台)会异常;redir-host 模式返回真实解析结果,兼容性好但更依赖上游 DNS 的质量。一般桌面与移动端推荐 fake-ip,配合过滤名单排除局域网域名。
5.3 可直接套用的 dns 段配置
dns:
enable: true
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "+.local"
- "+.msftconnecttest.com"
nameserver:
- https://223.5.5.5/dns-query
- https://120.53.53.53/dns-query
fallback:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fallback-filter:
geoip: true
geoip-code: CN
结构说明:nameserver 负责日常解析,填国内 DoH 保证大陆域名解析快且准;fallback 负责疑似被污染域名的二次解析,填海外 DoH;fallback-filter 以 GeoIP 判定——解析结果不属于 CN 地址段时,采用 fallback 的结果。各字段的完整原理与劫持场景,参阅站内文章 Clash DNS 配置详解。
5.4 DNS 泄漏的确认与处理
- 经代理访问 DNS 泄漏检测站点,查看列出的解析服务器归属。全部为节点所在地区的服务器为正常;出现本地运营商服务器即为泄漏。
- 确认泄漏来源。常见来源三个:浏览器自带 DoH(设置里独立配置了 DNS over HTTPS,绕过了 Clash)、系统代理模式下 UDP 53 请求不经代理、IPv6 解析旁路。
- 逐项处理:关闭浏览器内置安全 DNS;开启 TUN 模式让 DNS 请求也被接管(见 DOC-06);配置中设置
ipv6: false或补全 IPv6 规则。
5.5 GeoIP 数据库过旧导致的误判
规则中的 GEOIP,CN,DIRECT 依赖本地 GeoIP 数据库。数据库长期未更新时,新启用的地址段会被误判,表现为个别大陆站点错误走代理、或个别海外站点错误直连。多数客户端在设置中提供 GeoIP/GeoSite 数据库更新入口,执行一次更新并重启内核即可。更新失败时,先确认当前代理可用,再用"经代理更新"的方式重试。
系统代理不生效:客户端在跑,流量却直连
定义:客户端显示运行正常、节点延迟正常,但浏览器或应用的流量并未经过代理。核心认知:"系统代理"只是操作系统层的一个建议性设置,应用可以遵守,也可以无视。这决定了本章的排查框架。
6.1 确认系统代理设置已写入
先确认客户端的"系统代理"开关处于开启状态,再到操作系统层核对:Windows 在"设置 → 网络和 Internet → 代理"查看手动代理是否指向 127.0.0.1:7890;macOS 在"系统设置 → 网络 → 详细信息 → 代理"查看 HTTP/HTTPS 代理项。客户端开了但系统里没写入,常见原因是权限不足或被其他代理软件抢占了设置,重启客户端或退出冲突软件后重试。
6.2 哪些流量天然不走系统代理
| 流量类型 | 是否遵守系统代理 | 处理办法 |
|---|---|---|
| 主流浏览器 | 遵守 | 无需处理 |
| 命令行工具(git、curl、包管理器) | 多数不遵守 | 设置环境变量,见 6.3 |
| 部分桌面应用(自带网络栈) | 不遵守 | 应用内单独设代理,或开 TUN |
| Windows UWP 应用/商店应用 | 受回环限制 | 解除 loopback 限制,或开 TUN |
| 系统服务、后台更新 | 不遵守 | 开 TUN 模式 |
6.3 命令行工具的代理配置
# macOS / Linux(当前终端会话生效)
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
# Windows PowerShell
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"
# git 单独配置(全局)
git config --global http.proxy http://127.0.0.1:7890
验证方式:执行 curl -I https://www.gstatic.com/generate_204,在客户端连接面板看到来自 curl 的连接记录即为生效。
6.4 用 TUN 模式取代系统代理
TUN 模式创建一块虚拟网卡,在系统路由层接管全部流量,不依赖任何应用的配合,是解决"不遵守系统代理"问题的根本方案。开启要点:桌面端需授予管理员/系统扩展权限;首次开启需安装服务组件(客户端会引导);开启后建议关闭系统代理开关,避免双重代理。原理与分平台步骤,参阅站内文章 TUN 模式原理与开启步骤。
6.5 浏览器插件与 PAC 的冲突
浏览器安装过 SwitchyOmega 等代理插件时,插件设置的优先级高于系统代理。表现为系统代理明明正确,浏览器仍按插件旧规则走。处理:将插件切到"系统代理"情景模式,或直接停用插件。同理,系统里残留的 PAC 自动配置脚本地址也会覆盖手动设置,排查时把"自动检测设置"与"使用设置脚本"一并关闭。
客户端崩溃:启动失败、闪退与界面卡死
定义:客户端无法启动、启动后立即退出、内核反复重启,或界面长时间无响应。这类问题九成落在四个原因上:配置语法错误、端口冲突、权限不足、安装文件损坏。按命中率从高到低排查。
7.1 配置文件语法错误
YAML 对缩进与冒号后的空格极其敏感,手工编辑配置后内核起不来是最常见的崩溃原因。定位方法:查看客户端日志(Clash Verge Rev 的应用日志、各客户端设置中的日志入口),内核会在报错中给出行号,例如 yaml: line 42: mapping values are not allowed in this context。处理:按行号修正缩进,或临时切回未改动过的订阅配置验证是否恢复。改动配置前先复制备份,是成本最低的保险。
7.2 端口冲突
7890(代理)、9090(外部控制)等端口被其他程序占用时,内核启动即失败。典型冲突方:另一个未完全退出的 Clash 实例、其他代理软件、开发调试服务。定位与处理:
# Windows:找到占用 7890 的进程 PID,再按 PID 查进程名
netstat -ano | findstr 7890
tasklist | findstr
# macOS / Linux
lsof -i :7890
确认占用方后,结束该进程,或在配置中改用其他端口(同时更新系统代理指向)。多个 Clash 系客户端不要同时运行,卸载弃用的那个。
7.3 权限与安全软件
- Windows:杀毒软件可能拦截内核进程或删除内核文件,表现为"昨天还能用,今天启动就退"。将客户端安装目录加入白名单后重装。误报成因与处理细节,参阅 Windows 安装全流程与常见坑。
- macOS:首次启动被拦时,到"系统设置 → 隐私与安全性"允许运行;TUN 模式的系统扩展需单独批准。
- TUN 相关崩溃:开启 TUN 需要管理员权限,服务组件安装不完整会导致开启即崩。以管理员身份重装服务组件,或先关闭 TUN 用系统代理模式验证客户端本体正常。
7.4 安装损坏与残留冲突
升级失败、磁盘异常都可能损坏程序文件。处理顺序:先卸载,手动清理残留目录(注意:配置与订阅一般存放在用户数据目录,与程序目录分离,清理程序目录不会丢配置;若要彻底重置,再删用户数据目录),然后从 安装包页 重新下载安装。反复崩溃且无明确日志线索时,换用同内核的另一客户端交叉验证——例如 Clash Verge Rev 崩溃而 Clash Plus 正常,可判定问题在客户端本体而非配置与网络。
重装前导出订阅链接列表与手改过的配置文件。订阅链接可随时从提供方面板重新获取,但本地自定义规则不备份就会丢失。
移动端专项:Android 与 iOS 的平台特有问题
移动端客户端(Android 端的 Clash Plus、Clash Meta for Android、FlClash;iOS 端的 Clash Plus)统一通过系统 VPN 接口接管流量,故障模式与桌面端有明显差异,单列一章。
8.1 Android:VPN 无法建立
- 确认系统 VPN 授权。首次启动会弹出"连接请求"授权框,误点拒绝后需到系统设置的 VPN 管理页删除该应用的 VPN 配置,重新启动客户端触发授权。
- 检查 VPN 互斥。Android 同一时刻只允许一个应用持有 VPN 通道,其他 VPN 类应用(含部分安全软件的"网络保护"功能)在运行时,Clash 无法建立连接。停用冲突应用后重试。
- 部分定制系统(工作资料、儿童模式)限制 VPN 权限,需在对应管理入口放行。
8.2 Android:后台被杀与断流
国产定制系统的激进省电策略是移动端断流的首要原因,表现为锁屏一段时间后网络中断、通知栏图标消失。处理清单:
- 在系统电池设置中将客户端设为"无限制"/"不优化"。
- 在多任务界面为客户端加锁(下拉锁定卡片),阻止一键清理误杀。
- 开启客户端的前台服务常驻通知,不要为了清爽关掉它——常驻通知是系统判定进程重要性的依据之一。
- 部分系统需额外允许"自启动"与"后台弹出界面"权限。
8.3 Android:分应用代理
客户端设置中的"分应用代理"(Per-App Proxy)可指定哪些应用走 VPN。两种模式:白名单(仅列表内应用走代理)与黑名单(列表内应用绕过)。银行类应用对 VPN 敏感时,加入绕过列表可解决其风控报错;反过来,发现某应用始终直连,先检查它是否被列入了绕过名单。修改分应用设置后需重启 VPN 生效。
8.4 iOS:Clash Plus 使用要点
iOS 端通过 App Store 安装 Clash Plus,基于系统 Network Extension 框架运行。平台特有注意点:
- 首次启动需在系统弹窗中允许添加 VPN 配置,拒绝后到"设置 → 通用 → VPN 与设备管理"处理。
- 系统对 Network Extension 的内存限额远低于普通应用,规则集过大或节点过多的配置可能触发扩展进程被系统回收,表现为 VPN 图标闪断。精简订阅规模、避免加载超大规则集可缓解。
- iOS 的 VPN 同样全局互斥,切换代理应用前先断开另一个的连接。
- 切换 Wi-Fi 与蜂窝网络时出现短暂断流属系统网络栈切换的正常现象,数秒内自动恢复;长时间不恢复时,手动关开一次连接。
8.5 移动端订阅更新失败
手机端更新订阅报错的排查与 DOC-03 相同,补充两点移动端特有因素:蜂窝网络下部分运营商对陌生域名的解析与连接策略更严格,切到 Wi-Fi 重试可区分;省电模式会限制后台网络请求,前台手动更新不受影响,但"自动更新订阅"任务可能长期未执行,导致节点悄然过期——发现节点批量失效时,先手动更新一次订阅再测。
END OF FILE / C-007
按上述八章仍未解决的问题,建议携带三项信息求助:客户端名称与平台、复现步骤、关键日志片段(隐去订阅链接与 token)。零散高频问答见 疑难解答;从零配置回到 配置教程;更换或升级客户端到 安装包页,全平台首推 Clash Plus。