IP 范围转 CIDR 转换器

把起始和结束 IP 转换为最小的一组 CIDR 块,或把一个 CIDR 展开为它的首个和最后一个地址——全部在你的浏览器中完成。

这款 IP 范围转 CIDR 转换器完全在你的浏览器中运行。你输入的起始和结束地址、CIDR 块和范围都在你的设备上处理,绝不会上传到 ArrayKit。

打开 CIDR / 子网计算器

关于 IP 范围转 CIDR 转换器

这款 IP 范围转 CIDR 转换器接收一个起始和结束地址,并返回恰好覆盖该范围的最小的一组对齐 CIDR 块——不多也不少。它使用贪婪的最大块算法,因此像 192.168.1.0 到 192.168.1.255 这样整齐的范围会折叠成单个 192.168.1.0/24,而一个不在边界上的范围会被拆分成最少数量的块,且这些块加起来仍等于精确的地址数。切换到反向模式,可把任意 CIDR 展开回它的网络、首个 IP、最后一个 IP 和总地址数。IPv4 和 IPv6 都受支持,并采用大整数运算,因此即便是一个 /32 的 IPv6 前缀也能报告它完整的 2^96 个地址数。它专为编写防火墙规则、ACL、路由表和白名单的网络工程师而设计,一切都在你的设备上运行,因此你的网络拓扑绝不会离开浏览器。

功能特性

如何使用 IP 范围转 CIDR 转换器

  1. 保持选中「范围 → CIDR」标签页
  2. 输入起始和结束 IP 地址(两个都是 IPv4 或都是 IPv6)
  3. 查看聚合后的 CIDR 块,并一键复制它们
  4. 切换到「CIDR → 范围」,把一个块展开为它的首个和最后一个 IP

示例

输入

start: 192.168.1.0
end:   192.168.2.10

输出

192.168.1.0/24
192.168.2.0/29
192.168.2.8/31
192.168.2.10/32

一个不在边界上的范围被拆分成恰好覆盖它的最少的块。

常见错误与故障排除

常见问题

转换器是如何挑选要输出哪些 CIDR 块的?
它从起始地址开始遍历范围,并在每一步输出既对齐到当前地址、又能装进剩余范围内的最大块。贪婪地重复这一过程,就得到了恰好覆盖该范围的最小的一组 CIDR 块。
为什么我的范围会变成若干个 CIDR 块而不是一个?
单个 CIDR 块总是包含 2 的幂个、对齐到它自己边界的地址。除非你的起始和结束正好落在这些边界上,否则没有哪一个块能覆盖该范围,因此它会被拆分成大小之和等于精确地址数的最少的块。
它能处理 IPv6 范围和巨大前缀吗?
可以。IPv6 地址会被解析为 128 位大整数,因此同样的聚合适用于 v6,而反向模式能报告极大的数量——例如一个 /32 的 IPv6 块就包含 2^96 个地址。
「CIDR → 范围」模式会返回什么?
粘贴一个像 10.0.0.0/24 或 2001:db8::/32 这样的块,它会显示网络地址、首个 IP、最后一个 IP,以及块中的总地址数,并先把任何主机位掩到网络边界。
我可以粘贴一个不是块网络地址的 IP 吗?
可以。在「CIDR → 范围」模式下,主机位会被自动掩掉,因此 192.168.1.200/24 和 192.168.1.0/24 都解析出相同的网络、首个 IP 和最后一个 IP。
我的 IP 地址会被发送到服务器吗?
不会。IP 范围转 CIDR 转换器完全在你的浏览器中运行。你输入的地址和范围在你的设备上计算,绝不会上传到 ArrayKit。

相关工具

全部 ArrayKit 工具