FAQ / TROUBLESHOOTING

Clash 常见问题与故障排查

按配置链路定位问题:先确认客户端与内核状态,再检查订阅、监听端口、系统代理、TUN 路由和 DNS。每条答案都给出可以直接执行的检查顺序。

TRACK 01

基础认知

先区分客户端、内核、配置和运行模式,避免把界面问题、内核问题与线路问题混在一起处理。

Clash、Clash Meta 和 mihomo 是什么关系?

Clash 通常指规则代理工具及其客户端生态。原版 Clash 内核已经停止维护,Clash Meta 是在原有配置体系上扩展功能的分支,后来使用 mihomo 名称继续维护。当前不少桌面和移动客户端实际调用 mihomo 内核,但界面仍沿用 Clash 生态名称。

客户端和内核有什么区别?

内核负责监听端口、建立代理连接、执行 DNS 解析和匹配分流规则;客户端负责提供图形界面、订阅管理、系统代理开关和日志查看。安装图形客户端时通常已经包含适配内核,服务器或路由器部署才常见单独运行 mihomo。

订阅链接和本地 YAML 配置有什么区别?

订阅链接由服务提供方维护,客户端可按地址重新拉取节点和策略组;本地 YAML 文件由用户直接保存和编辑,适合固定规则、实验配置或离线管理。订阅更新可能覆盖直接修改的内容,需要长期保留的改动应放入客户端支持的覆写或合并配置中。

Rule、Global 和 Direct 模式分别适合什么场景?

Rule 模式按 YAML 中的规则逐条判断流量去向,适合日常使用;Global 模式把大多数流量交给同一个代理策略,常用于短时测试节点;Direct 模式让流量直接连接,适合确认问题是否由代理链路引起。完成测试后通常应切回 Rule 模式。

mixed-port、port 和 socks-port 应该怎样选择?

mixed-port 同时接受 HTTP 与 SOCKS5 连接,桌面端手动配置应用代理时较方便。port 只提供 HTTP 代理,socks-port 只提供 SOCKS5 代理。端口号可以调整,但必须避开其他程序占用,并让浏览器、终端或系统代理填写与客户端实际监听一致的地址。

TRACK 02

安装配置

从系统架构、配置导入和权限授予开始检查,确保客户端能够加载配置并启动对应内核。

Windows、macOS 和 Android 应该选择哪类客户端?

优先选择仍在维护且适配当前系统架构的客户端。Windows 需要区分常见的 x64 环境,macOS 需要确认 Intel 或 Apple Silicon,Android 则需要根据设备架构和系统版本选择安装包。普通用户通常使用图形客户端,服务器用户再考虑单独部署 mihomo。

导入订阅后为什么看不到节点?

先确认导入的是完整订阅地址,而不是服务后台页面地址。随后查看配置更新记录和内核日志:网络错误通常表示地址无法访问,解析错误通常表示返回内容不是有效 YAML,节点列表为空则可能是订阅内容或客户端兼容性问题。可用浏览器访问地址确认是否发生登录跳转。

本地 YAML 配置文件应该放在哪里?

不同客户端的配置目录并不统一,建议从客户端的配置、Profiles 或打开配置目录入口定位,而不是按网上旧路径直接复制。导入前保留原始文件,并确认扩展名是 .yaml 或 .yml。手动编辑后先执行配置检查,再重载内核,避免缩进错误导致启动失败。

开启 TUN 模式为什么需要管理员或系统权限?

TUN 模式需要创建虚拟网络接口并修改系统路由,因此 Windows 可能要求管理员权限,macOS 会请求安装网络扩展或辅助组件,Android 会显示 VPN 授权窗口。权限被拒绝时,客户端界面可能显示已开启,但流量不会进入 TUN 接口,应重新授权后再检查路由状态。

macOS 提示应用无法打开时怎样处理?

先确认安装包与 Mac 芯片架构匹配,再把应用移动到应用程序目录。若系统安全设置阻止启动,可在系统设置的隐私与安全性页面查看被拦截记录,并依据系统提示确认打开。不要同时保留多个同名旧版本,以免登录项或辅助组件仍指向旧路径。

TRACK 03

使用技巧

系统代理、TUN 和应用内代理的接管范围不同,应通过连接记录确认目标程序实际采用的网络路径。

开启系统代理后浏览器仍然直连怎么办?

先查看系统网络设置中的 HTTP、HTTPS 或 SOCKS 代理是否已经写入当前地址与端口,再确认客户端监听端口没有变化。部分浏览器、游戏和命令行工具使用独立代理设置,不读取系统代理;这类程序需要单独填写代理地址,或在确认兼容后使用 TUN 模式接管流量。

Windows 的 UWP 应用无法通过代理怎样处理?

部分 UWP 应用受回环访问限制,无法连接本机的 Clash 监听端口。可使用客户端提供的 UWP 回环工具,为需要联网的应用启用 Loopback Exemption,然后重新启动应用。只勾选确实需要访问本地代理的项目,系统更新或应用重装后可能需要再次检查。

怎样让局域网设备使用电脑上的 Clash?

在客户端中开启允许局域网连接,并确认监听地址不是仅限 127.0.0.1。其他设备应把代理服务器填写为电脑的局域网地址和 Clash 监听端口,同时确保两台设备位于可互访的网络。若连接被拒绝,再检查系统防火墙是否允许该端口的入站访问。

更新订阅时怎样保留自定义规则?

不要直接把长期规则写进会被订阅刷新替换的配置主体。优先使用客户端提供的覆写、合并脚本或扩展配置,把自定义 DNS、策略组和规则作为独立层应用。更新后检查规则顺序与策略组名称是否仍能对应,并保留一份可正常启动的旧配置用于回退。

切换代理模式后为什么结果没有变化?

先确认模式切换已经提交给当前运行内核,而不是只改变界面选项。随后关闭目标应用的既有连接并重新访问,因为浏览器连接池、DNS 缓存和 QUIC 会话可能继续复用旧链路。仍无变化时查看实时连接记录,确认流量是否实际进入 Clash 以及命中了哪条规则。

TRACK 04

故障排查

从直接连接基线开始,再按订阅、节点、端口、DNS 和虚拟网卡逐层缩小范围,避免同时修改多项配置。

Clash 订阅更新失败时先检查什么?

先核对订阅地址是否完整、是否过期以及是否被复制出空格,再查看更新日志中的 HTTP 状态和解析信息。连接超时应检查当前网络或临时使用可工作的代理更新;返回登录页说明地址需要重新获取;YAML 解析失败则应检查服务返回格式和客户端内核兼容性。

所有节点都显示超时应该怎样排查?

先切换 Direct 模式确认本地网络可以正常访问互联网,再检查系统时间、客户端日志和订阅是否有效。若所有节点同时失败,常见原因是网络阻断、DNS 解析异常、内核未启动或防火墙拦截;若只有部分节点失败,则更可能是节点维护、协议参数或线路质量问题。

怎样判断并减少 Clash DNS 泄漏?

先确认配置中的 dns.enable 已启用,并检查 nameserver、fallback 或 nameserver-policy 是否符合分流目标。浏览器的安全 DNS、系统加密 DNS和其他网络工具可能绕过 Clash,应避免多套解析机制相互覆盖。修改后清理系统与浏览器 DNS 缓存,再结合连接日志核对查询去向。

启动时报端口被占用怎样处理?

端口占用表示另一个进程已经监听相同端口,常见于重复启动客户端、旧内核未退出或其他代理工具仍在运行。先完全退出相关程序并在任务管理器或活动监视器中确认残留进程;确需同时运行时,可修改 mixed-port、port 或 socks-port,并同步更新系统代理设置。

开启 TUN 后无法上网或局域网失联怎么办?

先关闭 TUN 确认基础网络恢复,再检查虚拟接口权限、默认路由、DNS 配置和其他 VPN 软件是否冲突。局域网设备失联时应检查路由排除项与私有地址规则,避免把网关、打印机或 NAS 流量错误送入代理。每次只修改一项并重新启动内核,便于定位原因。

Android 锁屏后连接中断怎样改善?

在 Android 系统设置中允许客户端后台运行,并把电池策略调整为不限制或对应厂商提供的后台保活选项。确认 VPN 常驻通知存在,避免清理任务时结束客户端。若只在 Wi-Fi 与移动网络切换后断开,可重新连接并查看日志中是否出现网络接口变化或 DNS 超时。