公开规则集解决的是大众域名分类,本地 private 域名解决的是你自己的网络。两者目标不同。把 nas.home、router.lan、dev.internal 交给外部规则集判断,结果往往不可控:有时走 final,有时被某个泛域名规则误命中。
规则来源与用途
| 来源 | 作用 | 是否适合本地 private |
|---|---|---|
| v2fly/domain-list-community | 公开域名分类基础 | 不适合放私有域名 |
| MetaCubeX/meta-rules-dat | 生成 Mihomo 规则格式 | 可作为外部来源 |
| sing-box rule-set | sing-box 规则容器 | 适合引用外部集 |
| 本地 override | 保存 LAN / NAS / 内部域名 | 最适合 |
本地 override 的价值是可控、可回滚、不会被上游更新覆盖。外部规则集可以每周更新,本地规则则应随你的网络变化手动维护。
放在规则链前面
无论 Mihomo、sing-box 还是 V2Ray 路由,排障时都要假设「先命中先生效」。private 域名应放在外部 geosite、geoip、rule-set 之前。示例顺序是:本地域名、本地 IP 网段、公司内部域名、外部规则集、兜底规则。
如果订阅已经带了大包规则,使用兼容 Clash / Singbox / V2Ray 的订阅时,也建议把本地 override 保留在主配置里,不要让订阅更新直接覆盖它。
本地清单怎么写
先列资源,不要急着写正则:
- 路由器:
router.lan、openwrt.lan。 - NAS:
nas.home、photos.home。 - 开发环境:
*.test、*.internal、dev.local。 - 公司内部:VPN 后才可访问的域名后缀。
- IP 网段:
192.168.0.0/16、10.0.0.0/8、172.16.0.0/12。
域名规则和 IP 规则都要有。只有域名规则时,应用直接访问 IP 会漏掉;只有 IP 规则时,DNS 阶段已经可能走错。
维护检查表
- override 文件单独保存,不改下载来的规则集。
- 文件名能看出用途,例如
local-private-domain。 - 每条规则旁边记录用途或负责人。
- 外部规则更新前先备份本地 override。
- 验收时看日志命中的是本地规则名。
private 域名规则覆盖的收尾动作
协议兼容、规则集和订阅格式会随着客户端更新变化;正文没有覆盖的系统版本,应以维护者文档和当前 Release 说明为准。
private 域名规则覆盖这类工具页要把失败提示、回滚动作和费用影响写清楚。安装包只从维护者仓库、Release、应用商店或系统包源获取,生产设备只保留可追溯来源。
改配置前备份原文件,保留客户端版本、内核版本和错误日志。路由器、NAS、手机和桌面端的权限模型不同,不能把同一条命令直接搬过去。