规则分流不生效、国内网站也走代理怎么办:全局模式、规则顺序、GEOIP 缺失、Fake-IP 与验证方法
打开国内网站也经过节点,速度慢还浪费流量;或者反过来,该走代理的域名却直连。本文从模式开关、规则顺序、GEOIP / GEOSITE 数据缺失、Fake-IP 的影响、浏览器自带代理几个方向排查,并教你用客户端连接页准确验证分流结果。
分流是怎么工作的
Clash / Mihomo / sing-box 的规则模式,核心就是一张从上到下的清单:每条连接发起时,内核拿它的域名或 IP 从第一条规则开始比对,命中第一条就按那条的策略走,后面不再看。清单最后一条 MATCH(sing-box 叫 final)是兜底,前面什么都没命中就走它。
理解这一点,绝大多数「分流不生效」都能自己定位:要么模式压根不是规则模式,要么规则顺序不对,要么该命中的规则因为数据缺失没命中。
一、模式开关:全局误开
最常见、最简单。客户端模式有三种:规则(Rule)、全局(Global)、直连(Direct)。全局模式下所有流量无视规则走节点,国内网站当然也走代理。
- Clash Verge Rev:首页或「代理」页顶部有模式切换;
- FlClash、Clash Party:首页;
- Shadowrocket:首页「全局路由」选「配置」而不是「代理」;
- sing-box 系客户端:看 route 的 final 和是否用了「全局」配置文件。
切回规则模式,刷新网页再看。三种模式的差别见规则 / 全局 / 直连模式。
二、规则顺序错误
你在覆写或自定义配置里加了 DOMAIN-SUFFIX,example.com,DIRECT,但它被放在了订阅规则列表的末尾。订阅里前面有一条 DOMAIN-KEYWORD,example,节点选择 或 GEOSITE 规则先命中了,你那条永远轮不到。
处理:
- Clash Verge Rev:用「订阅 → 右键 → 编辑规则」或覆写脚本,自定义规则放进
prepend-rules(前置),不要放append-rules(后置)。 - FlClash:覆写 → 规则 → 添加到顶部。
- sing-box:route.rules 数组里把自定义规则放在前面。
- Shadowrocket:配置 → 规则列表是可拖动排序的,自定义规则拖到上面。
自己手写规则时的另一个常见错误:DOMAIN 是精确匹配,DOMAIN-SUFFIX 是后缀匹配,DOMAIN-KEYWORD 是包含匹配。想匹配一个站点及其所有子域名用 DOMAIN-SUFFIX。
三、GEOIP / GEOSITE 数据缺失
国内网站直连依赖这几条规则:GEOSITE,cn,DIRECT、GEOIP,CN,DIRECT、GEOIP,private,DIRECT。它们需要内核加载 geoip.dat / geosite.dat 或 mmdb 数据库。数据库没下载到(首次启动时被墙或被安全软件拦)或文件损坏,这些规则就等于不存在,国内流量滑到 MATCH 走了代理。
判断:连接页里看百度的那条连接命中的规则,如果是 MATCH 而不是 GEOSITE,cn / GEOIP,CN,就是这个问题。
处理:
- Clash Verge Rev:设置 → 「GeoData 更新」手动更新一次;或在客户端目录里确认 geoip.dat、geosite.dat、country.mmdb 存在且大小正常(不是 0 KB)。
- Mihomo 配置里
geodata-mode: true时用 dat 文件,false 时用 mmdb;两种模式需要的文件不同,确认配置和文件对应。 - sing-box 1.8 以后用 rule-set 替代 geoip / geosite,rule-set 需要能联网下载,首次下载要先有一个能用的代理或 download_detour 指向直连可达的源。
- 订阅规则里根本没写 GEOIP,CN 规则的,手动在前置规则里补上
GEOIP,CN,DIRECT和GEOSITE,cn,DIRECT。
四、Fake-IP 对 IP 类规则的影响
TUN 模式下常用 Fake-IP:客户端把所有域名先解析成一个假 IP(198.18.x.x),流量进内核后再按域名处理。好处是快、无 DNS 泄漏;副作用是IP 类规则在域名流量上默认匹配不到真实 IP。
具体表现:
GEOIP,CN,DIRECT需要先解析出真实 IP 才能判断是不是中国 IP。内核会在走到这条规则时触发解析(除非写了 no-resolve),通常没问题;但如果 DNS 配置里 nameserver 全是国外服务器且解析走代理,国内域名的解析结果可能偏离,匹配结果也偏。- 应用直接连 IP 的流量(部分游戏、P2P)不受 Fake-IP 影响,正常匹配。
fake-ip-filter列表里的域名会走真实解析,常用于局域网设备、NTP、某些需要真实 IP 的服务。
建议:规则列表里域名规则放前面、IP 规则放后面,GEOSITE,cn 在 GEOIP,CN 之前;DNS 用 fake-ip 时,nameserver 里保留国内 DNS 给国内域名,nameserver-policy 把 geosite:cn 指向国内 DNS。如果对 Fake-IP 的副作用没把握,切回 redir-host 模式对比。TUN 和 DNS 的详细设置见 TUN 模式问题。
五、浏览器自带代理与扩展
规则在内核里是对的,但流量没经过内核,表现也像「分流失效」:
- 浏览器代理扩展(SwitchyOmega、ZeroOmega、FoxyProxy)自己有一套 PAC 或情景规则,和客户端规则互不相干。扩展设成「全部走代理」就会出现国内网站也走代理。要么扩展切「系统代理」,要么禁用。
- 浏览器内置 DoH:Chrome / Firefox 的「安全 DNS」开着时,域名解析绕过客户端 DNS,Fake-IP 失效,部分规则匹配受影响。关闭浏览器安全 DNS,让客户端统一处理。
- 浏览器内置 VPN:Opera、Edge 安全网络一旦开启,流量根本不到客户端。
六、策略组内选了错误的目标
规则本身没问题,但规则指向的策略组选错了目标:
- 「国内流量」或「直连」策略组里有人手动选成了某个节点;
- 「节点选择」组选成了 DIRECT;
- 订阅更新后策略组名变了,旧规则指向的组不存在,内核回退到 MATCH。
打开「代理」页检查每个策略组当前选中的目标是否符合直觉:直连类组选 DIRECT,代理类组选节点。
七、客户端或内核版本差异
- 旧版 Clash(原版内核)不支持 GEOSITE、RULE-SET 等规则类型,遇到不认识的规则会跳过或启动失败。用 Mihomo 内核。
- sing-box 1.8 → 1.10+ 的规则格式有变化,旧配置里的 geosite 字段在新版本被弃用,需要迁移到 rule_set。
- 订阅本身是给某个特定内核写的,用其他内核加载可能只识别一部分规则。订阅格式见订阅链接是什么。
怎么验证分流
不要用 IP 查询站验证分流——查询站本身也是一个域名,也受规则影响,国内查询站显示国内 IP、国外查询站显示节点 IP,这本身就是分流在正常工作,什么也说明不了。
正确的方法:
- 打开客户端的「连接」页(Clash Verge Rev 左侧「连接」;FlClash 的「连接」;sing-box GUI 的 Connections;Shadowrocket 的「数据 → 连接」)。
- 在浏览器里打开要测的网站。
- 回到连接页,找到那条连接,看「规则」列显示的是哪条规则、「代理」列走的是哪个节点或 DIRECT。
- 如果命中 MATCH,说明前面的规则都没匹配上,按本文第三节处理;命中了预期之外的规则,按第二节调整顺序。
Clash Verge Rev 的「日志」页也能看规则匹配过程,级别调到 info 或 debug 会打印每条连接的匹配结果。
速查表
| 现象 | 原因 | 处理 |
|---|---|---|
| 所有网站都走代理 | 全局模式 | 切规则模式 |
| 国内网站命中 MATCH | GEOIP / GEOSITE 数据缺失 | 更新 GeoData,补规则 |
| 自定义规则无效 | 排在后面 | 前置规则 |
| 规则正确但浏览器行为不对 | 浏览器扩展 / 安全 DNS | 禁用扩展,关安全 DNS |
| 直连组走了节点 | 策略组选错 | 代理页重选 |
相关
常见问题
国内网站也走了代理,最常见原因是什么?
模式被切成了「全局」。全局模式下所有流量无视规则一律走节点。切回「规则」模式即可。
规则模式下百度、淘宝还是走代理?
看连接页命中的规则。如果命中的是 MATCH(兜底),说明前面没有任何规则匹配到它,通常是 GEOIP,CN 规则缺失或 geoip 数据库没下载成功。
Fake-IP 模式会影响分流吗?
会影响基于 IP 的规则。Fake-IP 下域名规则正常,但 IP-CIDR 和 GEOIP 规则需要开 no-resolve 或者有真实解析才能匹配。用 redir-host 或确认 dns 里的 fake-ip-filter 配置。
怎么确认一个网站到底走了代理还是直连?
打开客户端的「连接」页,找到该域名的连接,看「规则」和「代理」两列。这比用 IP 查询站可靠,因为查询站本身也受规则影响。
我加了自定义规则但不起作用?
规则是从上到下匹配、命中即停。你的规则排在了订阅规则之后就永远轮不到。把自定义规则放到最前面(Clash Verge Rev 的覆写用 prepend-rules)。
本文为信息整理与个人经验,不构成购买建议。机场政策与软件界面可能变化,以官方为准。发现过期内容请 联系纠错。