1ASIR - Redes - Divide tu red en 2 (y hazla crecer sola con DHCP)
Práctica P1.8: divide tu red en dos (y hazla crecer sola con DHCP)
📖 Si quieres repasar la teoría antes de empezar (o te atascas en la Parte 0), tienes el resumen en Redes: Conceptos básicos de Subnetting y DHCP.
Objetivo: en P1.7 te dimos las IPs (10.50.0.0/24, 172.16.60.0/24) ya
calculadas, cada una un /24 completo. Aquí las calculas tú: partes un
único /24 en dos subredes iguales
(el cálculo más simple que existe: cambiar la máscara una sola vez y
aplicarla igual dos veces), y además montas un servidor
DHCP de
verdad para que una de las dos redes se configure sola — cerrando lo que
P1.5 y P1.6 dejaron pendiente (viste DHCP desde el lado cliente; ahora lo
montas desde el lado servidor).
💡 Por qué dos mitades iguales, y no de tamaños distintos: calcular subredes de tamaños distintos (lo que se llama VLSM) es un paso más de dificultad — primero hay que dominar el cálculo básico (qué cambia al mover la máscara) con el caso más simple: partir en partes iguales. Ese paso con tamaños distintos lo veremos en una práctica posterior (P1.10).
Nivel: medio — necesitas tener claro P1.6 (MAC/IP/ARP/DHCP) y P1.7
(enrutamiento con ip_forward). Esta práctica los combina y les añade un
primer cálculo de subredes encima.
Antes de empezar: 5 VMs esta vez (una más que en P1.7). Si todavía
tienes las VMs de P1.7, reutilízalas: clona PC-A en PC-A1 y PC-A2,
PC-B en PC-B1 y PC-B2, y Router1 lo puedes reutilizar directamente
(solo le cambiarás las IPs). Te ahorras media práctica de instalación.
⚠️ Modo de red: Red interna, como en P1.7. Ni NAT ni Puente — repasa la tabla de P1.7 si no la tienes clara. Necesitas dos “Redes internas” distintas (
segA,segB), con el mismo nombre exacto en todas las VMs que comparten red.
Escenario
- LAN-A (
segA):PC-A1yPC-A2. Reciben su IP por DHCP, servido porRouter1. - LAN-B (
segB):PC-B1yPC-B2. IP manual y persistente (/etc/network/interfaces, como en P1.7). Router1tiene un pie en cada red, como en P1.7 — pero esta vez además hace de servidor DHCP parasegA.- Las dos subredes son del mismo tamaño — no necesitas decidir cuál es “más grande”, solo partir el bloque en dos mitades iguales.
Parte 0: divide tu bloque en dos subredes iguales — a mano, antes de tocar una VM
Tienes un único bloque para repartir: 10.80.0.0/24.
Necesitas dos subredes separadas dentro de ese bloque (una para segA,
otra para segB) — y, a diferencia de P1.7, aquí nadie te da la máscara:
la calculas tú. Como las dos subredes van a tener exactamente el mismo
tamaño, te basta con responder una sola pregunta — "¿qué
máscara de subred
parte un /24 en exactamente dos mitades iguales?" — y aplicar esa misma
máscara a las dos.
Rellena esta tabla antes de seguir (las dos filas de máscara serán idénticas; el resto cambia porque cada mitad ocupa un rango distinto):
| Dato | Subred A (segA, primera mitad) |
Subred B (segB, segunda mitad) |
|---|---|---|
Máscara (CIDR, ej. /25) |
||
Máscara (decimal, ej. 255.255.255.128) |
||
| Dirección de red | ||
| Rango de hosts válidos (primera — última) | ||
| Dirección de difusión (broadcast) | ||
IP que usará Router1 (primera IP válida) |
💡 Pista, no solución: un
/24tiene 256 direcciones. Si “le quitas un bit” a la parte de host (pasas de/24a/25), ¿en cuántos trozos lo partes, y de qué tamaño queda cada uno?⚠️ Error típico de prácticas anteriores: la dirección de red (la primera de cada mitad) y la de broadcast (la última) no son IPs de host — no se las pongas a ninguna VM. Si tu tabla dice que
PC-A1tiene la IP de red o la de broadcast de su subred, algo se ha calculado mal.
¿Ya has rellenado la tabla? Comprueba tu resultado con la topología completa ya montada:

Topología con un reparto correcto de 10.80.0.0/24 — si tu tabla no coincide, revisa la Parte 0 antes de seguir (haz clic para ampliar)
Parte 1: crea las 5 VMs y sus adaptadores de red
| VM | Adaptador 1 | Adaptador 2 |
|---|---|---|
| PC-A1 | Red interna, nombre segA |
— |
| PC-A2 | Red interna, nombre segA |
— |
| PC-B1 | Red interna, nombre segB |
— |
| PC-B2 | Red interna, nombre segB |
— |
| Router1 | Red interna, nombre segA |
Red interna, nombre segB |
💡 RAM de cada VM: estas máquinas no necesitan entorno gráfico — instala Debian solo con el sistema base (sin escritorio). Asigna 512 MB de RAM a cada una (Configuración → Sistema → Placa base en VirtualBox): con 5 VMs mínimas de sobra te cabe en un equipo de 8 GB. ALERTA!: en los PCs ‘virtuales’ necesitas instalar el cliente DHCP:
PC-A1$ sudo apt install isc-dhcp-client
RECUERDA hacerlo en todos los PCs que van a usar DHCP en esta práctica. ¿Ya tienes claros cuales son ?
Parte 2: Subred B — IP manual y persistente (como en P1.7)
💡 Antes de copiar los comandos:
enp0s3/enp0s8son los nombres habituales en VirtualBox para el Adaptador 1 y 2, pero no están garantizados. Comprueba los tuyos conip -br aen cada VM antes de ejecutar nada, y sustituye el nombre si no coincide.
PC-B1 y PC-B2 no tienen DHCP — les pones la IP a mano, usando tu
cálculo de la Parte 0 (sustituye IP_B1, IP_B2, MASCARA_B, GW_B por
tus valores calculados):
# PC-B1 — /etc/network/interfaces
auto enp0s3
iface enp0s3 inet static
address IP_B1
netmask MASCARA_B
gateway GW_B
# PC-B2 — /etc/network/interfaces
auto enp0s3
iface enp0s3 inet static
address IP_B2
netmask MASCARA_B
gateway GW_B
# Router1 — adaptador de segB (sin "gateway": Router1 no sale de segB, solo la conecta)
auto enp0s8
iface enp0s8 inet static
address GW_B
netmask MASCARA_B
Aplica con sudo systemctl restart networking (o reinicia la VM), y
comprueba PC-B1 <-> PC-B2 con ping antes de seguir.
Parte 3: Subred A — Router1 como servidor DHCP
Primero, la IP de Router1 en segA (esta sí, manual — el router necesita
una IP fija para poder ofrecer DHCP):
# Router1 — adaptador de segA
auto enp0s3
iface enp0s3 inet static
address GW_A
netmask MASCARA_A
Instala el servidor DHCP:
Router1$ sudo apt install isc-dhcp-server
Dile en qué interfaz debe escuchar (edita /etc/default/isc-dhcp-server):
INTERFACESv4="enp0s3"
Y configura una única declaración subnet en /etc/dhcp/dhcpd.conf
(sustituye por tus valores calculados en la Parte 0):
subnet RED_A netmask MASCARA_A {
range IP_INICIO_RANGO IP_FIN_RANGO;
option routers GW_A;
}
⚠️
IP_INICIO_RANGOnunca puede serGW_A.GW_Aya se la has asignado aRouter1a mano (párrafo anterior); elrangeque ofrezcas por DHCP tiene que empezar enGW_A + 1y terminar en la última IP válida de la subred. Si el rango incluyeraGW_A, el servidor podría llegar a ofrecerla a un cliente y duplicar la IP del propio router.
Router1$ sudo systemctl restart isc-dhcp-server
Router1$ sudo systemctl status isc-dhcp-server # debe decir: active (running)
💡 Si no dice
active (running): mira el motivo conjournalctl -u isc-dhcp-server -n 30. Como solo vas a ofrecer DHCPv4, asegúrate de que en/etc/default/isc-dhcp-serverla líneaINTERFACESv6=""queda vacía (o comentada) — así el servicio no intenta arrancar también el proceso IPv6 sin tenerdhcpd6.confconfigurado.
Ahora, desde PC-A1 y PC-A2 (sin IP manual — déjalas en DHCP, que es el
modo por defecto):
PC-A1$ sudo dhclient -v enp0s3 # DISCOVER / OFFER / REQUEST / ACK — como en P1.6
PC-A1$ ip -br a # confirma que te ha llegado una IP de tu rango
💡 Si no recibes nada: revisa que
INTERFACESv4apunte a la interfaz correcta, que elrangeesté dentro de tu subred calculada (no fuera de ella), y quePC-A1/PC-A2estén en la misma “Red interna”segAqueRouter1.
Parte 4: conecta las dos subredes (ip_forward, como en P1.7)
Router1$ sysctl net.ipv4.ip_forward # sin sudo: solo lees
Router1$ sudo sysctl -w net.ipv4.ip_forward=1 # con sudo: cambias algo del kernel
Comprueba, en los dos sentidos:
PC-A1$ ping -c3 IP_B1
PC-B1$ ping -c3 IP_A1 # IP_A1 es la que le haya tocado a PC-A1 por DHCP
Para que ip_forward sobreviva a un reinicio de Router1, descomenta en
/etc/sysctl.conf:
net.ipv4.ip_forward=1
🚀 Ampliación: reserva una IP fija por MAC dentro del DHCP
Todavía no has fijado ninguna IP dentro de segA — cada vez que PC-A1 o
PC-A2 renueven su lease, podrían recibir una IP distinta. Igual que P1.5
ya adelantaba (“un servicio necesita una IP que no cambie”), añade una
declaración host en /etc/dhcp/dhcpd.conf para reservar siempre la misma
IP a una de las dos VMs, por su MAC (consíguela con ip -br link en esa VM):
host pc-a1-fija {
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address IP_FIJA_DENTRO_DEL_RANGO;
}
Reinicia isc-dhcp-server, renueva el lease en esa VM (sudo dhclient -r && sudo dhclient -v enp0s3) y comprueba que siempre le toca la misma IP,
reinicio tras reinicio.
Preguntas de cierre (3-4 líneas cada una)
- ¿Por qué no vale usar el mismo
/24para las dos subredes? ¿Qué pasaría sisegAysegBse solaparan en direcciones? Router1solo tiene una declaraciónsubnetendhcpd.conf(la desegA). ¿Por qué no necesita otra parasegB, si al final las conecta igualmente?- ¿Qué diferencia práctica notas entre poner la IP a mano (
segB, Parte 2) y recibirla por DHCP (segA, Parte 3), el día que tengas que cambiar 20 máquinas de sitio? - Aquí las dos subredes tenían el mismo tamaño. ¿Qué problema crees que aparecería si
segAnecesitara sitio para 50 equipos ysegBsolo para 2? (No hace falta que lo resuelvas — solo que expliques por qué partir en mitades iguales ya no te valdría.)
Entrega
Un único PDF (practica-subnetting-dhcp-apellido.pdf) con:
- La tabla de la Parte 0 (cálculo de subredes) completa.
- Captura de
dhclient -vrecibiendo IP enPC-A1oPC-A2. - Captura del
pingentresegAysegBfuncionando en los dos sentidos. - Las respuestas a las preguntas de cierre.
- Por sFTP a nuestro servidor.
Happy hacking! :-)
RUBRICA DE CALIFICACIÓN
Criterios de contenido (100%)
| Criterio | Peso | Qué se valora |
|---|---|---|
| Cálculo de subredes correcto (Parte 0) | 25% | Máscara correcta aplicada igual a las dos mitades · red/broadcast/rango de hosts correctos y sin solape |
| Subred B: IP manual y persistente | 15% | /etc/network/interfaces correcto en PC-B1/PC-B2/Router1 · sobrevive a un reinicio |
| Subred A: DHCP funcionando | 25% | isc-dhcp-server activo · una única subnet · PC-A1 y PC-A2 reciben IP dentro del rango calculado |
| Conectividad entre subredes | 20% | ip_forward activado y comprobado · ping funciona en ambos sentidos |
| Documentación y preguntas de cierre | 15% | Capturas pedidas presentes · respuestas propias, no copiadas de la guía |
🎁 Bonus (no resta si no se hace): +10% extra por la ampliación de la reserva fija por MAC, bien comprobada (lease estable tras renovar).
Escala orientativa
- Excelente (9-10): cálculo de subredes correcto, DHCP y configuración manual funcionando, conectividad en ambos sentidos, preguntas respondidas con criterio propio.
- Notable (7-8.9): el cálculo de subredes es correcto pero falla el DHCP o la conectividad entre subredes, o viceversa.
- Suficiente (5-6.9): las subredes están mal calculadas (solapan, o la máscara no es la misma en las dos) pero el resto de la práctica funciona.
- Insuficiente (<5): no hay cálculo de subredes documentado, o ninguna de las dos subredes llega a funcionar.
“Recuerda… ¡KISS!” :-)
