分流与规则
CMSingBox 的分流由节点筛选组、路由规则、最终出站和 DNS 模式共同决定。先创建稳定的出站组,再由高到低安排规则,最后用日志验证。
一、准备出站
在节点与订阅页确认订阅已经刷新,手动节点状态正确。随后建立筛选组:
| 方式 | 适用场景 | 关键参数 |
|---|---|---|
| select | 手动固定选择节点 | 国家、包含/排除关键字 |
| urltest | 自动选择延迟较低的节点 | 测试 URL、间隔、容差 |
筛选结果为空时,规则引用该组会失败。先查看匹配节点数,再保存和应用。
二、规则类型
- 域名后缀:适合一组站点,例如
example.com同时匹配子域名。 - IP CIDR:适合固定地址段和纯 IP 应用。
- GeoSite:按维护好的域名分类集合匹配。
- GeoIP:按目标 IP 地理分类匹配。
GeoSite/GeoIP 值会做格式校验。规则资源必须与当前内核兼容。
三、优先级和最终出站
更具体的例外规则放前面,宽泛规则放后面。第一条命中后即决定出站。所有规则均未命中时,使用设置页的“最终出站”。
- 内网和必须直连的目标。
- 需要指定节点组的业务。
- 广告或阻断规则(若已创建对应出站)。
- 国家、区域等宽泛规则。
- 最终出站兜底。
规则模式不是客户端的“全局开关”要实现全局代理,可将最终出站设为代理组,并只在前面保留内网/必须直连规则;要实现常规规则代理,则最终出站设为直连。
四、常见配置示例
国内直连,其余代理
- 建立名为“自动选择”的 URLTest 筛选组。
- 添加内网 CIDR 直连规则。
- 添加 GeoSite/GeoIP 国内直连规则。
- 最终出站选择“自动选择”。
1.0.37 起,未被用户规则或规则组匹配的 .cn 域名会兜底直连,避免规则集尚未收录的新国内网站误走海外出口。用户自定义规则仍有更高优先级;需要代理某个 .cn 网站时可单独添加规则。
仅指定域名代理
- 最终出站设为直连。
- 添加域名后缀规则,出站选择目标筛选组。
- 将这些规则优先级置于宽泛直连规则之前。
指定设备旁路由
CMSingBox 内部规则决定“流量出去走哪里”,路由器决定“哪些终端流量送进 CMSingBox”。请根据主路由选择 RouterOS、爱快、UniFi / UBNT、OPNsense 或 通用路由器教程。
五、DNS 分流模式
设置页提供两种 DNS 路由模式,并可填写例外设备。启用 FakeIP 后,需要代理的域名应返回 198.18.0.0/15 中的地址;RouterOS 等上级网关还必须把该地址段路由给 CMSingBox。DNS 模式负责域名判断,路由规则负责实际流量,二者缺一不可。
六、保存、应用和验证
- 保存筛选组和规则,确认无校验错误。
- 在设置页保存最终出站和 DNS 参数。
- 应用配置并重启 sing-box。
- 打开代理控制台查看当前节点和连接。
- 打开 DNS 监控检查域名、来源 IP 与缓存状态。
- 若失败,查看 sing-box 日志中的第一条 ERROR。
七、修改后无法上网
- 先把最终出站改回直连并停用最近添加的规则。
- 若使用旁路由,先停用路由器的 mangle/策略路由规则。
- 重新应用配置,确认显式代理
2080单独可用。 - 逐条恢复规则,每次只变更一个条件。