Los únicos números de red que puedo recordar ahora y siempre han sido una red Clase C con una máscara de red de 24 bits, como 192.168.1.0/24. Sé que hay 254 direcciones de host utilizables disponibles con una dirección de transmisión de 192.168.1.255, una dirección de puerta de enlace/enrutador de 192.168.1.1 o 192.168.1.254 (dependiendo de quién esté ejecutando la red) y una máscara de red legible por humanos de 255.255.255.0 . Esa es mi red estándar. Después de todo, 254 hosts son suficientes para cualquier subred, ¿verdad? Equivocado. Hace algunos años, tuve que salirme de mi escenario estándar de 254 hosts por subred cuando decidí usar una máscara de red de 22 bits (255.255.252.0) para obtener un espacio de direcciones utilizable de 1022.
Sabía poco sobre este espacio de direcciones, y era frustrante tratar de buscar la información simple que necesitaba sin desplazarme por los foros con toda la charla ociosa y la retórica fuera de tema. Supongo que algunas personas solo necesitan un espacio en el que expresar sus quejas sobre todo. Estoy divagando.
El problema
Dado que todo tiene una dirección IP en estos días, mi servidor DHCP se estaba quedando sin direcciones IP y tuve que hacer algo fácil para aliviar la situación. Tuve la idea ridícula de que 254 direcciones serían suficientes para 130 empleados, 30 servidores, 10 impresoras, dos enrutadores, 10 puntos de acceso inalámbrico y algunos otros dispositivos aleatorios en cada una de nuestras dos ubicaciones. Había olvidado que todo el mundo tiene un teléfono conectado a WiFi. Puede ver que mi dirección 254 no cubriría las PC de todos más sus teléfonos y acomodaría mis otros dispositivos requeridos. Recibí demasiadas llamadas y tickets que describían problemas que no eran tan fáciles de solucionar hasta que descubrí que me había quedado sin direcciones IP. Y, desafortunadamente, los servidores DHCP distribuyen las direcciones por orden de llegada sin tener en cuenta quién (o qué) obtiene esas direcciones.
Descubrí el sipcalc
comando para hacer mi vida un poco más fácil al determinar rangos de direcciones IP, máscaras de red y posibles direcciones de puerta de enlace. El sipcalc
command es una especie de calculadora de línea de comandos que muestra toda la información relacionada con IP que necesita para completar su información DHCP o configurar sus direcciones IP estáticas.
uso de sipcalc
Este es un ejemplo de red de Clase C estándar de 24 bits usando sipcalc
.
$ sipcalc 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network mask - 255.255.255.0
Network mask (bits) - 24
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
Cisco wildcard - 0.0.0.255
Addresses in network - 256
Network range - 192.168.1.0 - 192.168.1.255
Usable range - 192.168.1.1 - 192.168.1.254
Y, el ejemplo equivalente de máscara de red de 22 bits.
$ sipcalc 192.168.1.0/22
-[ipv4 : 192.168.1.0/22] - 0
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.0.0
Network mask - 255.255.252.0
Network mask (bits) - 22
Network mask (hex) - FFFFFC00
Broadcast address - 192.168.3.255
Cisco wildcard - 0.0.3.255
Addresses in network - 1024
Network range - 192.168.0.0 - 192.168.3.255
Usable range - 192.168.0.1 - 192.168.3.254
Si eres de los que les encanta ver mucha información, independientemente de su valor, prueba a añadir el -a
(todos) cambien a su comando.
$ sipcalc -a 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0
[Classful]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network class - C
Network mask - 255.255.255.0
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
[CIDR]
Host address - 192.168.1.0
Host address (decimal) - 3232235776
Host address (hex) - C0A80100
Network address - 192.168.1.0
Network mask - 255.255.255.0
Network mask (bits) - 24
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
Cisco wildcard - 0.0.0.255
Addresses in network - 256
Network range - 192.168.1.0 - 192.168.1.255
Usable range - 192.168.1.1 - 192.168.1.254
[Classful bitmaps]
Network address - 11000000.10101000.00000001.00000000
Network mask - 11111111.11111111.11111111.00000000
[CIDR bitmaps]
Host address - 11000000.10101000.00000001.00000000
Network address - 11000000.10101000.00000001.00000000
Network mask - 11111111.11111111.11111111.00000000
Broadcast address - 11000000.10101000.00000001.11111111
Cisco wildcard - 00000000.00000000.00000000.11111111
Network range - 11000000.10101000.00000001.00000000 -
11000000.10101000.00000001.11111111
Usable range - 11000000.10101000.00000001.00000001 -
11000000.10101000.00000001.11111110
[Networks]
Network - 192.168.1.0 - 192.168.1.255 (current)
Personalmente, creo que la información de enrutamiento entre dominios sin clases (CIDR) es la más útil. Es la salida predeterminada para el sipcalc
dominio. No estoy seguro de quién usa la información de mapa de bits, pero está ahí para aquellos de ustedes que lo hacen. Nunca he tenido una instancia en mi carrera para saberlo o usarlo. Tal vez su conocimiento sea útil para los exámenes de certificación de red, pero más allá de eso, no estoy seguro de que alguna vez lo vea en una red o aplicación de la vida real. Si lo hace, use sipcalc
para ponértelo fácil.
[ También le puede interesar:Ejecutar un escaneo NMAP rápido para inventariar mi red ]
opciones de sipcalc
Si ha leído alguno de mis artículos, sabe que utilizo un subconjunto de opciones de comando, de hecho, solo las que necesito. Rara vez tengo el tiempo o la paciencia para explorar todas las opciones de un comando. Generalmente voy a la página de manual, encuentro una o dos opciones que me dan la información que necesito y luego sigo adelante. Para aquellos de ustedes que aman explorar cada rincón y grieta, disfruten de todo sipcalc
Rincones y grietas (lista de opciones) de la página del manual:
OPTIONS
-a --all
Give all possible information about an adress or
interface, this is equivalent to giving the flags
-b -c -i -n 0 for IPv4 and -e -r -t for IPv6.
-b --cidr-bitmap (IPv4)
Display CIDR based bitmaps.
-c --classfull-addr (IPv4)
Display classfull address information.
-d --resolve
Enable name resolution.
-e --v4inv6 (IPv6)
Display v4inv6 address information.
-h --help
Display the commandline help.
-i --cidr-addr (default IPv4)
Display CIDR address information.
-I, --addr-int=INT
Explicitly add an interface. This can be used to
circumvent the sipcalc "smart parsing" of
addresses/interfaces on the commandline. This can
be useful if you for example for some reason have
an interface with the same name as an actual
address, eg. 127.0.0.1 or ::1 etc. See also: -4
-6.
-n --subnets=NUM
Display NUM extra subnets (starting from the cur-
rent subnet). Will display all subnets in the cur-
rent /24 if NUM is 0.
-r --v6rev (IPv6)
Display IPv6 reverse DNS information.
-s --v4split=MASK (IPv4)
Split the current network into subnets of MASK
size. MASK can be given in dotted quad, hex or CIDR
form.
-S, --v6split=MASK (IPv6)
Split the current network into subnets of MASK
size. MASK must be given in CIDR form, either with
or with the '/' character.
-t, --v6-standard (default IPv6)
Display IPv6 address information.
-u, --split-verbose
This will put network splitting into verbose mode.
This means that all the subnets generated when
splitting a network will be passed back to sipcalc
for explicit parsing giving the same output as if
the address had been given on the commandline. All
options passed to sipcalc on the commandline will
also be inherited when the subnet is passed back to
sipcalc for parsing, with one exception, the -s/-S
flag, we don't want an endless loop. Sending only
the -s/-S and -u flags to sipcalc will give the
default output (-i for ipv4 and -t for ipv6).
-v --version
Display version information.
-x --classful-bitmap (IPv6)
Display a classfull bitmap.
-4, --addr-ipv4=ADDR
Explicitly add an IPv4 address. See also: -I -6.
-6, --addr-ipv6=ADDR
Explicitly add an IPv6 address. See also: -I -4.
Para mí, la información de IPv6 es casi inútil porque si alguna vez convierto una de mis redes, DHCP será mi mejor amigo. Preferiría no mirar ni intentar escribir direcciones de 128 bits. Hasta entonces, sipcalc
y continuaré nuestra relación minimalista orientada a IPv4.
[ ¿Busca más información sobre la automatización de sistemas? Comience con The Automated Enterprise, un libro gratuito de Red Hat. ]
Resumir
El sipcalc
command es uno de esos comandos que guarda en su arsenal personal de administrador de sistemas para cuando lo necesite. Y no lo necesita muy a menudo a menos que se ocupe de crear, administrar y asignar espacios de direcciones IP a diario. Algunos administradores de sistemas canalizan sipcalc
La información de a un archivo de texto e imprimirlo para referencia futura. Encuentro que enviar la información a una página HTML es mucho más práctico que hacer un seguimiento de los trozos de papel por el resto de mis días o clavarlos en la pared de mi cubículo ya abarrotado.