Clash VPN 连接不上怎么办?按症状排查节点、DNS、端口与 TUN
简答:Clash VPN 连接不上,最快的处理顺序是:先关闭 TUN 和系统代理确认普通网络正常,再更新订阅并测试多个节点,最后检查代理模式、监听端口、DNS 和防火墙。若只有一个节点超时,优先换节点;若所有节点都失败,重点检查订阅、客户端内核、网络权限或端口冲突。
定义:Clash 是负责读取代理配置、选择节点并按规则转发流量的客户端或内核,本身不提供节点,连接结果还取决于订阅内容、节点状态和本机网络配置。
先做最小闭环:三分钟判断问题在哪一层
不要一开始同时修改 DNS、规则和 TUN。先按下面顺序复原到最简单状态,每完成一步就重新测试一次。
- 关闭 TUN 和系统代理:只保留客户端运行,确认浏览器关闭代理后能正常打开普通网页。
- 确认内核正在运行:在首页查看内核状态、当前代理端口和日志;如果显示内核未运行,先重启客户端或重新启动内核。
- 更新订阅:更新后确认配置文件能正常解析,并且代理组中确实出现节点。
- 测试多个节点:先测试同一代理组中的 2—3 个节点,再判断是单节点问题还是整组问题。
- 只启用一种接管方式:普通应用先使用系统代理;只有不遵循系统代理的程序才测试 TUN。Clash Verge Rev 的界面说明也将系统代理与 TUN 分为不同接管方式,TUN 通常需要服务模式或管理员权限。查看界面与状态说明
如果关闭 Clash 后普通网络也无法使用,问题不在节点,应先检查本地 Wi-Fi、网线、路由器或系统网络;如果普通网络正常但 Clash 失败,再继续下面的分流排查。
错误提示速查:看到什么就先处理什么
| 现象或提示 | 优先判断 | 先做的处理 |
|---|---|---|
| 只有一个节点 timeout | 单节点不可用、线路丢包或节点过期 | 切换同组其他节点,不要先改 DNS |
| 所有节点都 timeout | 订阅失效、本地网络、时间或防火墙 | 更新订阅,关闭其他代理工具后再测 |
| connection refused | 本机端口没有监听或端口被占用 | 核对客户端监听端口,并检查端口占用 |
| 401 或 403 | 订阅需要认证、链接失效或权限不足 | 重新复制订阅链接,确认来源方账号状态 |
| parse error、YAML error | 配置格式错误或下载内容不是有效配置 | 重新更新订阅,确认返回内容不是登录页或错误页 |
| Clash 显示已连接但网页打不开 | 系统代理、规则、DNS 或浏览器设置不匹配 | 先切换 Global 与 Rule 对照测试,再查看连接记录 |
订阅提供商、节点服务和客户端属于不同环节。Clash 只能读取配置并转发请求,不能修复已经失效或无权限使用的订阅;因此不要把“客户端能启动”误判为“节点一定可用”。代理提供者配置的下载地址、更新间隔和健康检查属于内核配置项,具体字段应以 mihomo 的 Proxy Providers 文档为准。
Clash 已启动但网页打不开:按系统代理、模式、端口排查
第一步,检查模式。临时切换到 Global 测试。如果 Global 可以访问而 Rule 不行,通常应检查规则集、策略组或当前域名的匹配结果;如果 Global 也失败,则继续检查节点、端口和 DNS。Direct 模式用于对照本地直连,不应把 Direct 测试成功当成代理已经成功。
第二步,检查代理端口。客户端显示的 HTTP、SOCKS 或 Mixed 端口,必须与系统代理中填写的地址和端口一致。若端口被其他程序占用,客户端可能自动改用其他端口,系统代理仍指向旧端口,就会出现“客户端运行但浏览器打不开”。在 Clash Verge Rev 的设置文案中,系统代理、TUN、Mixed Port、HTTP Port 和 SOCKS Port 都是独立设置项,可从客户端设置与首页信息卡核对。查看端口与代理设置字段
第三步,确认请求是否进入 Clash。打开 Connections 或连接记录,刷新一个网页:如果没有出现对应请求,优先检查浏览器是否绕过系统代理、系统代理是否开启、端口是否正确;如果请求出现但报节点错误,再转向节点或 DNS 排查。
第四步,暂时关闭其他网络接管软件。退出其他代理、VPN、加速器、抓包工具和虚拟网卡管理程序,重启 Clash 后只开启系统代理测试。多个工具同时修改系统代理、路由或虚拟网卡时,结果可能互相覆盖;Clash Verge Rev 的 FAQ 也提示部分网络工具与其加速或代理功能可能产生冲突。查看相关 FAQ
节点全部超时:订阅、时间、网络与防火墙这样分流
- 重新更新订阅:观察更新结果。如果出现 401、403,检查订阅权限;如果出现 Timeout,先确认当前网络能打开订阅地址;如果出现 Parse error,检查下载内容是否为有效配置。
- 检查系统时间:确认日期、时间、时区自动同步。时间明显错误时,TLS 握手可能失败,修正后重启客户端再测。
- 测试不同网络:在同一设备上分别用当前 Wi-Fi 和手机热点测试。若只在一个网络失败,优先检查该网络的 DNS、防火墙或网关策略。
- 关闭安全软件拦截:仅在可信环境下暂时放行客户端内核或相关网络权限,测试完成后恢复安全策略。不要长期关闭防火墙。
- 查看日志:将日志级别临时调高,记录失败发生在 DNS、TCP、TLS、认证还是规则阶段,不要只看延迟测试结果。
“延迟测试成功”不等于网页请求一定成功,因为延迟测试和实际访问可能使用不同的目标、协议或规则。应以真实网页请求在 Connections 或日志中的结果为准。
DNS、Fake-IP 与浏览器安全 DNS:已连接但打不开时检查
如果节点延迟正常、连接记录也能看到请求,但域名打不开,可将问题缩小到 DNS 或规则。先用一个明确的 IP 地址与一个域名分别测试:IP 能通而域名失败,优先看 DNS;两者都失败,则回到节点、端口或规则排查。
- 暂时关闭浏览器的“安全 DNS”或 DoH,避免浏览器绕过 Clash 的 DNS 处理路径。
- 清理系统 DNS 缓存后重新打开客户端;Windows 可在命令提示符执行
ipconfig /flushdns。 - 如果使用 Fake-IP,检查 Fake-IP 地址范围与规则是否冲突,不要随意复制其他配置中的 DNS 参数。
- 确认 DNS 配置字段与当前内核版本匹配。mihomo 文档说明 DNS 模式、Fake-IP 范围和 Fake-IP 过滤规则会影响域名解析行为,修改前应保留原配置备份。查看 mihomo DNS 配置文档
DNS 修改后应一次只改一个变量,并重新测试同一域名;如果同时更换节点、规则和 DNS,就很难判断真正原因。
TUN 开启后断网或无法启动:权限、服务与虚拟网卡排查
TUN 会创建虚拟网络接口并接管更多系统流量,因此它比系统代理更依赖权限、服务、路由和防火墙。Clash Verge Rev 的界面说明显示,TUN 模式可能需要服务模式或管理员模式;Windows 上可先退出客户端,再以管理员身份启动或安装其服务模式。查看 TUN 权限提示
- 先关闭 TUN,确认系统代理可以正常访问。
- 检查是否存在多个同类客户端、旧虚拟网卡或其他 VPN 接管程序。
- Windows 检查防火墙是否拦截内核或虚拟网卡;macOS 检查网络扩展或相关权限是否已允许。
- 重新启用 TUN 时只保留一个接管方式,并观察日志是否出现权限、路由或 DNS 错误。
- 如果开启 TUN 后所有网络都断开,立即关闭 TUN 恢复网络,再处理权限和路由,不要在断网状态下反复切换多个开关。
mihomo 的 TUN 文档还列出了自动路由、DNS 劫持、协议栈和防火墙放行等配置项;这些字段具有版本和平台差异,建议优先使用客户端界面提供的默认值。查看 mihomo TUN 文档
Windows 与 macOS 的复测清单
| 复测项目 | Windows | macOS |
|---|---|---|
| 基础网络 | 关闭 Clash 后打开普通网页 | 关闭 Clash 后用浏览器访问普通网页 |
| 代理方式 | 先测系统代理,再测 TUN | 先测系统代理,再检查网络扩展或 TUN 权限 |
| 权限 | 必要时管理员启动或安装服务模式 | 检查系统设置中的网络扩展、后台服务权限 |
| 端口 | 核对系统代理与客户端监听端口 | 核对系统代理与客户端监听端口 |
| 日志 | 打开日志目录或诊断信息 | 查看客户端日志与连接记录 |
完成后只保留一套稳定配置:普通浏览器优先使用系统代理;只有明确需要接管非系统代理应用时,再单独启用 TUN。若仍无法定位,记录客户端名称、系统、错误原文、是否所有节点失败、系统代理端口和日志时间点,再向配置或节点提供方反馈;不要公开完整订阅链接、Token 或带认证信息的日志。
补充说明:如何判断是客户端还是节点问题
可以用下面的结果快速归类:
- 客户端打不开或内核不运行:优先处理安装、权限、内核文件和配置解析。
- 客户端正常、单个节点失败:优先视为节点或线路问题,切换其他节点验证。
- 所有节点失败、订阅更新也失败:优先检查订阅权限、当前网络、时间和防火墙。
- 节点测试正常但浏览器失败:优先检查系统代理、端口、规则和浏览器 DoH。
- 浏览器正常但某个 App 失败:检查该 App 是否遵循系统代理;必要时再测试 TUN。
这套判断只能帮助缩小范围,不能替代对具体日志和配置的核验;不同 Clash 分支、客户端界面和内核版本可能存在差异,版本号与配置字段应以当前项目资料为准。
常见问题
Clash 显示已连接,但浏览器还是打不开网页,先查什么?
先确认系统代理开关已打开,并核对系统代理端口是否与 Clash 当前监听端口一致。然后临时切换到 Global 模式测试:Global 能访问而 Rule 不能,重点检查规则或策略组;Global 也不能访问,再检查节点、DNS 和端口。最后打开 Connections,确认浏览器请求是否真正进入 Clash。
Clash 所有节点都 timeout,是不是节点全部失效了?
不一定。先关闭其他代理工具,更新订阅并确认订阅更新没有出现 401、403、Timeout 或 Parse error;再检查系统时间、当前网络和防火墙。若同一设备换到另一网络后恢复,问题更可能在原网络或 DNS;若订阅无法更新且所有节点都失败,再联系订阅提供方核实权限和状态。
Clash 只显示一个节点 timeout,应该改 DNS 吗?
通常不必先改 DNS。单个节点 timeout 更适合先切换同一代理组中的其他节点,并观察是否只有该节点失败。如果其他节点都能连接,优先保留 DNS 和规则不变;只有多个节点都失败,或日志明确出现 DNS 解析错误时,才进入 DNS 排查。
为什么开启 TUN 后反而断网?
TUN 需要虚拟网卡、路由和相应权限,Windows 可能还需要管理员或服务模式;同时运行多个代理、VPN 或虚拟网卡工具也可能产生冲突。先关闭 TUN 恢复网络,再退出其他网络接管工具,检查权限和防火墙,最后只启用 TUN 进行单独复测。
Clash 的延迟测试成功,为什么实际网页还是打不开?
延迟测试只说明测试目标在当时能够完成指定连接,不代表所有域名、规则和协议都正常。应查看实际网页请求是否进入 Connections,并检查当前策略组、节点、DNS、浏览器安全 DNS 和系统代理端口。以真实请求日志为准,不要只依据延迟数字判断可用性。
更新订阅出现 Parse error 或 YAML error 怎么办?
先确认复制的是完整订阅地址,且地址没有被截断、换行或附带多余字符;再重新更新并保留原配置备份。如果返回内容其实是登录页、错误页或权限提示,客户端会把它当成配置解析并失败,这时应核实订阅权限或链接状态,而不是手动修改大量 YAML 字段。