Clash 常见问题与故障排查
别从重装开始。先判断流量有没有进入内核,再查规则、节点、DNS 和系统接管层。下面按问题类型给出检查顺序。
基础认知
先把客户端、内核、配置和接管方式分开。概念混在一起,日志再长也难定位。
Clash、mihomo 内核和图形客户端是什么关系?
Clash 通常指规则代理生态和配置格式,mihomo 是持续维护的兼容内核,Clash Plus、Clash Verge Rev、FlClash 等则是负责导入配置、切换节点和展示日志的图形客户端。真正处理连接、DNS、规则匹配与 TUN 流量的是内核。排查故障时先分清是界面操作问题、配置内容问题,还是内核启动失败。
规则模式、全局模式和直连模式该怎么选?
日常使用优先选规则模式,流量会按 rules 从上到下匹配并进入 DIRECT、PROXY 或 REJECT。全局模式会把大多数连接交给当前代理组,适合临时确认节点本身是否可用,不适合长期替代规则。直连模式绕过代理,可用于快速判断故障是否由客户端配置引起。切换模式后应重新打开目标应用,避免旧连接继续复用。
系统代理和 TUN 模式有什么区别?
系统代理只接管遵循操作系统代理设置的程序,浏览器和多数桌面应用通常可以直接使用,但部分游戏、命令行工具和自行建立网络栈的程序会绕过它。TUN 模式通过虚拟网卡接管更广的 IP 流量,覆盖面更大,同时涉及管理员权限、路由表、DNS 劫持和其他虚拟网卡冲突。先用系统代理完成基础验证,再按需求启用 TUN,定位问题会更清楚。
订阅链接和配置文件有什么区别?
订阅链接是远端配置入口,客户端更新时会重新获取内容;配置文件是下载到本地后交给内核读取的 YAML 文档。一个订阅可能包含节点、代理组、规则和 DNS,也可能只提供节点并由客户端套用模板。直接修改订阅生成的本地文件通常会在下次更新时被覆盖。需要长期保留的自定义规则,应放进客户端支持的覆写、合并或脚本功能。
延迟测试数字为什么不等于实际网速?
延迟测试通常只测客户端经节点连接某个测试地址所需的握手时间,它不代表可用带宽、持续丢包、晚高峰拥塞或目标网站到节点的后半段路由。低延迟节点也可能吞吐不足,高延迟节点则可能在大文件传输时更稳定。选节点时先用延迟排除明显超时项,再结合网页打开、视频缓冲和持续下载表现判断。
安装配置
导入只是把文件拉下来。配置能否解析、是否被选中、内核有没有成功载入,要分三步确认。
Clash 订阅链接应该从哪里导入?
打开客户端的配置或 Profiles 页面,找到从 URL 导入、远程配置或新建订阅入口,粘贴完整链接后执行下载。导入成功后还要选中该配置,使它成为当前活动配置;只下载但没有切换,内核仍会使用旧文件。首次导入建议查看更新时间、代理组和节点列表是否出现,再打开日志确认配置载入完成。不要把订阅链接粘进节点名称或本地文件选择框。
导入订阅后为什么没有节点?
先看配置更新提示和内核日志。如果返回的是登录页面、错误页面或空内容,客户端无法把它解析为配置;如果 YAML 能下载但只有规则段,也不会生成节点。还要确认订阅地址没有被聊天软件截断,末尾参数和特殊字符仍然完整。尝试在浏览器访问链接只用于确认服务器是否响应,不要公开页面内容。确认链接有效后删除失败配置,重新导入并切换到新配置。
订阅更新失败或提示超时怎么处理?
先关闭系统代理测试订阅地址能否直连获取;如果只能经代理访问,再启用一个已经可用的旧配置后更新。检查系统时间、订阅有效期和服务端状态,时间偏差可能影响 HTTPS 连接。客户端设置了更新代理时,也要确认该代理组当前有可用节点。仍然超时可复制链接重新建立一份远程配置,用来排除旧条目的缓存、错误请求头或损坏元数据。
YAML 配置提示解析错误怎么定位?
先看日志给出的行号和列号,再检查该位置前一行,因为缩进或引号错误经常在下一行才被报告。YAML 使用空格缩进,不能混入制表符;冒号后通常需要空格,包含特殊字符的名称应正确引用。代理组引用的节点名必须与 proxies 中完全一致。修改前保留原文件,并优先使用客户端的配置检查功能;一次只改一处,避免多个语法问题叠在一起。
Windows 启用 TUN 时为什么要求管理员权限?
TUN 需要创建或控制虚拟网卡,并修改路由和 DNS,这些操作通常需要提升权限。先完全退出客户端,再使用管理员身份启动并重新打开 TUN;只提升设置窗口而没有重启内核通常不够。若客户端支持服务模式,可按其设置页安装服务后再启动。企业设备还可能受安全策略限制,此时应查看系统事件和客户端日志,不要连续重复安装虚拟网卡驱动。
使用技巧
规则命中、进程接管和 DNS 过滤都能从连接记录反推。先看事实,再改配置。
如何让命令行工具使用 Clash?
先确认客户端显示的 HTTP 或 mixed 监听地址与端口,常见本机地址是 127.0.0.1,但端口以当前配置为准。支持环境变量的工具可设置 HTTP_PROXY、HTTPS_PROXY 和 ALL_PROXY;只识别系统代理的工具可在开启系统代理后重新启动终端。使用 TUN 时多数程序不需要单独设置变量。排查时执行工具自己的详细日志参数,确认请求究竟走了环境变量、系统代理还是直连。
怎样给指定网站固定使用某个代理组?
在规则中把更具体的 DOMAIN 或 DOMAIN-SUFFIX 条目放到通用规则之前,并把策略字段指向已有代理组名称。例如目标域名规则必须排在 GEOIP、GEOSITE 或 MATCH 之前,否则流量会先命中前面的宽泛条件。修改后重新载入配置,并在连接记录中查看命中的规则和策略。订阅更新会覆盖原文件时,应通过覆写或规则合并功能保存这条自定义规则。
Fake-IP 模式下个别应用连接异常怎么办?
先在连接记录中确认应用访问的域名,再把不适合 Fake-IP 的域名加入 fake-ip-filter,随后清理系统 DNS 缓存并重启该应用。局域网设备发现、打印机、部分登录组件和依赖真实 DNS 返回值的程序更容易受影响。不要一开始就关闭整个 Fake-IP 模式;先做单域名排除,既能保留域名映射能力,也便于确认究竟是哪条解析链路出现兼容问题。
怎样判断一条连接命中了哪条规则?
打开客户端的连接或 Connections 页面,重新发起目标请求,查看域名、目标地址、进程、命中规则与最终策略。没有进程信息时,可用域名和时间点缩小范围。若结果总是 MATCH,说明前面的域名、IP 或规则集没有匹配;若命中规则正确但出口不对,继续检查该规则指向的代理组当前选择。旧连接不会自动重建,修改规则后应关闭原连接再测试。
如何临时让局域网设备连接本机 Clash?
在客户端中启用允许局域网连接,并确认监听地址不是仅限 127.0.0.1。其他设备的代理服务器应填写这台电脑的局域网 IP 和客户端实际监听端口,而不是填写 localhost。随后检查 Windows 防火墙是否允许该程序在当前网络类型中通信。只在可信局域网中开启,并避免把监听端口通过路由器直接暴露到公网;测试结束后可关闭局域网访问。
故障排查
推荐顺序:直连基线 → 流量入口 → 规则命中 → 节点连接 → DNS → TUN 路由。别同时改五项。
Clash 显示已连接但浏览器无法上网怎么排查?
按固定顺序检查:先切到直连模式确认本机网络正常,再切回规则模式并选择一个通过基础测试的节点;随后查看系统代理是否开启、浏览器是否使用独立代理扩展,以及连接记录里是否出现请求。没有请求通常是流量没进入客户端,有请求但失败则看命中策略和错误日志。最后关闭其他代理、加速器或抓包软件,避免多个程序同时修改系统代理和端口。
节点全部显示超时应该先查什么?
先确认当前配置不是空订阅,并核对系统日期和时间。再关闭 TUN,只保留普通系统代理测试,排除虚拟网卡和路由冲突。查看日志中的错误类型:连接拒绝通常指向节点地址或端口不可用,解析失败优先检查 DNS,证书或握手错误则检查时间、协议参数和配置是否完整。若所有节点同时失效,优先怀疑订阅状态、本地网络或 DNS,而不是逐个更换节点。
开启系统代理后仍有程序直连怎么办?
系统代理不是强制接管层,程序可以使用自己的代理设置、内置 DNS 或直接套接字绕过它。先重启目标程序,让它重新读取系统设置;再检查程序内部是否设为不使用代理。命令行工具需查看 HTTP_PROXY 等环境变量,游戏和部分商店应用则更适合用 TUN。连接页面完全看不到该程序请求时,说明流量没有进入内核,应从应用代理设置或 TUN 接管范围继续查。
Windows 商店或 UWP 应用不走系统代理怎么处理?
部分 UWP 应用受 AppContainer 网络隔离影响,无法直接访问本机回环代理。可使用客户端提供的 UWP 回环工具,为目标应用勾选回环豁免,然后完全关闭并重新启动该应用。不要一次勾选全部项目,先只处理实际需要的应用,便于撤销和定位。若客户端没有回环工具,可改用 TUN 模式接管流量;切换前先关闭其他虚拟网卡软件,避免路由冲突。
开启 TUN 后断网或 DNS 解析失败怎么恢复?
先关闭 TUN 和系统代理,再完全退出客户端,确认直连网络是否恢复。若仍不能解析,重连当前网络并刷新系统 DNS 缓存。重新启用时先保持默认路由与 DNS 设置,不要同时叠加自定义网卡、网络过滤器和多个虚拟专用网络工具。查看日志是否出现虚拟网卡创建失败、路由写入失败或端口占用。逐项恢复设置,比反复重装客户端更容易找到冲突源。
如何检查 Clash DNS 泄漏或解析路径异常?
先明确当前使用系统代理还是 TUN。系统代理模式下,未被接管的程序可能继续使用系统 DNS;TUN 配合 DNS 劫持时,覆盖范围通常更完整。检查客户端日志中的 DNS 请求、nameserver 与 fallback 配置,并确认浏览器没有启用独立的加密 DNS 设置干扰测试。一次只保留一套解析方案,清理缓存后重新访问新域名,避免缓存结果让判断失真。