IP范围与CIDR互转工具

输入起始IP和结束IP,即可将该范围自动拆分为覆盖全部地址且数量最少的CIDR块。也可以反过来输入CIDR表示法(例如192.168.1.0/24),计算出该块的首尾IP地址和地址总数,适合用于防火墙和ACL规则的编写。

如果只需查询单个IP和子网掩码,请使用 子网计算工具 ;如果需要按前缀长度查看对照表,请参考 CIDR速查表

使用提示

  • 适合把防火墙或ACL中「192.168.1.1 到 192.168.1.254」这类范围写法转换成路由器配置真正接受的CIDR表示法。
  • 除非范围的边界恰好对齐到2的幂次方,否则IP范围转CIDR的结果通常会拆分成多个块。如果块数过多,可以考虑调整范围的起止点,让ACL规则更简洁。
  • 在CIDR转IP范围时,即使输入的IP不是块的起始地址,工具也会自动按其所属块计算出对应的网络地址和广播地址。
  • 如果只想查单个IP和掩码,可以使用子网计算工具;若需要按前缀长度查看完整对照表,CIDR速查表是本工具很好的配套。

常见问题

CIDR块必须表示数量为2的幂次方(1、2、4、8……)且地址边界对齐的连续地址。如果指定的范围没有恰好对应单一CIDR块,就需要用若干个边界对齐、大小较小的块组合起来,才能不多不少地覆盖整个范围。

/24 表示主机位为8位的块,覆盖192.168.1.0到192.168.1.255共256个地址。按照惯例,第一个地址192.168.1.0保留作网络地址,最后一个192.168.1.255保留作广播地址。

大多数路由器和防火墙的ACL语法只接受CIDR表示法(或子网掩码加通配符掩码)来描述网络范围,无法直接表达任意起止点的地址范围。因此需要像本工具这样先把范围转换成CIDR块,再应用到配置中。

IP范围只是用「起始IP到结束IP」来描述一段连续地址的表达方式。而CIDR块是一种特殊的IP范围,其边界必须对齐到由前缀长度决定的2的幂次方位置。每个CIDR块都是IP范围,但并非每个IP范围都是CIDR块。
ツールくん

闲话 ― IP范围转CIDR算法背后的原理

把IP范围拆分成CIDR块的算法,是计算机科学中「贪心算法」的一个通俗易懂的实例。做法很简单:每次从当前位置出发,同时考虑「当前地址对齐到多少位的2的幂次方边界」和「剩余范围还有多大」这两个限制条件,选出满足两者的最大块,跳过这个块继续处理剩余部分,直到到达终点为止。这种贪心策略在理论上可以证明总能得到数量最少的块。

在实际工作中,工程师经常会遇到只接受CIDR表示法、而不支持任意IP范围的系统,例如云平台的安全组或本地路由器的ACL。把云服务商分配的地址段,或者内部台账里一直记录为「10.1.0.10 到 10.1.0.50」这样的范围,转换成路由器可用的CIDR块,是一个绕不开的步骤。手工进行位运算既繁琐又容易出错,这正是转换工具能派上用场的地方。

反过来,从CIDR表示法推算出IP范围的需求,通常出现在需要以「起始到结束」这种直观方式确认已分配地址块范围的场景。例如服务商分配给你「203.0.113.0/28」这个块,如果能立即确认可用地址范围是203.0.113.0到203.0.113.15,就能准确地设置防火墙许可名单或DHCP分配范围,避免出错。

→ 查看全部趣味知识