Clash 常见问题与故障排查
从客户端、内核与配置的基本关系开始,逐步处理订阅导入、TUN 权限、系统代理、节点连接、DNS 和日志问题。建议先定位故障发生在哪一层,再修改对应设置。
基础认知
先区分客户端、内核、运行模式与配置来源,避免在错误的位置反复修改设置。
Clash、mihomo 内核与图形客户端是什么关系
mihomo 是负责解析配置、建立代理连接、执行规则匹配和处理 DNS 的内核。Clash Verge Rev、Clash Plus 等图形客户端提供订阅管理、策略选择、日志查看和系统代理开关,并在后台调用内核。客户端界面相近不代表所用内核完全相同,判断功能兼容性时应同时查看客户端说明、内核类型与配置语法。
规则模式、全局模式与直连模式有什么区别
规则模式会从上到下匹配配置中的规则,并把不同请求交给指定策略组、DIRECT 或 REJECT,适合日常使用。全局模式通常把流量统一交给 GLOBAL 策略组,便于临时测试节点。直连模式跳过代理转发,常用于确认问题是否来自客户端。切换模式不会自动改写订阅中的规则内容。
配置文件与订阅链接有什么区别
配置文件是客户端实际载入的 YAML 内容,通常包含代理、策略组、规则、DNS 与端口设置。订阅链接是获取远程配置的地址,客户端会按需下载并保存为本地配置。远程订阅更新可能覆盖本地修改,因此长期自定义规则时应使用覆写功能、合并配置或单独维护本地文件。
系统代理与 TUN 模式应该选哪个
系统代理适合浏览器和主动读取操作系统代理设置的应用,启用与关闭都较直接。TUN 模式通过虚拟网络接口接管更广范围的流量,适合不遵循系统代理的应用、命令行工具或部分游戏。首次使用建议先验证系统代理,再按需要启用 TUN;两者同时开启时还要留意路由、DNS 和其他网络工具之间的冲突。
安装配置
围绕平台选择、订阅解析、系统权限与 Windows 应用回环完成首次配置。
Windows、macOS、Android、iOS 与 Linux 应该选择哪个客户端
先按操作系统选择仍在维护并支持当前架构的客户端。Windows 需要区分常见的 x64 环境,macOS 需要区分 Apple Silicon 与 Intel,Android 安装包则可能按 ARM 架构拆分。普通用户优先选择带图形界面、订阅管理和系统代理控制的客户端;服务器与路由器场景才更适合直接运行 mihomo 内核。
订阅链接导入后提示无效或解析失败怎么办
先在服务提供方页面确认链接仍有效且没有复制到多余空格,再用浏览器检查该地址能否返回内容。若返回登录页、错误页或空白内容,问题通常在订阅地址或账户状态;若能返回内容但客户端解析失败,应检查格式是否为 Clash 或 mihomo 可识别的 YAML。也可先关闭代理重新拉取,避免旧规则让订阅请求绕到不可用出口。
启用 TUN 模式时提示权限不足怎么处理
TUN 模式需要创建虚拟网络接口并修改系统路由,因此通常需要管理员权限。Windows 可按客户端说明安装服务模式或以管理员身份完成首次配置;macOS 需要批准网络扩展或输入系统凭据;Linux 需要检查 CAP_NET_ADMIN、设备权限与服务配置。权限授予后应完全退出客户端并重新启动,再确认虚拟接口是否成功创建。
Windows 的 UWP 应用无法使用代理怎么办
部分 UWP 应用默认受到回环访问限制,即使系统代理已开启,也可能无法连接本机监听端口。可使用客户端提供的 UWP 回环工具,为目标应用勾选回环豁免后保存。若客户端没有该入口,可通过 Windows 的 CheckNetIsolation 工具处理。修改后重新启动目标应用,并确认 Clash 的混合端口与系统代理端口一致。
使用技巧
更新配置、理解测试结果、核对规则命中,并让 DNS 设置与分流路径保持一致。
怎样正确更新订阅并保留本地设置
在配置或订阅页面选择对应项目执行更新,等待下载完成后再切换或重新载入该配置。节点、策略组和远程规则通常随订阅一起更新,而客户端级设置一般单独保存。直接编辑订阅生成的 YAML 容易在下次更新时被覆盖,需要长期保留的 DNS、规则和策略调整应放入客户端支持的覆写、脚本或合并配置中。
延迟测试超时是否代表节点一定不可用
不一定。延迟测试依赖指定的测试地址、超时时间和当前网络环境,测试地址被拦截、DNS 解析失败或节点禁止探测时也会显示超时。可先切换到该节点,再访问稳定的 HTTPS 页面并查看连接日志。如果实际请求成功而测试仍超时,应更换测试地址;如果实际连接也失败,再检查节点信息、设备时间与网络限制。
Clash 规则为什么没有按预期命中
规则按配置中的顺序从上到下匹配,命中第一条后通常不再继续。较宽泛的 DOMAIN-SUFFIX、GEOIP 或 GEOSITE 规则如果放得过早,可能覆盖后面的精确规则。排查时先在连接详情中查看目标域名、解析后的地址、命中规则和最终策略,再调整规则顺序。新增自定义规则还要确认已载入修改后的配置,而不是仍在使用旧配置。
怎样减少 Clash 使用中的 DNS 泄漏与解析异常
应让域名解析路径与分流策略保持一致。启用客户端 DNS 后,确认 nameserver、proxy-server-nameserver、fallback 或 nameserver-policy 的用途清晰,并避免系统中另一个 DNS 工具重复接管请求。TUN 场景还要检查 DNS 劫持与虚拟网卡配置。出现解析异常时先比较系统解析和客户端日志中的结果,再清理系统 DNS 缓存并重新载入配置。
故障排查
按照请求是否进入客户端、规则是否命中、节点是否连接的顺序缩小问题范围。
开启系统代理后浏览器仍然无法访问怎么办
先确认客户端正在运行、配置已载入,并且系统代理指向客户端当前监听的地址和端口。随后检查浏览器是否使用独立代理设置、扩展程序或安全软件覆盖了系统设置。可访问本地端口确认监听状态,再查看 Clash 日志中是否出现浏览器请求。日志完全没有请求时重点排查浏览器与系统代理;有请求但失败时再检查规则、节点和 DNS。
节点连接超时应该按什么顺序排查
先切换同一订阅中的其他节点,判断是单节点问题还是全部节点都失败。随后更新订阅,检查节点服务器地址能否解析、设备日期与时区是否正确,并暂时关闭其他代理或 VPN 工具。若所有节点都超时,可换一个基础网络测试;若只有特定协议失败,应检查客户端内核是否支持该协议及其参数。最后结合日志中的 DNS、connect timeout 或 handshake 信息定位阶段。
TUN 模式显示已开启但设备无法联网怎么办
先关闭 TUN,确认基础网络和系统代理模式是否正常,再重新启用以缩小范围。重点检查虚拟网卡是否建立、默认路由是否被其他 VPN 或安全软件改写、DNS 是否指向可用解析器,以及局域网网段是否被错误接管。Windows 还可检查服务模式状态,macOS 可重新批准网络扩展。修改配置后应退出相关网络工具并重启客户端。
怎样通过日志判断端口冲突、DNS 错误与规则问题
启动阶段出现 address already in use,通常表示混合端口或控制端口已被其他进程占用,需要关闭占用程序或更换端口。请求阶段出现 DNS timeout、no such host 或解析服务器错误,应检查 DNS 配置和当前网络。连接记录中能看到规则名与策略组时,可判断流量是否走错分支;出现 connect timeout 或 handshake failed,则继续检查节点连通性、协议参数和设备时间。