Si se os da tan mal como a mí el cálculo de subredes o simplemente queréis una herramienta rápida para hacerlo tenéis ipcalc o sipcalc. A través de este comando podremos calcular subredes directamente desde la línea de comandos. La principal diferencia entre ambos es que sipcalc acepta IPV6 y permite subnetting.
Para instalarlos utilizamos los gestores de paquetes correspondientes, apt, yum…
Debian, Ubuntu…
$ sudo apt-get install ipcalc
RHEL, CentOS, Fedora…
$ sudo yum install ipcalc
Nota: en RHEL y CentOS hay que activar el repositorio rpmforge.
En el caso de CentOS y RHEL 6 de 64 bits:
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm # yum install rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm # yum install --enablerepo=rpmforge-extras ipcalc
La utilización es bien sencilla, podemos pasar como parámetro la subred en formato CIDR y nos devuelve toda la información de la misma, máscara, red, nº de hosts, etc:
$ ipcalc 10.0.0.0/24 Address: 10.0.0.0 00001010.00000000.00000000. 00000000 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 10.0.0.0/24 00001010.00000000.00000000. 00000000 HostMin: 10.0.0.1 00001010.00000000.00000000. 00000001 HostMax: 10.0.0.254 00001010.00000000.00000000. 11111110 Broadcast: 10.0.0.255 00001010.00000000.00000000. 11111111 Hosts/Net: 254 Class A, Private Internet
IPV6 con sipcalc:
$ sipcalc 2001:DB8::/24 -[ipv6 : 2001:DB8::/24] - 0 [IPV6 INFO] Expanded Address - 2001:0db8:0000:0000:0000:0000:0000:0000 Compressed address - 2001:db8:: Subnet prefix (masked) - 2001:d00:0:0:0:0:0:0/24 Address ID (masked) - 0:b8:0:0:0:0:0:0/24 Prefix address - ffff:ff00:0:0:0:0:0:0 Prefix length - 24 Address type - Aggregatable Global Unicast Addresses Network range - 2001:0d00:0000:0000:0000:0000:0000:0000 - 2001:0dff:ffff:ffff:ffff:ffff:ffff:ffff
Otra característica interesante es la posibilidad de sipcalc de especificar una red y hacer subneting con ella, si por ejemplo queremos dividir un /21 en redes /22 o /24:
$ sipcalc -s24 10.0.0.0/21 -[ipv4 : 10.0.0.0/21] - 0 [Split network] Network - 10.0.0.0 - 10.0.0.255 Network - 10.0.1.0 - 10.0.1.255 Network - 10.0.2.0 - 10.0.2.255 Network - 10.0.3.0 - 10.0.3.255 Network - 10.0.4.0 - 10.0.4.255 Network - 10.0.5.0 - 10.0.5.255 Network - 10.0.6.0 - 10.0.6.255 Network - 10.0.7.0 - 10.0.7.255 - $ sipcalc -s22 10.0.0.0/21 -[ipv4 : 10.0.0.0/21] - 0 [Split network] Network - 10.0.0.0 - 10.0.3.255 Network - 10.0.4.0 - 10.0.7.255
Si revisáis la página man del comando encontraréis más información de interés sobre las posibilidades de ambos comandos
Muchas gracias! La verdad es que viene de perlas para gente como yo, que se me da fatal el tema de calculo de ips y redes :(
Por cierto, «ipcalc» y «sipcalc» hay que instalarlos por separados. Por lo menos yo he tenido que instalar «sipcalc» después de ipcalc.
P.D, sigo el blog desde el 2011 y me encanta.
Gracias por la info Kevin! El post es de 2011 ó 2012 y lo refloté el otro día, igual en su momento iban en el mismo paquete ;)
Me alegro que te guste el blog.
Saludos!!
Excelente aporte, lo necesitaba