ℹ️NOTE刚配好代理客户端时常遇到两难:开了代理国内网站变卡,关掉代理境外服务又断连。这多半是**分流规则(Routing Rules)**与次序没理顺导致的。
把客户端当成非开即关的开关容易两头受罪。客户端底层其实是个守在出口的智能调度台。搞懂它是如何挑拣流量的,各种卡顿和超时问题自然迎刃而解。
一、什么是分流?为什么必须做分流
普通网络下,电脑发出的请求直通运营商宽带。开启客户端后,本地多出了一条通往境外的加密通道。
如果把流量一股脑全塞进境外通道,会撞上两个现实麻烦:
- 国内访问大绕路:访问国内平台时数据包跨洋折返,延迟激增数十倍,既卡顿又白耗流量,还易触发异地登录风控。
- 本地局域网失联:NAS、内网打印机和路由器后台用的都是私有 IP,全被卷进代理会导致内网设备失联。
**分流(Traffic Routing)**做的事很直白:在本地给不同目的地的数据包指路。国内与内网流量走本地宽带直连,受限流量走境外代理中转,互不干扰。
二、三大运行模式的区别与场景选型
主流客户端(如基于 Mihomo 内核的桌面端、sing-box 等)界面核心位置都有三个模式开关:
┌── 匹配国内域名 / CN IP ──> [直连 DIRECT] (原生宽带,低延迟)
[应用程序请求] ───> [规则模式 Rule]
└── 匹配受限服务 / 海外域名 ─> [代理 PROXY] (海外节点中转)
[应用程序请求] ───> [全局模式 Global] ───────────────> [代理 PROXY] (所有流量全走代理)
[应用程序请求] ───> [直连模式 Direct] ───────────────> [直连 DIRECT] (完全不走节点)
- 直连模式 (Direct):客户端当甩手掌柜,流量全走本地网卡,适合完全不碰境外网络或排除代理排查本地宽带时。
- 全局模式 (Global):强制接管一切,全部流量塞给选定节点。仅供排查冷门海外站点是否因规则遗漏而打不开,日常切勿常驻。
- 规则模式 (Rule,推荐):99% 时间的默认首选。按规则表逐行比对,国内直连、广告拦截、境外走代理,兼顾速度与流量,深入对比可见全局模式和规则分流如何选择。
| 模式类型 | 国内访问 | 境外访问 | 流量消耗 | 适用场景 |
|---|---|---|---|---|
| 规则模式 (Rule) | 本地直连,低延迟 | 自动匹配节点 | 仅计境外流量 | 日常推荐首选 |
| 全局模式 (Global) | 绕道海外易卡顿 | 全部走节点 | 极高(国内也计) | 临时测试连通性 |
| 直连模式 (Direct) | 本地直连 | 无法打开 | 零消耗 | 停用代理时 |
三、规则是怎么认人的?三大判定维度
客户端主要通过以下三种规则来判定请求流向:
- 看域名 (Domain):
DOMAIN:精确匹配单个完整域名(如DOMAIN,www.google.com,PROXY)。DOMAIN-SUFFIX:后缀匹配覆盖所有子域名(如DOMAIN-SUFFIX,github.com,PROXY),最通用高效。DOMAIN-KEYWORD:关键词模糊匹配,需留神别误伤国内无关子域名。- 优势:域名匹配在本地 DNS 解析前完成。命中代理规则后直接交由远端节点解析,顺带避开了本地运营商的 DNS 污染,原理见代理环境下的 DNS 解析机制与防泄露。
- 看 IP 网段 (IP-CIDR):针对 IP 请求或解析后的目标 IP。主要用于把
192.168.0.0/16、10.0.0.0/8等私有局域网地址锁在DIRECT直连上。 - 查现成数据集 (GeoIP 与 GeoSite):社区把国内站点打包成了
geosite:cn,全球 IP 整理成了geoip.dat。一行GEOIP,CN,DIRECT就能搞定绝大部分国内公网 IP 直连。
四、执行顺序、兜底规则与策略组
掌握规则更要理清执行次序:
1. 先碰到的先算数 (First Match Wins)
客户端自上而下逐行读规则,一旦命中首条规则立即执行并终止比对。因此规则必须“由细到粗、由特殊到宽泛”;若把宽泛规则置顶,后续细化规则全成摆设。
2. 最后的安全兜底 (MATCH / FINAL)
规则集无法穷尽所有网站。末尾的兜底规则负责接住所有未覆盖的未知流量,通常设为代理,防止漏掉新建海外站点。
3. 规则指向策略组,策略组再挑选节点
规则一般不直接绑在某个具体节点上,而是指向策略组(Proxy Group):
- 手动选择 (
select):面板上手动翻牌挑节点。 - 自动测速 (
url-test):后台定时测延迟,自动切低延迟节点。 - 故障转移 (
fallback):主节点失联时自动切备用节点。
节点分组与订阅导入逻辑见机场订阅链接与代理节点是什么?与Clash Verge Rev 与 Mihomo 内核进阶配置教程。
五、Mihomo (Clash 系) 规则切片与跨客户端说明
以下是适用于 Mihomo (Clash.Meta) / Clash 开源内核 的实用规则切片:
# 适用内核: Mihomo (Clash.Meta) / Open-source Clash
rules:
# 1. 局域网私有地址直连(no-resolve 避免提前触发域名解析)
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
# 2. 常见广告与跟踪服务直接丢弃
- GEOSITE,category-ads-all,REJECT
# 3. 海外常用服务走向代理策略组
- DOMAIN-SUFFIX,google.com,PROXY
- DOMAIN-SUFFIX,github.com,PROXY
- DOMAIN-KEYWORD,openai,PROXY
# 4. 国内常用域名集与境内公网 IP 走本地直连
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
# 5. 其余未覆盖流量兜底走代理
- MATCH,PROXY
规则要点拆解:
no-resolve参数:纯域名请求不强行在本地解析 IP,规避查询耗时与解析泄露。REJECT动作:在本地静默阻断广告域名,省下带宽并净化页面。GEOSITE,cn与GEOIP,CN:双重过滤确保绝大多数国内服务走本地直连。MATCH,PROXY:兜住漏网之鱼,确保小众海外网站正常打开。
⚠️WARNING各客户端语法并不通用:上述 YAML 格式仅适配 Mihomo / Clash 体系。sing-box 使用嵌套 JSON 规则数组(
route.rules),Shadowrocket 与 Surge 亦有专属语法。切勿跨客户端生搬硬套配置,跨平台应使用客户端自带订阅转换或专用模板。
六、分流翻车了怎么排查?照着四步走
遇到“国内卡顿走代理”或“海外打不开走直连”时,按以下四步排查:
- 看连接面板 (Connections):打开客户端连接页刷新网页并检索域名。核对三项:目标网址 (
Host)、命中规则 (Rule) 与最终出口 (Outbound),实操案例见分流规则误匹配与国内流量误走代理排错。 - 排查关键词误伤与次序:国内网站误走代理,多因写了过于宽泛的
DOMAIN-KEYWORD,或直连规则被挤到了代理规则后面。 - 手动更新规则集与 GeoIP 库:服务商经常增设 CDN 节点,若离线数据库几个月没更新,新增国内 IP 易被误判为境外流量。定期在客户端更新规则即可解决。
- 检查 DNS 解析机制:老旧解析模式可能向受污染 DNS 查询拿到虚假境外 IP,导致国内流量被误推入代理。尽量切换为客户端推荐的 Fake-IP 模式,分流会稳定得多。
七、总结与官方技术参考
分流规则是代理体验的压舱石。新手记住三条原则不易踩坑:首选规则模式;牢记先细后粗的次序;遇到卡顿先查连接面板的命中记录。
官方文档与开源规范:
- Mihomo (MetaCubeX) 官方文档:https://wiki.metacubex.one
- Mihomo 内核源码仓库:https://github.com/MetaCubeX/mihomo
- sing-box 官方配置规范:https://sing-box.sagernet.org
- Clash 开源核心配置参考:https://github.com/Dreamacro/clash