FAQ · 故障定位

Clash 常见问题
与故障排查

围绕订阅、配置、系统代理、TUN、DNS 与节点连接整理。每条答案先给判断依据,再给可执行的检查顺序。

01 · Fundamentals

基础认知

先区分客户端界面、代理内核、配置文件和系统网络设置,避免在错误层级反复修改。

Clash、Mihomo 内核与 Clash 客户端是什么关系?

Mihomo 是负责代理协议、规则匹配、DNS 与连接转发的内核,Clash Plus、Clash Verge Rev、FlClash 等客户端在其外部提供配置导入、策略切换和系统代理控制界面。排查问题时要区分界面故障、配置错误和内核连接错误;只有后两类通常会出现在运行日志中。

Clash 配置文件与订阅链接有什么区别?

配置文件是客户端实际加载的 YAML 内容,通常包含代理节点、策略组、规则、DNS 和端口字段。订阅链接是获取配置文件的地址,更新订阅会重新下载并替换对应 Profile。修改订阅生成的本地副本前,应先确认客户端更新时是否会覆盖改动;需要长期保留的规则更适合放在覆写或合并配置中。

规则、全局和直连模式分别适合什么场景?

规则模式按照配置中的 rules 从上到下匹配,适合日常使用;全局模式把流量交给同一个代理策略,适合短时间验证节点是否可用;直连模式跳过代理,适合检查问题是否由 Clash 链路引起。排障时可以先在全局与直连之间切换,用结果判断故障位于节点、规则还是本地网络。

系统代理与 TUN 模式有什么区别?

系统代理只接管遵循操作系统代理设置的应用,浏览器和多数桌面应用通常可以使用,但部分游戏、命令行程序和商店应用可能绕过。TUN 模式通过虚拟网络接口接管更广范围的流量,也需要额外系统权限。一般先使用系统代理;确认存在应用绕过后,再启用 TUN 并检查路由和 DNS 设置。

Fake-IP 与 Redir-Host 模式应该怎样选择?

Fake-IP 会为域名返回保留地址并由 Clash 维护域名映射,规则匹配效率较高,适合大多数常规配置。Redir-Host 返回真实解析结果,兼容依赖局域网发现、特殊域名校验或固定解析结果的应用。遇到打印机、投屏、企业内网或部分游戏异常时,可先把相关域名加入 fake-ip-filter,而不是直接更换整个 DNS 模式。

02 · Setup

安装配置

安装阶段的问题通常来自系统架构、配置内容、权限状态或旧客户端残留。

macOS 提示无法打开或无法验证开发者时怎样处理?

先确认安装包来源和适用架构,然后在访达的应用程序目录中对客户端按住 Control 键点击并选择打开。若系统仍拦截,可前往系统设置的隐私与安全性页面,在对应提示下选择仍要打开。Apple Silicon 设备应优先选择 arm64 或 Apple Silicon 构建,Intel 设备选择 x64 构建,避免因架构不符导致启动后立即退出。

订阅链接导入失败或提示订阅失效怎么办?

先在浏览器中访问订阅地址,确认服务器返回的是 YAML 配置而不是登录页、错误页或空内容。随后检查链接是否被复制截断、账户是否到期、流量是否用尽,以及订阅服务是否限制访问网络。浏览器可访问但客户端失败时,检查客户端更新订阅是否错误地经过当前代理,并尝试暂时关闭系统代理后重新拉取。

macOS 启用 TUN 时反复要求权限或创建接口失败怎么办?

TUN 需要安装并启用网络扩展或辅助服务。先退出客户端,再到系统设置的隐私与安全性、登录项与扩展中确认相关组件获得许可,然后重新启动客户端。升级 macOS 或迁移客户端后仍失败,可在客户端内移除旧服务并重新安装。不要同时运行两个会创建 TUN 接口的代理客户端,否则路由和扩展状态可能互相覆盖。

Windows 商店应用无法使用代理,UWP 回环怎样处理?

部分 UWP 应用默认不能访问本机回环代理,因此浏览器正常而 Microsoft Store 等应用连接失败。可使用客户端提供的 UWP Loopback 工具勾选目标应用,或以管理员终端执行 CheckNetIsolation LoopbackExempt 命令并指定应用包族名称。修改后重启目标应用;如果使用 TUN 模式,则先确认问题是否已经由 TUN 接管解决。

升级或更换 Clash 客户端时怎样保留配置?

升级前记录订阅地址、当前 Profile、策略组选择、覆写规则和自定义 DNS 设置,并导出客户端支持的备份文件。不同客户端的数据目录和字段兼容范围并不完全一致,不建议直接覆盖整个旧数据目录。更稳妥的流程是先安装新客户端,重新导入订阅,再逐项迁移覆写内容,确认连接正常后再移除旧客户端。

03 · Operation

使用技巧

通过连接记录、配置字段和可重复的测试方法判断实际流量路径。

怎样确认某个网站命中了哪条 Clash 规则?

打开客户端的连接记录或日志页面,重新访问目标网站,查看域名、目标地址、规则类型和最终策略组。规则按配置文件中的顺序从上到下匹配,较宽泛的 DOMAIN-SUFFIX 或 GEO 类规则可能提前截获请求。若结果不符合预期,应把更具体的 DOMAIN 规则放到宽泛规则之前,并在更新订阅后再次确认覆写顺序。

延迟测试数值较低,为什么实际访问仍然很慢?

客户端延迟测试通常只测量到指定测试地址的一次 HTTP 请求耗时,不能完整反映丢包、晚高峰拥塞、线路带宽、目标网站位置和连接复用情况。判断节点质量时应同时观察多次测试稳定性、实际下载速度和目标网站响应。一个稳定在较高延迟的节点,实际体验可能优于数值较低但频繁超时的节点。

mixed-port、port 和 socks-port 应该怎样设置?

mixed-port 同时接受 HTTP 和 SOCKS5 连接,适合只想维护一个本地端口的场景;port 只提供 HTTP 代理;socks-port 只提供 SOCKS5 代理。应用手动填写代理时,协议和端口必须对应。若客户端已用 mixed-port 7890,其他程序就不能再监听同一地址和端口;修改后还要同步更新系统代理或应用内的代理设置。

怎样检查 Clash 是否存在 DNS 泄漏或解析路径错误?

先确认配置中的 dns.enable 已开启,并检查 nameserverproxy-server-nameserverfallback 等字段是否符合当前内核语法。随后分别在直连和代理状态下查询同一域名,对比系统解析结果、Clash 日志中的 DNS 请求和实际连接目标。若应用启用了自己的加密 DNS,它可能绕过系统与 Clash DNS,需要在应用中关闭该功能或通过 TUN 和规则明确接管。

多个订阅和本地配置应该怎样管理?

为每个 Profile 使用能识别来源和用途的名称,并保留独立的更新时间与覆写配置。订阅内容适合由服务端更新,本地规则适合放在单独文件或客户端的 Merge、Override 功能中。切换 Profile 后要重新检查策略组,因为不同配置可能使用同名策略但包含不同节点。删除旧配置前,先确认没有自动化脚本或系统服务仍引用它。

04 · Troubleshooting

故障排查

从可恢复的最小状态开始,按网络、端口、节点、规则、DNS 和路由顺序定位。

已经开启系统代理,但浏览器和应用仍然直连怎么办?

先在系统网络设置中确认代理地址指向 127.0.0.1,端口与 Clash 当前监听端口一致。再检查浏览器是否使用独立代理扩展、应用是否忽略系统代理,以及自动代理脚本是否覆盖了手动设置。macOS 可切换一次当前网络服务,Windows 可关闭后重新开启代理设置。仍然直连时,通过连接记录确认请求是否到达 Clash。

Clash 显示已连接,但所有网页都打不开怎样排查?

按本地网络、端口监听、节点可用性、规则匹配和 DNS 的顺序检查。先关闭代理确认网络本身可用,再切换到全局模式并选择一个已通过测试的节点。若全局模式仍失败,查看日志中的 timeoutconnection refused 或 DNS 错误;若全局可用而规则模式失败,则重点检查 MATCHGEOIP 和策略组选择。

所有节点测试都显示超时应该检查什么?

所有节点同时超时通常不只是单个节点故障。先确认订阅内容已更新且节点字段完整,再检查本机时间、网络防火墙、代理链设置和当前网络是否限制相关连接。关闭 TUN 与系统代理后重新测试一次,可排除路由循环。如果只有某一种协议全部失败,应查看内核版本是否支持该协议及其字段,而不是反复切换同一批节点。

启用 TUN 后网络断开或局域网设备不可访问怎么办?

先关闭 TUN 确认网络恢复,再检查自动路由、严格路由、DNS 劫持和局域网绕过规则。家庭网段通常需要保留直连,例如 192.168.0.0/1610.0.0.0/8172.16.0.0/12。若同时运行虚拟机、VPN 或容器工具,还要检查它们创建的网卡和路由优先级。逐项启用功能比一次修改多个字段更容易定位冲突。

启动 Clash 时提示端口被占用怎样处理?

先完全退出其他代理客户端,并确认旧的 Clash 内核进程没有残留。macOS 和 Linux 可用 lsof -i 查询端口占用,Windows 可用 netstat -ano 查找监听端口及进程编号。确认占用来源后,可以结束旧进程,或把 mixed-portsocks-portredir-port 等字段改为未使用端口。修改端口后必须同步更新系统代理和手动配置的应用。