miércoles, 1 de noviembre de 2023

Entendiendo las máscaras de red



En la configuración TCP/IP, los PCs deben tener una IP y una máscara de red. La máscara de red determina el rango de la red, es decir, el número de direcciones de la red. Dada una IP y una máscara, podemos, mediante unos "sencillos" cálculos, averiguar el rango de la red, la primera dirección IP que corresponde con la dirección de red, la última dirección IP que corresponde con la dirección de difusión o dirección broadcast y el número de IPs total del rango.

La máscara, es un valor que, si le pasamos a binario, solamente contiene 'unos' y 'ceros' consecutivos, es decir, que los 'unos' están todos juntos y luego los 'ceros' están todos juntos. Los únicos posibles valores de las máscaras son los que aparecen en esta Tabla de máscaras:


        Máscara en binario          Decimal       CIDR  Nº IPs
11111111.00000000.00000000.00000000 255.0.0.0       /8  16777216
11111111.10000000.00000000.00000000 255.128.0.0     /9  8388608
11111111.11000000.00000000.00000000 255.192.0.0     /10 4194304
11111111.11100000.00000000.00000000 255.224.0.0     /11 2097152
11111111.11110000.00000000.00000000 255.240.0.0     /12 1048576
11111111.11111000.00000000.00000000 255.248.0.0     /13 524288
11111111.11111100.00000000.00000000 255.252.0.0     /14 262144
11111111.11111110.00000000.00000000 255.254.0.0     /15 131072
11111111.11111111.00000000.00000000 255.255.0.0     /16 65536
11111111.11111111.10000000.00000000 255.255.128.0   /17 32768
11111111.11111111.11000000.00000000 255.255.192.0   /18 16384
11111111.11111111.11100000.00000000 255.255.224.0   /19 8192
11111111.11111111.11110000.00000000 255.255.240.0   /20 4096
11111111.11111111.11111000.00000000 255.255.248.0   /21 2048
11111111.11111111.11111100.00000000 255.255.252.0   /22 1024
11111111.11111111.11111110.00000000 255.255.254.0   /23 512
11111111.11111111.11111111.00000000 255.255.255.0   /24 256
11111111.11111111.11111111.10000000 255.255.255.128 /25 128
11111111.11111111.11111111.11000000 255.255.255.192 /26 64
11111111.11111111.11111111.11100000 255.255.255.224 /27 32
11111111.11111111.11111111.11110000 255.255.255.240 /28 16
11111111.11111111.11111111.11111000 255.255.255.248 /29 8
11111111.11111111.11111111.11111100 255.255.255.252 /30 4

 

En la primera columna de la tabla anterior, vemos los posibles valores de las máscaras en sistema binario.

En la segunda columna, vemos los valores de las máscaras en decimal.

En la tercera columna, vemos los valores de las máscaras en notación CIDR indicando el número de 'unos' de la máscara. Cuando queremos decir que un PC tiene configurada la dirección IP 192.168.0.213 y máscara 255.255.255.0, normalmente se dice que tiene la IP 192.168.0.213/24 porque la máscara tiene 24 “unos” y por tanto tendrá 8 “ceros”.

En la cuarta columna vemos las direcciones totales incluida la dirección de red y la dirección de broadcast. Para calcular el número de direcciones asignables a PCs, debemos restar dos unidades a ese número ya que ni la primera IP (dirección de red) ni la última (dirección de broadcast) son asignables a PCs. El resto sí, aunque acaben en cero, aunque si sobran, se recomienda no usar las que acaben en cero. Ejemplo, si tenemos la máscara 255.0.0.0, el número máximo de PCs será:

                                       16.777.216 - 2 = 16.777.214


El número total de direcciones IP de la red se obtiene con la fórmula: 2 elevado al n° de ceros de la máscara. Si se trata de una máscara /26, significa que la máscara tiene 6 ceros, por tanto 2^6=64. Como la primera y la última IP no se pueden utilizar, tenemos que el máximo son 64 - 2 = 62 PCs.

Pasar la máscara de binario a decimal

Hay que convertir byte a byte de binario a decimal, teniendo en cuenta que el bit más significativo está a la izquierda. Ejemplo, supongamos que el último byte de la máscara es 11100000, su valor será 224 porque:

Peso del bit: 128 64 32 16 8 4 2 1

Máscara    1   1   1  0 0 0 0 0 => 128 + 64 + 32 = 224.

También se puede hacer con Excel, mediante las fórmulas BIN.A.DEC y DEC.A.BIN

Averiguar la máscara, dado el número de direcciones IP totales del rango

La máscara de subred es un valor directamente ligado al número de direcciones totales de la red, es decir, dado un número de direcciones, obtenemos la máscara y dada una máscara, obtenemos el número total de direcciones. Si nos dicen que el rango es de X direcciones, podemos consultar la tabla de máscaras y averiguar directamente la máscara de red.

-Ejemplo: si el rango son 64 direcciones, la máscara será: 255.255.255.192 y vivecersa, si la máscara es 255.255.255.192, el rango será de 64 direcciones.

-Ejemplo: si el rango son 512 direcciones, la máscara será: 255.255.254.0 y viceversa, si la máscara es 255.255.254.0, el rango será de 512 direcciones.

Recordar que, si el rango son 64 direcciones, solamente se pueden usar 62 para asignar a los PCs y si el rango son 512 direcciones, solamente se pueden utilizar 510 para asignar a PCs. Hay que restar 2 ya que ni la primera ni la última dirección son utilizables porque están reservadas.

Hay que tener en cuenta que el número de direcciones de un rango tiene que ser una potencia de 2. Si nos preguntan qué máscara utilizar si necesitamos 200 PCs, usaremos la máscara 255.255.255.0 que admite hasta 256 direcciones. Para no complicarse, lo mejor es utilizar siempre la máscara 255.255.255.0 aunque el número de PCs de la red sea muy pequeño, total, lo que nos sobran son direcciones IP, así que no merece la pena andar utilizando máscaras 'raras'. Si nuestra red tiene solo 5 PCs, lo normal es utilizar el rango 192.168.0.0/24, es decir, máscara 255.255.255.0, lo que nos da un rango de 256 direcciones que van desde la 192.168.0.0 hasta la 192.168.0.255.

Averiguar direcciones de red y de broadcast dada una IP y una máscara

Si nos dan una IP y una máscara, podemos, mediante unos sencillos cálculos, averiguar el rango de la red, la primera dirección IP (que corresponde con la dirección de red), la última dirección de red (que corresponde con la dirección de broadcast) y el número de IPs del rango.

Si nos dan una IP y nos dan la máscara, es fácil averiguar la dirección de red y la dirección de broadcast si conocemos el sistema binario y sabemos realizar operaciones lógicas. Debemos pasar la IP y la máscara a binario y hacer dos operaciones lógicas.

Para calcular la dirección de red, debemos hacer una operación lógica Y (AND) bit a bit entre la IP y la máscara.

Para obtener la dirección de broadcast, debemos hacemos una operación lógica O (OR) bit a bit entre la IP y el inverso de la máscara.

Debemos recordar que en una operación AND entre dos bits, el resultado es 1 si los dos bits son 1 y si no, el resultado es 0. En una operación OR, el resultado es 1 si cualquiera de los dos bits son 1 y si los dos son 0, el resultado es 0. Más información: »http://es.wikipedia.org/wiki/AND

Ejemplo: supongamos que nuestro PC tiene la IP 192.168.1.100/26, es decir, máscara 255.255.255.192 (ver tabla de máscaras). ¿Cuáles serán las direcciones de red y de broadcast?


Dirección de red

Dirección IP:  192.168.1.100        11000000 10101000

00000001

01100100

Máscara:      255.255.255.192       11111111 11111111

11111111

11000000

Operación AND:                      11000000 10101000

00000001

01000000

Obtenemos la dirección de red en binario, que en decimal es

192.160.1.64

 

Dirección de broadcast

Dirección IP: 192.168.1.100  11000000 10101000 00000000 01100100

Inverso de la Máscara:       00000000 00000000 00000000 00111111

Operación OR:                11000000 10101000 00000000 01111111

Obtenemos la dirección de broadcast, que en decimal es 192.168.1.127

 

Averiguar la máscara a partir de las direcciones de red y de broadcast

Un método seguro para calcular la máscara de red partiendo de la dirección de red y de la dirección de broadcast, es pasar los valores a binario y luego compararlos bit a bit. Los bits que coincidan (sean iguales en la dirección de red y en la dirección de broadcast), corresponden a 'unos' en la máscara y los bits que difieran, corresponden a 'ceros' en la máscara, es lo que en lógica se conoce como operación lógica de equivalencia (operación XNOR) así pues:

Dir. de red:  192.168.0.0

11000000

10101000

00000000

00000000

Dir. Broadc.:  192.168.0.255

11000000

10101000

00000000

11111111

Comparando bits tengo máscara:

11111111

11111111

11111111

00000000

 

Vemos que solo cambian los 8 últimos bits, lo que nos da la máscara. Para calcular la máscara, las posiciones que no cambian, son unos en la máscara y las que cambian, son ceros en la máscara.

Supernetting

Hacer supernetting consiste en utilizar un grupo de redes contiguas como si fueran una única red. Existe la posibilidad de utilizar varias redes de clase C (256 direcciones) contiguas para formar redes mayores. Ejemplo, si dispongo de dos clases C, 192.168.0.0/24 y 192.168.1.0/24, puedo formar una red 192.168.0.0/23 de forma que el espacio de direcciones pasa a ser de 512. Si dispongo de 256 clases C, podría formar una clase B y tendría la red 192.168.0.0/16 de forma que utilizando máscara 255.255.0.0 tendré 65536 IPs en la misma red.


jueves, 26 de mayo de 2022

winget: Instalación desatendida de aplicaciones para Windows

Winget es una nueva herramienta que funciona en las últimas versiones de Windows 10 y permite, de forma desatendida, instalar aplicaciones en Windows automátuicamente.

Ejemplos de utilización:

winget install sumatrapdfwinget install VMware.WorkstationPlayerwinget install Adobe.Acrobat.Reader.64-bitwinget install mozilla.firefoxwinget install 7zip.7zip

viernes, 4 de marzo de 2022

Hacer ping cada cierto tiempo. Hacer ping cada minuto

 A veces, queremos comprobar si una conexión está funcionando a lo largo del tiempo, pero en lugar de hacer un ping cada segundo, queremos hacer un ping cada minuto.

Se puede resolver creando un script de comandos con un bucle y un tiempo de espera, y guardar la hora y la respuesta en un archivo de salida.

Script ping-minuto.bat

:ini
time /T >> out.txt
ping -n 1 10.4.16.75 >> out.txt
timeout /T 60 /NOBREAK
goto ini


Podemos detener el script con CTRL+C y luego observar el archivo out.txt


domingo, 5 de abril de 2020

Clonezilla - Montar manualmente carpeta partimag (repositorio)

En ocasiones, cuando arrancamos Clonezilla, este no es capaz de montar automáticamente nuestro repositorio de imágenes, por eso, es bueno saberlo hacer manualmente.

Yo suelo montarlo en una carpeta bajo la ruta /mnt y luego creo un enlace simbólico hacia /home/partimag y lo único que tenemos que hacer cuando arranquemos Clonezilla es elegir la opción skip para que no intente montar el repositorio automáticamente.

Suponiendo que mi disco duro es reconocido como el dispositivo sdb1 y las clonaciones se encuentran dentro de la carpeta /CLONACIONES, los comandos serían los siguientes:

rmdir /home/partimag
mkdir /mnt/sdb1
ntfs-3g /dev/sdb1 /mnt/sdb1
ln - s /mnt/sdb1/CLONACIONES /home/partimag

Qué es Clonezilla? Tu amigo ante los desastres

LEMP (Linux E nginx Mysql Php)

Interesante artículo sobre la instalación de LEMP (Linux E nginx Mysql Php). En lugar de utilizar Apache, nos explican cómo hacerlo con nginx:

https://www.digitalocean.com/community/tutorials/como-instalar-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04-es

Comandos de Nginx que usted debe saber - EXTASSIS NETwork Tutoriales

viernes, 14 de junio de 2019

Haz que tu Raspberry Pi sea tu nube personal

Interesante artículo "Haz que tu Raspberry Pi sea tu nube personal" sobre cómo crear una nube personal privada sin necesidad de utilizar Dropbox, OneDrive ni ningún servicio.

https://computerhoy.com/noticias/tecnologia/haz-raspberry-pi-sea-nube-personal-412645



Raspberry Pi nube personal

jueves, 17 de mayo de 2018

No funciona compartir archivos entre Windows 10 equipos viejos. Activar SMB v1

Windows 10 utiliza un protocolo SMB más avanzado que sus predecesores. A veces necesitamos desde equipos viejos acceder a carpetas compartidas en Windows 10 y no funciona. Otras veces, un escaner viejo o una fotocopiadora vieja no consigue conectarse a una carpeta compartida en Windows 10. Para solucionar el problema, se puede activar el protocolo SMB 1, no obstante, hay que recordar que es un protocolo viejo e inseguro. Si aún así, deseamos activarlo, debemos seguir las instrucciones del siguiente artículo:

https://www.adslzone.net/2017/12/26/smbv1-windows-10-fall-creators-update/


A veces tenemos que configurar una impresora compartida en W10 en un equipo viejo con XP. Una solución que he encontrado en el blog de microsoft y que me ha funcionado en algunos casos, es esta:

Tenía el mismo problema. La solución que he encontrado me ha funcionado
https://social.technet.microsoft.com/Forums/cs-CZ/440f76ee-e1b9-4249-af1b-73defe23b9e7/windows-10-not-sharing-printer-with-xp-computer-on-peer-to-peer-network

En WindowsXP he instalado los drivers de impresora asignandola a un puerto cualquiera (LPT1 por ejemplo). Luego me he ido a propiedades de impresora, pestaña puertos, agregar puerto.

Seleccioné "puerto local" (Local Port) y nuevo puerto. Como nombre usé "\\NOMBREMAQUINAWINDOS10\NOMBREIMPRESORACOMPARTIDA"





He de advertir que para esto he compartido la impresora desde Windows10 con un nombre sin espacios ni caracteres que no sean alfanuméricos.