CClash 中文社区选择客户端 ↗
首页/博客
操作教程

Clash 直连模式怎样用于排查

Clash 直连模式怎样用于排查。了解适用条件、操作步骤与常见问题的排查方法。

编辑部 · 更新 2026-10-04

排查访问失败时,需要把“规则或代理把流量送错”和“本机到目标本身不通”分开。手册在全局配置中把运行模式定义为三项:rule 是规则匹配,global 是全局代理(需要在 GLOBAL 策略组选择代理/策略),direct 是全局直连。该项拥有默认值,默认为规则模式。用于排查时,应让正在运行的内核加载 mode: direct,使出站不再按规则选路,也不再依赖 GLOBAL 策略组中的节点,只观察全局直连能否完成连接。

适用条件

在同时满足下列条件时,用全局直连做对照才有意义:目标在当前网络里按理可以不经代理访问;故障主要出现在 mode 为 rule 或 global 的时候;你需要排除“策略组选了不可用出站”这类原因。若流量从未进入 Clash 的代理端口,改 mode 不会改写系统协议栈,对照无效。若目标必须经特定代理出口才能到达,直连的成败只能说明直连路径,不能证明规则写错。也不要把 global 当成直连:前者仍要在 GLOBAL 策略组里选择代理或策略,后者才是全局直连。

操作步骤

第一步,打开内核实际使用的配置,定位 mode。字段缺省时按默认规则模式运行,并不是直连。第二步,把值改为 direct,并确认该文件已被当前进程加载;只改未加载的副本会导致后续判断全部落空。第三步,排查期间不要一并修改 interface-name、routing-mark、ipv6、find-process-mode 等出站相关项,避免一次引入多个变量。第四步,用原来失败的目标重新发起连接。第五步,把 log-level 设为 info 或 debug。手册写明日志仅在控制台和控制页面输出:silent 不输出;error 仅输出严重到无法使用的内容;warning 还包含不影响运行的错误;info 含一般运行内容;debug 尽可能输出运行中所有信息。没有足够日志时,无法把“模式已切换”和“连接仍失败”放在同一条证据链上。

判断依据与失败时下一步

切到全局直连后访问恢复:更支持原问题出在规则匹配结果,或 global 下 GLOBAL 策略组所选代理,而不是物理链路完全中断。切到直连后仍然失败:更支持继续查内核出站与入站条件,而不是反复更换策略组。下一步按手册字段缩小范围:核对 ipv6 是否允许内核接受 IPv6 流量;interface-name 是否指向错误网卡;Linux 上 routing-mark 是否与系统策略冲突;find-process-mode 在路由器上是否应使用文档推荐的 off。若其他设备也经过该内核,再核对 allow-lan、bind-address、lan-allowed-ips 以及黑名单优先的 lan-disallowed-ips。仍无线索时,保持 mode: direct 并把日志留在 debug 再采集一轮,避免过早改回 rule,把现象重新淹没在规则结果里。

资料:https://wiki.metacubex.one/config/general/