智能CIDR合并助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1f5261c9/merge-cidr。
技能介绍
要解决什么问题
运维或安全场景里,IP 白名单、ACL、防火墙规则经常来自 Excel、工单或聊天记录:一行一个 IP 配学校名、学校名后面跟一串 IP,或者两种写法混在一起。手工补 /32、按单位分组、再把连续地址收成 CIDR,既慢又容易漏改。
技能如何工作
技能把输入当成非结构化文本处理,而不是死盯某一种模板:
- 解析:用正则识别 IPv4,其余文本当作学校(或站点)名称,建立 IP 与名称的对应关系。
- 规范化 CIDR:没有后缀的地址默认补
/32;已有/24、/32等则原样保留。 - 按学校合并:同一学校下的多个 IP,通过
scripts/merge-cidr.js(bun 运行)调用 cidr-tools 做范围合并,目标是连续段用贪心收成尽量少的 CIDR 块;未安装依赖时会先用 bun 安装cidr-tools。 - 输出:按学校分组,生成约定格式的配置行(有/无学校名两种模板,以 SKILL 中的示例为准)。
不允许用脚本以外的路径做合并——保证和本地工具链行为一致。
适用边界
- 仅 IPv4;IPv6 不在处理范围内。
- 合并不连续地址时,只会把能连成段的块合并;散点仍会是多个
/32或较小前缀。 - 若用户未说明要不要合并连续 IP,技能可以先确认再执行。
- 输出格式需严格匹配下游系统(学校名与 CIDR 之间的分隔符、是否带学校字段等),改模板前先看 SKILL 示例。
使用场景
- 收到工单里「学校名 + 多行 IP」的混排文本,需要按学校分组并合并连续段后写入 ACL 配置
- 从表格或聊天复制的 IPv4 缺少 `/32` 前缀,要统一成标准 CIDR 再按院校名输出每行规则
- 同一所高校在清单里有多条散点 IP,需在推送 WAF 或边界防火墙前收成最少 CIDR 块
- 多校区准入名单来源格式不一(一行一 IP 或校名后跟 IP 列表),要解析对应关系并生成固定模板配置行
适合人员
- 维护多院校 IP 准入名单、需把工单文本转成可下发 CIDR 规则的边界网络工程师
- 负责校园网或教育网 ACL,经常从 Excel/IM 汇总 IP 并按学校名写入防火墙的运营
- 安全运维在更新 IPv4 白名单前,要把同一单位的连续地址合并以减少规则条数
- IT 运维处理仅含 IPv4 的名单导入,且下游系统要求固定「学校 + CIDR」行格式的配置人员