Conversor de CIDR a rango de IP

Expande cualquier bloque CIDR en su primera y última dirección, o agrupa un rango de IP inicio–fin arbitrario en el conjunto más pequeño de bloques CIDR que lo cubre. En ambos sentidos, al instante, en una URL que puedes compartir.

La notación CIDR y los rangos de direcciones describen lo mismo de dos formas, y cada herramienta pide una distinta. Una regla de firewall admite 10.0.0.0/24; la exportación de una lista de permitidos te da 10.0.0.0 a 10.0.0.255; una consola cloud pide una mientras tu ticket cita la otra. Este conversor va en ambos sentidos: pega un bloque como 10.0.0.0/24 y obtendrás la dirección de red, la de broadcast y el primer y último host utilizable; pega una dirección de inicio y otra de fin y obtendrás la lista mínima de bloques CIDR que cubre exactamente el rango.

Ambos sentidos se ejecutan por completo en tu navegador y escriben sus datos en la URL de la página, así que un resultado es un enlace que puedes soltar tal cual en un ticket, un runbook o una revisión. No se sube nada ni se guarda nada.

Dirección de red
10.0.0.0
Dirección de difusión
10.0.0.255
Primer host
10.0.0.1
Último host
10.0.0.254
Direcciones totales
256
Hosts utilizables
254

Expandir un bloque CIDR en un rango de direcciones

Un bloque CIDR es una dirección base y una longitud de prefijo: el /N cuenta cuántos bits iniciales quedan fijos. Todo lo que contiene el bloque comparte esos N bits, y los 32 − N bits restantes van contando las direcciones de dentro. El bloque alberga por tanto 2^(32 − N) direcciones, seguidas desde la dirección de red (todos los bits de host a 0) hasta la de broadcast (todos los bits de host a 1). 10.0.0.0/24 fija los primeros 24 bits, deja 8 bits de host y abarca así de 10.0.0.0 a 10.0.0.255: 256 direcciones, de las cuales 10.0.0.1 a 10.0.0.254 son los 254 hosts utilizables.

Las direcciones de red y de broadcast son los dos extremos de esa serie. En una subred normal la dirección de red (aquí el .0) nombra la propia subred y la de broadcast (el .255) llega a todos sus hosts, así que ninguna de las dos se puede asignar a una interfaz, y por eso un /24 ofrece 256 direcciones en total pero 254 utilizables. Quita un bit y las cifras se duplican: un /23 son 512 direcciones y 510 utilizables; añade uno y se reducen a la mitad.

Dos prefijos son especiales porque no tienen sitio para direcciones de red y broadcast separadas. Un /32 es una única dirección: la primera, la última y la dirección misma coinciden, y así se escribe una ruta de host o una entrada de firewall para una sola IP. Un /31 es un bloque de dos direcciones sin broadcast: la RFC 3021 lo define para enlaces punto a punto, donde ambas direcciones son utilizables como los dos extremos del enlace. El conversor informa de las cifras de broadcast y de hosts en consecuencia, y muestra un guion donde un /31 o un /32 no tiene broadcast que indicar.

Agrupar un rango de direcciones en bloques CIDR

En el otro sentido la aritmética se pone interesante, porque un rango arbitrario no suele poder escribirse como un solo bloque CIDR. Un bloque CIDR tiene que estar alineado: un bloque de tamaño 2^k debe empezar en una dirección múltiplo de 2^k. Un rango cuyo inicio no esté alineado con su longitud (o cuya longitud no sea potencia de dos) sencillamente no encaja en ningún prefijo, así que hay que partirlo en varios bloques alineados que lo cubran con exactitud.

Toma 192.168.1.10 a 192.168.1.20, once direcciones. Once no es potencia de dos, y .10 no está alineado con un bloque grande, así que la cobertura sale en cuatro piezas: 192.168.1.10/31 (el par .10–.11), luego 192.168.1.12/30 (.12–.15), luego 192.168.1.16/30 (.16–.19) y luego 192.168.1.20/32 (el .20 suelto). Juntos, esos cuatro bloques contienen exactamente las once direcciones de .10 a .20 y ni una más.

El conversor construye esa lista de forma voraz: en cada paso coloca el bloque más grande que empieza en la dirección actual (respetando la alineación) y no se pasa del final del rango, y después avanza a la siguiente dirección sin cubrir. Tomar cada vez el bloque alineado más grande da, de forma demostrable, la cobertura mínima: ninguna lista más corta de bloques CIDR describe el mismo rango. En la práctica las listas se quedan cortas: hasta el rango IPv4 más incómodo necesita como mucho unas pocas docenas de bloques.

Dónde hace falta cada forma

Qué notación necesitas lo decide lo que la consume, y rara vez se ponen de acuerdo. Convertir entre ambas es un paso rutinario del trabajo diario de redes y seguridad:

  • Reglas de firewall y ACL: la mayoría aceptan CIDR, así que un "todo de .10 a .20" dicho por una persona hay que convertirlo en la lista de bloques antes de poder pegarlo.
  • Grupos de seguridad cloud y reglas de VPC: AWS, Azure y GCP toman CIDR para los rangos de origen y destino, nunca un par inicio–fin en bruto.
  • Objetos de ruta y registros IRR / RPKI: los prefijos se registran y se filtran en CIDR, así que una asignación descrita como rango hay que expresarla en bloques alineados.
  • Fuentes Geo-IP y listas de permitidos o bloqueados: se publican a menudo como rangos inicio–fin, y agruparlas en CIDR es lo que permite cargarlas en routers y firewalls.

¿Necesitas direcciones detrás de estos prefijos?

Los servidores dedicados de Serverside incluyen espacio IP enrutado y protección DDoS en cada puerto, de modo que los rangos que conviertes aquí acaban sobre infraestructura real y defendible.

Preguntas frecuentes

Introduce el bloque, por ejemplo 10.0.0.0/24, en el modo CIDR. El prefijo fija los bits iniciales y el resto va contando las direcciones de dentro, así que el rango va de la dirección de red (10.0.0.0) a la de broadcast (10.0.0.255). El conversor muestra ambos extremos más el primer y el último host utilizable, de 10.0.0.1 a 10.0.0.254 en un /24.

Más herramientas