三种模式对比:日常先选 Rule
Clash 的代理模式决定的是:已经进入 Clash 内核的连接,接下来交给谁处理。它不直接决定哪些应用会把连接交给 Clash。新手日常通常选择 Rule,按订阅中的规则分流;临时排查分流问题时再试 Global;需要让已接管的连接直接访问目标时选择 Direct。
| 模式 | 连接如何处理 | 适用场景 | 需要检查 |
|---|---|---|---|
| Rule/规则 | 按规则顺序匹配,由命中的规则指定直连、代理策略组或拒绝。 | 日常浏览、国内外服务分流、局域网访问。 | 命中哪条规则,以及该规则指向哪个策略。 |
| Global/全局 | 不按普通分流规则选择出口,统一使用 GLOBAL 策略的当前选择。 | 临时验证代理路径,比较规则模式的访问差异。 | GLOBAL 当前选的是节点、其他策略组还是 DIRECT。 |
| Direct/直连 | 已进入内核的连接直接访问目标,不通过远端代理节点。 | 临时恢复直接访问,比较本地网络与代理路径。 | 本地网络能否访问目标,以及接管和 DNS 设置是否仍生效。 |
Rule 规则模式:按顺序匹配,再选择出口
规则模式会从配置中的 rules 列表顶部开始检查,命中后使用对应策略,不会继续向下寻找“更合适”的规则。域名规则、IP 规则以及最终兜底规则的顺序,因此会直接影响结果。
一个可以读懂的分流例子
下面是规则片段,不是完整订阅。假设配置中已经存在名为“日常代理”的策略组,example.com 仅用于解释规则匹配。
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,日常代理
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,日常代理
example.com及其子域名命中第一条,交给“日常代理”处理。- 目标地址为
192.168.1.10时,可命中第二条并直连,适合说明局域网地址的去向。 no-resolve表示不为匹配这条 IP 规则主动触发域名解析,不是关闭整个客户端的 DNS。MATCH是兜底规则,应放在末尾;放到第一条会让后面的普通规则失去匹配机会。
规则命中代理组,不代表一定使用远端节点
策略组可能允许选择 DIRECT。即使规则指向“日常代理”,如果该组当前选中直连,最终仍然是直接访问。排查时要顺着“规则 → 策略组 → 实际出口”检查,不能只看模式按钮是否显示 Rule。
订阅更新也可能改变规则和策略组结构。需要长期增加自定义分流时,应先确认客户端支持的覆写、Mixin 或配置处理方式;直接改订阅生成的文件,修改可能在下次更新时被覆盖。不同客户端的覆写语法并不完全相同。
Global 全局模式:统一出口,不是全设备接管
全局模式适合临时验证:某个网站在 Rule 下打不开,换成 Global 并明确选择一个可用节点后,访问结果是否变化。若 Global 正常而 Rule 异常,规则命中、策略组选择或两种路径涉及的 DNS 行为就值得进一步检查,但这还不足以直接认定“订阅规则坏了”。
- 打开客户端的代理页面,将模式切到 Global。
- 找到全局策略 GLOBAL,明确选择一个已知可用的节点;部分客户端会显示本地化名称。
- 重新发起连接,再到 Connections(连接)页面确认实际出口。
- 测试结束后恢复 Rule,避免把日常局域网或本可直连的请求长期送往代理节点。
“全局”描述的是进入内核后的策略选择,不是操作系统范围的承诺。例如只打开 Windows 系统代理时,遵循该设置的浏览器通常会使用代理,而自行建立连接、忽略系统代理的程序可能仍然直连。这类程序不会因为切换 Global 就自动被接管。
Direct 直连模式:不走节点,但客户端仍可能参与连接
Direct 会让已经进入 Clash 的连接直接访问目标。它适合比较“本地网络能否访问”和“代理路径能否访问”,但不等于退出客户端。系统代理若仍指向本地监听端口,应用仍会先连接 Clash,再由内核直接连接目标。
同理,启用 TUN 后切换 Direct,虚拟网卡、路由接管以及已配置的 DNS 处理可能仍在工作。因此,Direct 下出现域名解析问题时,不能直接排除 Clash 的 DNS 配置。
需要完全退出代理链路时怎么做
- 仅想临时不使用远端节点:切到 Direct,再重新建立连接。
- 想让遵循系统代理的应用恢复原路径:关闭 System Proxy,并检查应用是否另外配置了手动代理。
- 想撤销 TUN 接管:在客户端关闭 TUN,确认虚拟网卡相关路由已恢复,再按需退出客户端。
- 退出后浏览器反而无法联网:检查系统代理是否还指向已经停止监听的本地端口。
例如应用仍使用 127.0.0.1:7890,但 Clash 已退出,该端口没有其他代理服务监听,请求就可能失败。这里的 7890 只是常见配置值,实际应以当前客户端显示的端口为准。
Clash for Windows 在哪里切换模式
以 Clash for Windows 0.20.39 的常见英文界面为例,先在 Profiles 中选中已导入的配置,再进入左侧 Proxies 页面,在顶部选择 Rule / Global / Direct。切到 Rule 后检查订阅中的策略组;切到 Global 后检查 GLOBAL 的当前选择。
系统代理开关位于 General → System Proxy。它与 Proxies 页的三种模式分开设置。界面语言、衍生版本及使用 mihomo 内核的其他客户端,可能将入口放在“代理”或“设置 → 代理模式”,应以实际界面为准。
首次导入订阅后的检查顺序
- 在 Profiles 确认配置已下载并处于选中状态,不只是列表中存在一个订阅名称。
- 进入 Proxies,选择 Rule,并在主要代理组中选中可用节点或合适的自动策略组。
- 在 General 查看实际监听端口,按需求开启 System Proxy;需要接管更多应用时,再单独了解 TUN 的权限与路由设置。
- 打开目标网页,到 Connections 查看目标地址、规则和策略链;具体展示字段随客户端版本不同而变化。
切换后没变化:按四步检查连接
第一步:确认请求确实进入 Clash
保持 Connections 页面打开,再访问目标。若没有出现对应连接,先检查系统代理、应用自己的代理选项和 TUN 接管范围。连接页也可能因请求过短而来不及显示,可结合日志核对。此时反复切换三种模式,通常解决不了入口问题。
第二步:新建连接,不只刷新旧会话
模式变更主要影响新建立的连接。浏览器可能复用 HTTP/2 长连接,聊天软件或下载工具也可能维持已有会话。可关闭相关网页或暂停任务后重试;必要时只关闭目标连接。关闭全部连接会中断其他下载和通话,应先确认影响。
第三步:查看命中的规则与最终策略
Rule 下检查规则是否指向预期策略,策略组是否意外选中 DIRECT;Global 下检查 GLOBAL 是否确实选中目标节点。如果连接已经使用预期节点但仍失败,应进一步检查节点可用性、认证状态与目标服务限制,而不是继续更换模式。
第四步:把 DNS 问题单独处理
域名解析失败不等同于代理节点连接失败。Global 不会自动修复不可达的 DNS 服务器,Direct 也不保证使用系统原来的解析链路。TUN 场景还需检查 DNS 劫持与浏览器安全 DNS 的实际路径。涉及 fake-ip、nameserver 等字段时,保留原配置,一次只改一项并记录结果。
常见选择:浏览、游戏与局域网访问
日常上网应该一直开全局模式吗?
通常先用 Rule,让订阅规则区分直连与代理流量。只有明确需要统一出口,或正在做短时排查时,再使用 Global。若某个站点总是走错出口,应检查对应规则,而不是长期靠全局模式绕过问题。
游戏开启 Global 就一定经过代理吗?
不一定。游戏可能不遵循系统代理,也可能使用 UDP。首先确认流量是否进入内核,再检查节点和接管方式是否支持相关协议。TUN 可以扩大接管范围,但不保证延迟降低,也不替代游戏服务本身的网络要求。
打印机、NAS 或路由器后台打不开,先检查什么?
先检查是否正在使用 Global,以及目标局域网地址是否被送往远端节点。恢复 Rule 后核对私有地址的直连规则,同时检查 TUN 的路由排除设置。不要只添加一个域名规则就假定所有局域网访问都已恢复。
切到 Direct 后还能打开某个网站,说明什么?
只能说明当前访问在该条件下成功,不能单凭页面显示判断出口。页面缓存、旧连接和应用绕过代理都可能影响观察。重新建立连接,并结合 Connections 中的策略记录判断,结果才更可靠。
记住一个顺序:先确认连接进入 Clash,再看模式,再看策略组,最后检查节点和 DNS。日常用 Rule,排查时短暂使用 Global 或 Direct,比把“能否访问”全部归因于模式更容易定位问题。