sipcalc es una calculadora de direcciones ip ( ipv4 e ipv6 ) muy útil para realizar subnetting.
Está disponible para Linux, MacOS, Unix … y en Windows bajo Cygwin
La instalación es sencilla. Podemos descargar el código fuente y compilar o usar gestores de paquetes como yum.Si usamos el repositorio EPEL, veremos que sipcalc está disponible para EPEL 5 pero no para EPEL 6
Si usamos el gestor de paquetes yum:
yum install sipcalc -y
La instalación a partir del código fuente para la release actual 1.1.6:
cd /usr/local/src/ wget http://www.routemeister.net/projects/sipcalc/files/sipcalc-1.1.6.tar.gz tar xzf sipcalc-1.1.6.tar.gz cd sipcalc-1.1.6 ./configure make make install
Realizaremos una prueba de subnetting ipv6 con un prefijo anunciado por BGP de Google, ASN 15169.
El prefijo elegido es 2A00:1450::/32
La información de red de la red la obtenemos con el siguiente comando:
[root@server ~]# sipcalc -6 2A00:1450::/32 -a
-[ipv6 : 2A00:1450::/32] - 0
[IPV6 INFO]
Expanded Address - 2a00:1450:0000:0000:0000:0000:0000:0000
Compressed address - 2a00:1450::
Subnet prefix (masked) - 2a00:1450:0:0:0:0:0:0/32
Address ID (masked) - 0:0:0:0:0:0:0:0/32
Prefix address - ffff:ffff:0:0:0:0:0:0
Prefix length - 32
Address type - Aggregatable Global Unicast Addresses
Network range - 2a00:1450:0000:0000:0000:0000:0000:0000 -
2a00:1450:ffff:ffff:ffff:ffff:ffff:ffff
[V4INV6]
Expanded v4inv6 address - 2a00:1450:0000:0000:0000:0000:0.0.0.0
Compr. v4inv6 address - 2a00:1450::0.0.0.0
[IPV6 DNS]
Reverse DNS (ip6.arpa) -
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5.4.1.0.0.a.2.ip6.arpa.
Si queremos partir el prefijo ipv6 /32 en subredes /48 vemos que hay 48-32= 16 bits de máscara de subred de diferencia.
Por lo tanto obtendremos 2^16 = 65536 subredes “/48” en una red “/32”
Las 5 primeras subredes: [root@server ~]# sipcalc -6 2A00:1450::/32 -S 48 | grep Network | head -n 5 Network - 2a00:1450:0000:0000:0000:0000:0000:0000 - Network - 2a00:1450:0001:0000:0000:0000:0000:0000 - Network - 2a00:1450:0002:0000:0000:0000:0000:0000 - Network - 2a00:1450:0003:0000:0000:0000:0000:0000 - Network - 2a00:1450:0004:0000:0000:0000:0000:0000 - Las 5 últimas: [root@rserver ~]# sipcalc -6 2A00:1450::/32 -S 48 | grep Network | tail -n 5 Network - 2a00:1450:fffb:0000:0000:0000:0000:0000 - Network - 2a00:1450:fffc:0000:0000:0000:0000:0000 - Network - 2a00:1450:fffd:0000:0000:0000:0000:0000 - Network - 2a00:1450:fffe:0000:0000:0000:0000:0000 - Network - 2a00:1450:ffff:0000:0000:0000:0000:0000 - Contemos la totalidad de redes: [root@server ~]# sipcalc -6 2A00:1450::/32 -S 48 | grep Network | wc -l 65536
Los flags usados son:
-6 = ipv6 -a = all, Mostrar la máxima información -S longitud de máscara = split, para realizar subnetting
Para más información puedes usar el comando man sipcalc