Clash Verge 连接失败、节点全红或 Timeout 怎么排查?
简答:Clash Verge 连接失败时,先关闭 TUN 并检查订阅是否过期或用尽,再看日志中的具体报错;若全部节点 Timeout,核对版本并用 GitHub Releases 回退或升级,最后排查系统代理、时间、DNS 与虚拟网卡。
定义:Clash Verge Rev 是基于 Mihomo 内核的跨平台图形客户端,连接失败通常指订阅、内核、代理模式或网络链路中的任一环节未正常工作。
先试这一步:关闭 TUN,确认是订阅还是本机接管问题
本文是与 Clash Verge Rev 项目及其开发者无隶属关系的第三方使用指南。遇到“连接失败”“所有节点 Timeout”或打开系统代理后断网,先不要重装:打开 Clash Verge Rev 的“代理”或“连接”页面,记录当前选中的代理组、节点测试结果和“日志”页面中的最后一条错误,然后暂时关闭 TUN,仅保留系统代理测试。
- 确认订阅仍在列表中,手动更新一次,观察是否出现 Network Error、更新失败或更新时间不变。
- 核对服务商控制台中的订阅有效期和剩余流量;这类账户状态应以服务商官方为准,本站无法代替核实。
- 换一台设备,或把当前电脑改用手机热点测试同一订阅。若多台设备、多个网络都失败,优先怀疑订阅或节点源头;若只有当前电脑失败,优先排查本机代理、时间、杀毒软件和虚拟网卡。
- 关闭 TUN 后,在“设置”中打开系统代理,再访问一个普通网页。能打开网页而 TUN 不能用,说明问题集中在 TUN 权限、路由、DNS 或虚拟网卡;两种模式都失败,则继续检查订阅和节点。
Clash Verge Rev 官方文档说明,TUN 的自动路由、DNS 劫持和严格路由会改变系统流量路径;Windows 上还可能因为多个网卡或网段冲突导致 TUN 网络异常,可参考 Clash Verge Rev Windows 常见问题 与 Mihomo TUN 配置文档。
按日志报错对照:不要把所有 Timeout 都当成节点失效
在 Clash Verge Rev 的“日志”页面复制完整错误,先看错误发生在 DNS、TCP 连接、TLS 握手还是 TUN 路由。下面的对应关系是排查方向,不代表单凭一条日志即可确定根因。
| 日志关键词 | 通常说明 | 先做什么 | 正常判定 |
|---|---|---|---|
dial tcp i/o timeout | TCP 连接在等待期内没有完成,可能是节点端口不可达、本地网络丢包、防火墙拦截或路由异常。 | 换网络、换节点,并关闭 TUN 测试;检查安全软件是否启用了 HTTPS 扫描或网页防护。 | 至少一个节点能完成延迟测试,日志不再连续出现该错误。 |
context deadline exceeded | 请求超过截止时间,可能发生在节点连接、DNS 请求或代理组健康检查。 | 先看错误前一行是否包含 DNS;若包含 DNS,先测试 DNS 和 TUN 路由;若只针对一个节点,换节点对照。 | 日志不再持续出现 deadline,连接页能看到完成的 TCP 请求。 |
x509、证书验证错误 | TLS 证书校验未通过,常见排查方向是系统时间不准确、SNI 或订阅配置不匹配,也可能是安全软件拦截 HTTPS。 | 同步系统日期、时间和时区;关闭 HTTPS 扫描后重试,不要为了绕过错误随意关闭证书校验。 | 系统时间自动同步成功,日志不再出现证书错误。 |
connection refused | 目标端口主动拒绝连接,可能是本地代理端口没有监听、端口被其他程序占用,或远端服务拒绝连接。 | 先检查本地端口,再确认 Clash Verge Rev 内核是否运行;不要直接把端口改成固定值。 | 本地端口存在监听,系统代理指向的地址和端口一致。 |
Network Error | 订阅更新请求没有成功完成,可能是链接失效、订阅过期、网络不可达或本地安全软件拦截。 | 复制订阅链接到浏览器或另一台设备验证返回内容;账户状态以服务商官方为准。 | 订阅更新时间刷新,配置文件能正常解析并显示节点。 |
公开的 Mihomo 问题记录中可以看到 context deadline exceeded 会出现在代理连接或 DNS 相关请求中,因此应结合日志上下文判断,而不是只看节点列表颜色;可参考 Mihomo Issue #2863 和 Mihomo Issue #3002。
全部节点 Timeout:检查版本回归、订阅源和系统时间
- 查看当前版本:在 Clash Verge Rev 的关于或设置页面记录版本号、系统类型和内核版本。不要只看安装包文件名。
- 对照版本:官方 GitHub Issue #7066 记录了 Windows 10 环境中,2.4.7 正常而 2.5.1 出现所有节点测速 Timeout 的复现报告,报告还提到 Windows、Linux 和 macOS 均被填写为测试环境。该 Issue 不能证明所有用户都受影响,但足以说明“升级后全红”需要纳入版本回归排查。
- 执行回退或升级:打开 Clash Verge Rev GitHub Releases,按自己的系统架构选择稳定版安装包。升级前保留订阅链接和必要配置;如果问题恰好从某次升级后出现,可先回退到此前能正常工作的版本,再重新测试同一订阅。
- 检查时间:打开 Windows“设置—时间和语言—日期和时间”,启用自动设置时间与时区并点击立即同步;macOS 打开“系统设置—通用—日期与时间”,启用自动设置。时间明显错误时,TLS 握手和证书验证可能失败,表现为节点全部不可用。
- 验证源头:确认订阅未过期、流量未用尽,并在另一台设备或另一网络测试。若同一节点在另一设备也失败,先不要修改本机规则;服务状态和账户状态以服务商官方为准。
官方安装文档说明,Clash Verge Rev 应从其 GitHub Release 页面选择匹配平台和架构的安装包;安装包架构不匹配会导致无法运行或异常,具体可参考 Clash Verge Rev 安装文档。
系统代理、端口和安全软件:确认请求是否真的进入内核
Clash Verge Rev 的系统代理不是必须依赖 PAC 脚本。排查时先看系统代理服务器地址和端口是否与客户端当前设置一致;只有你主动选择 PAC 或自动配置脚本时,才需要继续检查 PAC。
Windows 端口检查
netstat -ano | findstr 7897上面的命令适用于 Windows 自带命令提示符,7897 只是待检查的示例端口,请替换为 Clash Verge Rev 设置中显示的实际混合代理端口。若没有输出,说明该端口没有监听;若有输出,记下 PID,再用任务管理器按 PID 查进程。若端口被其他程序占用,在 Clash Verge Rev 中改用未占用端口,并同步检查系统代理是否已更新。
macOS 端口检查
lsof -nP -iTCP:7897 -sTCP:LISTEN该命令需要 macOS 终端自带的 lsof;同样应把 7897 替换成实际端口。输出进程名和 PID 才表示有程序监听。关闭 Clash Verge Rev 后再次检查,若仍有监听,说明可能存在残留进程或其他客户端占用。
如果端口正常但请求仍失败,检查 Windows 安全软件是否开启 HTTPS 扫描、网页防护或应用防火墙拦截,并将 Clash Verge Rev 主程序与 Mihomo 内核加入允许列表后重试。官方 Windows FAQ 也把防火墙和内核通信失败列为排查方向,可参考 Windows 常见问题。
TUN 开启后断网:权限、虚拟网卡、DNS 按顺序排查
- 先确认权限:在 Clash Verge Rev 中按提示安装服务模式或授予管理员权限,再开启 TUN。没有服务权限时,TUN 可能无法创建接口或写入路由。
- 停用其他接管工具:退出其他 VPN、加速器、代理客户端,检查系统中是否残留 TUN/TAP、Wintun、Meta 或同类虚拟网卡。一次只保留一个程序接管全局流量,再重启 Clash Verge Rev。
- Windows 检查网卡:打开“设置—网络和 Internet—高级网络设置”,暂时禁用明显重复或残留的虚拟网卡,保留当前实际使用的 Wi-Fi 或以太网网卡。官方文档明确提到多个网卡或网段可能与 TUN 规则冲突。
- macOS 检查代理:打开“系统设置—网络—当前网络—详细信息—代理”,关闭残留的 Web 代理、安全 Web 代理和自动代理配置,再回到 Clash Verge Rev 测试系统代理。
- macOS 刷新 DNS:以下命令会清空当前 Wi-Fi 服务的手动 DNS,并刷新系统 DNS 缓存;执行前请确认服务名称确实是 Wi-Fi。
networksetup -getdnsservers Wi-Fi
networksetup -setdnsservers Wi-Fi Empty
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder判定标准是:第一条命令能显示当前 DNS;第二条执行后返回设置成功或无错误;刷新命令执行后无持续报错。若你使用的是有线网络或自定义服务名称,请先用 networksetup -listallnetworkservices 查名称,再替换命令中的 Wi-Fi。
Mihomo 文档说明,TUN 的 auto-route、dns-hijack、strict-route 和 auto-detect-interface 会影响路由和 DNS 行为;普通用户不应在未确认用途时同时堆叠多个高级选项。遇到 TUN 断网时,先关闭 TUN 验证系统代理,再逐项恢复。
订阅更新后手动规则消失:用覆写或 Merge,不要直接改缓存文件
如果你手动修改订阅生成的配置文件,下一次更新可能覆盖修改。Clash Verge Rev 官方配置文档提供了多订阅合并与配置扩展方向,实际入口名称可能随版本界面变化,优先在“订阅”或“配置”页面查找 Merge、覆写、扩展配置或全局扩展配置。
- 保留原订阅作为基础配置,不直接编辑下载后的缓存文件。
- 在对应订阅的扩展配置中添加代理组、DNS 或规则覆写;如果希望对所有订阅生效,使用全局扩展配置。
- 保存后重新更新订阅,再在“代理”页面确认代理组仍存在,并在“日志”页面确认内核启动没有 YAML 缩进或字段错误。
- 配置内容必须使用 YAML 原有缩进。复制多行 YAML 时,使用文本编辑器或
pre代码块,不要把多行内容压成一行。
官方文档中的配置示例包含 tun、dns 和代理组等字段,可参考 Clash Verge Rev 多订阅合并与配置文档。若日志出现配置解析失败,先撤销最近一次覆写,再逐段恢复。
最后做一次四项闭环验证
| 检查项 | 操作 | 通过标准 | 未通过时下一步 |
|---|---|---|---|
| 订阅 | 更新订阅并在另一设备或网络打开同一节点 | 配置更新时间刷新,节点能被解析 | 核对有效期、流量和服务商状态,以服务商官方为准 |
| 内核 | 查看日志与连接页,记录一条完整错误 | 内核正常运行,错误不再连续重复 | 检查版本、服务权限和防火墙 |
| 系统代理 | 关闭 TUN,仅打开系统代理访问测试网页 | 网页能打开,端口有监听 | 检查端口占用、残留代理和安全软件 |
| TUN | 确认服务权限后单独开启 TUN | 系统代理关闭时网页仍可访问 | 排查虚拟网卡、DNS、路由和其他 VPN 冲突 |
如果四项中只有某个节点失败,不要据此判定整个客户端损坏;如果所有节点、所有设备和多个网络都失败,才更应该回到订阅有效性、账户状态和服务商官方公告核验。
常见问题
Clash Verge 所有节点都显示 Timeout,是节点全部失效了吗?
不一定。先检查 Clash Verge Rev 当前版本、订阅是否过期或流量用尽,再换一台设备或网络验证。若问题只出现在升级后,可根据 GitHub Issue #7066 的复现思路,到官方 Releases 页面回退或升级;如果多设备、多网络都失败,再按服务商官方信息核验订阅和节点状态。
Clash Verge 开启 TUN 后断网,关闭 TUN 就正常,怎么办?
先确认已安装服务模式或获得管理员权限,再退出其他 VPN、加速器和代理客户端,检查残留虚拟网卡。随后确认 DNS、自动路由和系统代理没有重复接管。Windows 可参考官方 TUN 与网卡排查文档,macOS 还要检查“系统设置—网络—详细信息—代理”中的残留设置。
Clash Verge 日志里的 context deadline exceeded 怎么看?
它表示某个请求超过了截止时间,可能发生在节点连接、DNS 请求或代理组健康检查。先看同一行及前后几行是否出现 DNS、节点地址或 TUN 来源;再关闭 TUN、换网络和换节点对照。若只针对一个节点,不能仅凭该错误判定客户端整体故障。
Clash Verge 出现 x509 证书错误,能否直接关闭证书校验?
不建议直接关闭证书校验。先同步系统日期、时间和时区,检查安全软件是否启用 HTTPS 扫描,并核对订阅中的服务器名称、SNI 等配置是否被改动。完成后重新连接,只有在明确理解风险和配置来源时才考虑其他设置。
相关阅读
参考资料
- Windows - Clash Verge Rev Docs(clashverge.dev)
- 多订阅合并 - Clash Verge Rev Docs(clashverge.dev)
- Issue #7066:2.4.7 正常、2.5.1 全部 Timeout
- Clash Verge Rev Releases
- Clash Verge Rev 安装文档
- Mihomo TUN 配置文档
- Mihomo Issue #2863:context deadline exceeded
- Mihomo Issue #3002:DNS 与 auto-route 排查