先分清客户端、配置与核心
Clash Plus、Clash Verge Rev、FlClash 等桌面程序属于客户端外壳,负责展示界面、管理配置并调用代理核心。真正执行规则匹配、DNS 解析、连接转发和 TUN 接管的通常是 Mihomo 核心。不同客户端的侧栏图标、菜单名称和排列顺序会变化,但核心工作仍可归为四块:代理页决定流量交给哪个策略,配置页决定加载哪套规则,连接页展示正在发生的会话,日志页记录核心如何处理这些会话。
理解这层分工后,操作顺序就很清楚:先在配置页导入并启用订阅,再到代理页确认运行模式和策略组选择,然后打开系统代理或 TUN,最后用连接页与日志页验证结果。只在代理页反复切换节点,却不确认当前配置和接管方式,是新手最常见的无效操作之一。
| 界面区域 | 主要对象 | 最常做的操作 | 不负责的事项 |
|---|---|---|---|
| 代理页 | 运行模式、策略组、节点 | 选择节点、切换策略、测试延迟 | 更新订阅内容 |
| 配置页 | 本地 YAML、远程订阅、配置提供者 | 导入、更新、启用配置 | 判断单条连接命中了什么规则 |
| 连接页 | 当前 TCP、UDP 会话 | 查看目标地址、规则、代理链与流量 | 保存完整的长期诊断记录 |
| 日志页 | 核心运行事件 | 查 DNS、规则、拨号与配置错误 | 代替订阅编辑器 |
| 设置页 | 系统代理、TUN、端口、核心参数 | 决定应用如何接管流量 | 替代代理页选择策略组 |
代理页:模式、策略组与节点选择
代理页不是简单的服务器列表。它展示配置文件中的 proxy-groups,每个分组都有自己的职责。例如“节点选择”可能是手动选择组,“自动选择”可能是 url-test 组,“故障转移”可能是 fallback 组。最终连接走哪条路径,取决于运行模式、规则命中结果、策略组嵌套关系和当前选项。
三种运行模式分别处理什么
- Rule:按配置中的规则从上到下匹配。域名可能命中
DOMAIN-SUFFIX,IP 可能命中IP-CIDR,未命中的流量最终进入MATCH。这是日常使用最常见的模式。 - Global:大部分连接统一交给全局策略组,不再按普通规则逐条分流。它适合临时确认某个网站是否能经指定节点访问,不适合长期替代规则模式。
- Direct:连接通常直接发往目标,不经过代理节点。它可用于对照测试本地网络,但开启后即使代理页选中了节点,业务流量也可能仍显示为
DIRECT。
如果网页始终直连,第一步应检查页面顶部或设置区当前是不是 Direct 模式;如果所有网站都走同一个节点,再检查是否误切到 Global。客户端重启后一般会恢复上次状态,所以排查时不能只凭记忆判断当前模式。
策略组类型决定选择方式
| 组类型 | 界面行为 | 适用场景 |
|---|---|---|
select |
由用户手动选择节点或下一级策略组 | 固定地区、固定线路、手动控制 |
url-test |
按测试地址的延迟结果自动选择 | 从同类节点中选择响应较快者 |
fallback |
优先使用可用列表中靠前的节点 | 主线路故障后切换备用线路 |
load-balance |
按配置策略分配连接 | 多节点连接分散,不等同于带宽叠加 |
延迟数字只反映测试 URL 在当次检测中的响应时间。显示 80 ms 的节点不一定比 120 ms 的节点下载更快,因为实际速度还受出口带宽、丢包、目标站点位置和拥塞影响。测试失败也不一定代表节点完全失效:测试地址被拦截、DNS 解析失败或提供者尚未更新,都可能让结果显示超时。
配置页:订阅导入、更新与启用状态
配置页管理的是完整运行输入。远程订阅通常下载为 Clash YAML 配置,其中可能包含端口、DNS、节点、策略组、规则和规则提供者。部分服务只返回通用 Base64 节点列表,这类内容不能保证能被 Clash 配置页直接解析;导入时报“格式错误”或只出现节点、不出现规则组时,应先确认订阅格式。
导入成功不等于已经启用
多数客户端允许同时保存多份配置。导入新订阅后,还需要点击配置卡片、单选标记或“启用”按钮,使它成为当前配置。判断是否切换成功,可以回到代理页观察策略组名称是否变化,也可以在日志页寻找配置重新加载记录。若新旧订阅包含同名策略组,仅看代理页标题不够,应核对配置页的选中标记与更新时间。
- 打开「配置」或「Profiles」页面。
- 在订阅输入框粘贴以
https://开头的完整地址。 - 点击“导入”“下载”或加号按钮,等待解析完成。
- 选中新出现的配置卡片,将其设为当前配置。
- 点击更新按钮,确认更新时间发生变化。
- 返回代理页,检查策略组和节点是否按预期出现。
自动更新与本地修改的边界
常见自动更新间隔为 24 小时,也有客户端允许设置为 6、12 或 48 小时。更新时间只表示客户端尝试拉取订阅,不代表上游内容一定变化。若服务器返回 401 或 403,通常应检查订阅是否过期、鉴权参数是否完整;若返回超时,则继续检查 DNS、当前网络和订阅域名是否可达。
直接编辑远程订阅生成的 YAML 时要注意覆盖关系。下一次更新可能用远程版本替换本地改动。需要长期保留自定义规则时,可复制为本地配置,或使用客户端提供的覆写、脚本、Merge、Mixin 功能。具体入口可能位于「配置」→「覆写」或「设置」→「配置管理」。修改前保留一份可正常加载的配置,以便在语法错误时回退。
mixed-port: 7890
mode: rule
log-level: info
allow-lan: false
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,节点选择
上例中的 mixed-port: 7890 表示 HTTP 与 SOCKS 入站共用 7890 端口,但这只是常见配置,不是固定值。客户端设置页显示的实际端口优先于教程截图。手动给浏览器、终端或其他应用填代理时,应读取当前运行配置,不能默认所有客户端都使用 7890。
连接页:确认流量究竟走到哪里
连接页是最直接的运行证据。它通常展示来源地址、目标主机、目标 IP、网络类型、上传下载量、命中规则、策略组和代理链。浏览器访问一个网页时会同时产生多个连接:主文档、图片、脚本、字体、统计接口可能分别访问不同域名,所以列表里出现十几条会话并不异常。
重点查看四个字段
- Host 或目标域名:确认正在查看的连接是否属于目标应用。只有 IP 而没有域名时,可能是应用直接访问 IP,也可能是域名嗅探未取得结果。
- Rule:显示命中的规则类型,例如
DOMAIN-SUFFIX、GEOSITE、IP-CIDR或MATCH。规则载荷通常会在相邻字段显示。 - Chains:展示策略组到最终出口的链路,例如“国外网站 → 自动选择 → HK-01”。最终为
DIRECT时表示直连,为REJECT时表示被规则拒绝。 - Network:区分 TCP 与 UDP。网页主体多使用 TCP 或基于 UDP 的 QUIC,语音、游戏和 DNS 也可能产生 UDP 会话。
排查规则时,可以先清空筛选条件,再在搜索框输入目标域名。重新打开网页后观察新连接。如果预期走代理却命中 DIRECT,继续核对规则顺序:Clash 通常从上到下匹配,先命中的规则生效。把一条自定义规则放在宽泛的直连规则之后,即使语法正确也不会被执行。
连接页还可用于判断切换节点是否生效。假设旧链路是“节点选择 → JP-01”,切换为 SG-02 后,已有长连接仍可能显示 JP-01,而新建连接显示“节点选择 → SG-02”。这是连接复用带来的正常现象。点击“关闭全部连接”会中断当前会话,正在下载的文件、远程终端和在线会议也会一起受影响。
日志页:从症状定位到具体环节
日志页记录核心启动、配置加载、DNS 查询、规则匹配、代理拨号和错误事件。连接页适合回答“这一条流量走了哪里”,日志页适合回答“为什么没有建立连接”。排查时先保持 info 级别;只有普通日志信息不足时,再临时切换到 debug。调试级别产生的信息更多,完成定位后应恢复为 info。
常见日志关键词与处理方向
| 日志片段 | 通常表示 | 下一步 |
|---|---|---|
connection refused |
目标端口主动拒绝连接 | 检查节点地址、端口及服务状态 |
i/o timeout |
连接或读取在时限内未完成 | 切换网络或节点,检查丢包与目标可达性 |
no such host |
域名解析失败 | 检查 DNS 配置、上游服务器与网络权限 |
address already in use |
监听端口被其他进程占用 | 关闭占用程序或修改 mixed、HTTP、SOCKS 端口 |
proxy provider 更新失败 |
节点提供者文件未成功获取 | 检查 provider URL、更新间隔和访问路径 |
| YAML 行号或字段错误 | 配置语法或字段结构不能解析 | 回到配置页恢复副本,再检查缩进与字段层级 |
复制日志用于求助前,应检查其中是否包含订阅 URL、节点服务器地址、认证参数、局域网 IP 或访问域名。比起整页粘贴,更有效的方法是保留故障发生前后约 20 至 50 行,并说明操作时间、客户端名称、核心版本、运行模式和接管方式。
设置页:系统代理、TUN 与端口如何配合
代理页选好节点后,流量仍需进入核心。系统代理和 TUN 是两条常见接管路径。系统代理由客户端把操作系统的 HTTP、HTTPS 或 SOCKS 代理指向本地端口,浏览器等遵循系统设置的程序会使用它;终端工具、游戏和部分独立网络栈可能不读取系统代理。
TUN 模式通过虚拟网络接口接管更广范围的流量,适合不读取系统代理的程序,也更依赖系统权限、路由和 DNS 配置。Windows 上启用 TUN 时,客户端可能要求管理员权限或安装服务模式。系统代理与 TUN 可以由客户端协调使用,但排查阶段应明确当前依赖哪一种,避免同时修改多个变量。
需要记住的本地端口
7890:常见 mixed 端口,可同时接受 HTTP 与 SOCKS 连接;实际值以设置页为准。7891:部分旧配置用作 SOCKS 端口,但新配置未必保留这种分配。9090:常见 external controller 端口,供客户端界面连接核心控制接口使用,不是给浏览器填写的代理端口。53:标准 DNS 端口。TUN 与增强 DNS 配置可能通过内部监听或转发处理查询,不应仅凭端口号判断是否生效。
出现“客户端显示运行中,但网页打不开”时,可按「设置」→「端口设置」核对 mixed 端口,再检查系统代理地址是否为 127.0.0.1 与同一端口。若日志显示 address already in use,说明端口监听失败;此时即使系统代理开关亮着,应用也无法把请求交给核心。
一套稳定的日常操作路径
熟悉界面后,不需要每次把所有页面都检查一遍。正常使用可以压缩为固定流程,发生异常时再沿着流量路径逐层回查。
- 配置页:确认订阅更新时间和当前启用配置。订阅变更后先更新,再观察是否出现新的策略组。
- 代理页:使用 Rule 模式,选择需要的策略组或节点。延迟测试只作为可用性参考。
- 设置页:根据应用类型开启系统代理或 TUN,并核对本地监听端口。
- 连接页:访问目标网站,按域名过滤新会话,查看规则与代理链。
- 日志页:连接未建立时,按发生时间查 DNS、超时、拒绝连接或配置错误。
例如浏览器可以访问,终端命令却直连,优先检查终端是否读取系统代理,或改用 TUN;如果所有应用都没有连接记录,优先检查系统代理、TUN 和端口监听;如果连接页有记录但链路为 DIRECT,回到代理模式与规则顺序;如果链路已经到指定节点但仍超时,再查节点可达性、DNS 和目标站点状态。