Generado con IA · Supuesto práctico

Diseño, direccionamiento y diagnóstico de la red de un IES

Caso único con preguntas Informática Comunidad Valenciana
Descargar:
Supuesto práctico generado por la IA de OposicionesIA, con su orientación y solución modelo más abajo. Dentro de la plataforma, además, puedes resolverlo y recibir una corrección con rúbrica y nota.

Diseño, direccionamiento y diagnóstico de la red de un IES

Contexto

El IES «Serra Calderona» (l'Horta Nord, Comunitat Valenciana) renueva su red de datos. El ISP le asigna el bloque público 80.58.10.64/29 (la interfaz externa del router R1 usa la 80.58.10.65) y, para uso interno, la red privada 172.16.0.0/16. La red se conmuta con VLAN y se enruta en R1, que además realiza NAT/PAT hacia Internet. Los equipos cliente arrancan con Lliurex.

Segmentos (con su número de equipos previsto):

  • Aula de Informática 1: 60 equipos.
  • Departamentos y profesorado: 50 equipos.
  • Aula de Informática 2: 30 equipos.
  • Servidores (DMZ interna): servidor Lliurex con Moodle/web interno, DNS y DHCP; máximo 10 hosts.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 452" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <!-- Internet --> <ellipse cx="380" cy="38" rx="66" ry="25" fill="#f1f5f9" stroke="#64748b" stroke-width="1.5"/> <text x="380" y="43" text-anchor="middle" font-size="14" font-weight="bold" fill="#0f172a">Internet</text> <!-- Enlace ISP --> <line x1="380" y1="63" x2="380" y2="98" stroke="#334155" stroke-width="2"/> <rect x="452" y="54" width="228" height="40" rx="7" fill="#fff7ed" stroke="#d97706" stroke-width="1.2"/> <text x="566" y="71" text-anchor="middle" font-size="11" fill="#9a3412">Bloque público ISP · 80.58.10.64/29</text> <text x="566" y="86" text-anchor="middle" font-size="11" fill="#9a3412">R1 (interfaz externa): 80.58.10.65</text> <line x1="452" y1="78" x2="386" y2="82" stroke="#d97706" stroke-width="1" stroke-dasharray="3,3"/> <!-- Router R1 --> <rect x="304" y="98" width="152" height="58" rx="9" fill="#eff6ff" stroke="#2563eb" stroke-width="1.8"/> <text x="380" y="121" text-anchor="middle" font-size="15" font-weight="bold" fill="#0f172a">Router R1</text> <text x="380" y="139" text-anchor="middle" font-size="11" fill="#2563eb">NAT / PAT · LAN 172.16.0.0/16</text> <!-- Enlace a switch --> <line x1="380" y1="156" x2="380" y2="198" stroke="#334155" stroke-width="2"/> <!-- Conmutador --> <rect x="248" y="198" width="264" height="42" rx="7" fill="#eef2ff" stroke="#6366f1" stroke-width="1.6"/> <text x="380" y="224" text-anchor="middle" font-size="13" fill="#0f172a">Conmutador · troncal 802.1Q (VLAN)</text> <!-- Bus + bajantes --> <line x1="380" y1="240" x2="380" y2="264" stroke="#334155" stroke-width="2"/> <line x1="104" y1="264" x2="656" y2="264" stroke="#334155" stroke-width="2"/> <line x1="104" y1="264" x2="104" y2="294" stroke="#334155" stroke-width="2"/> <line x1="288" y1="264" x2="288" y2="294" stroke="#334155" stroke-width="2"/> <line x1="472" y1="264" x2="472" y2="294" stroke="#334155" stroke-width="2"/> <line x1="656" y1="264" x2="656" y2="294" stroke="#334155" stroke-width="2"/> <!-- Segmento 1: Aula 1 --> <rect x="20" y="294" width="168" height="138" rx="9" fill="#eff6ff" stroke="#2563eb" stroke-width="1.6"/> <rect x="70" y="304" width="68" height="19" rx="9" fill="#2563eb"/> <text x="104" y="317" text-anchor="middle" font-size="10" font-weight="bold" fill="#ffffff">VLAN 10</text> <text x="104" y="344" text-anchor="middle" font-size="13" font-weight="bold" fill="#0f172a">Aula Informática 1</text> <text x="104" y="378" text-anchor="middle" font-size="23" font-weight="bold" fill="#2563eb">60</text> <text x="104" y="396" text-anchor="middle" font-size="11" fill="#334155">equipos</text> <text x="104" y="420" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">/26 · 62 útiles</text> <!-- Segmento 2: Departamentos --> <rect x="204" y="294" width="168" height="138" rx="9" fill="#ecfdf5" stroke="#059669" stroke-width="1.6"/> <rect x="254" y="304" width="68" height="19" rx="9" fill="#059669"/> <text x="288" y="317" text-anchor="middle" font-size="10" font-weight="bold" fill="#ffffff">VLAN 20</text> <text x="288" y="344" text-anchor="middle" font-size="13" font-weight="bold" fill="#0f172a">Departamentos</text> <text x="288" y="378" text-anchor="middle" font-size="23" font-weight="bold" fill="#059669">50</text> <text x="288" y="396" text-anchor="middle" font-size="11" fill="#334155">equipos</text> <text x="288" y="420" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">/26 · 62 útiles</text> <!-- Segmento 3: Aula 2 --> <rect x="388" y="294" width="168" height="138" rx="9" fill="#fffbeb" stroke="#d97706" stroke-width="1.6"/> <rect x="438" y="304" width="68" height="19" rx="9" fill="#d97706"/> <text x="472" y="317" text-anchor="middle" font-size="10" font-weight="bold" fill="#ffffff">VLAN 30</text> <text x="472" y="344" text-anchor="middle" font-size="13" font-weight="bold" fill="#0f172a">Aula Informática 2</text> <text x="472" y="378" text-anchor="middle" font-size="23" font-weight="bold" fill="#d97706">30</text> <text x="472" y="396" text-anchor="middle" font-size="11" fill="#334155">equipos</text> <text x="472" y="420" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">/27 · 30 útiles</text> <!-- Segmento 4: Servidores DMZ --> <rect x="572" y="294" width="168" height="138" rx="9" fill="#fef2f2" stroke="#dc2626" stroke-width="1.6"/> <rect x="622" y="304" width="68" height="19" rx="9" fill="#dc2626"/> <text x="656" y="317" text-anchor="middle" font-size="10" font-weight="bold" fill="#ffffff">VLAN 40</text> <text x="656" y="342" text-anchor="middle" font-size="13" font-weight="bold" fill="#0f172a">Servidores (DMZ)</text> <text x="656" y="366" text-anchor="middle" font-size="18" font-weight="bold" fill="#dc2626">≤ 10</text> <text x="656" y="384" text-anchor="middle" font-size="10" fill="#334155">Moodle · web · DNS · DHCP</text> <text x="656" y="420" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">/28 · 14 útiles</text> </svg>

Figura 1. Topología de la red del IES: enrutamiento y NAT en R1, segmentación en VLAN y DMZ de servidores.

Cuestiones

1. Direccionamiento (VLSM). Partiendo de 172.16.0.0/16, diseña un esquema de máscara de longitud variable asignando a cada segmento la subred más ajustada a su número de equipos, de mayor a menor. Para cada segmento completa: dirección de red, máscara (decimal y CIDR), primera y última IP utilizable, dirección de broadcast y número de hosts útiles. Justifica el orden de asignación y deja documentado qué espacio queda libre para futuros segmentos.

2. Enrutamiento y NAT. (a) El servidor web interno debe ser accesible desde Internet por HTTPS a través de la IP pública: indica la entrada de PAT / reenvío de puertos necesaria en R1. (b) Explica por qué un bloque /29 ofrece solo 6 direcciones utilizables. (c) Distingue NAT estático y PAT (NAT de sobrecarga) y justifica cuál usarías para que los ~150 equipos del centro naveguen por Internet con la única IP pública.

3. Seguridad (ACL). Redacta —en pseudo-sintaxis tipo Cisco IOS o en iptables, a tu elección— una lista de control de acceso que: permita HTTP/HTTPS e ICMP echo desde cualquier segmento hacia el servidor; permita a «Departamentos» salida completa a Internet; y bloquee que «Aula de Informática 2» alcance el segmento de Servidores salvo a los puertos 80 y 443. Indica en qué interfaz y sentido aplicarías cada regla.

4. Buscar el error. Un técnico configuró el servicio DHCP del servidor Lliurex (isc-dhcp-server) para el «Aula de Informática 1» así:

subnet 172.16.0.0 netmask 255.255.255.192 {
    range 172.16.0.10 172.16.0.250;
    option routers 172.16.1.1;
    option domain-name-servers 8.8.8.8;
}

Los equipos obtienen dirección IP, pero no tienen conectividad entre VLAN ni resuelven el dominio interno del centro. Identifica los (al menos) dos errores de esta configuración y reescríbela de forma correcta y coherente con el diseño de la cuestión 1.

5. Mini-cuestiones conceptuales. (a) ¿Qué ventaja de seguridad y rendimiento aporta separar las dos aulas en VLAN distintas frente a una única red plana? (b) ¿Por qué conviene que el servidor DNS interno resuelva el dominio local del centro en lugar de delegar toda la resolución en 8.8.8.8?

Orientación cómo resolverlo por tu cuenta

Cuestión 1 (VLSM). Recuerda la regla de oro del VLSM: ordena los segmentos de MAYOR a menor número de hosts y asígnalos en ese orden para minimizar la fragmentación. Para cada segmento calcula los bits de host necesarios con la fórmula 2^n − 2 ≥ nº equipos (los −2 son red y broadcast). Ojo: 60 equipos NO caben en una /26 sin holgura justa; comprueba el umbral exacto. Trabaja sobre el segundo octeto de 172.16.0.0/16 y ve concatenando subredes contiguas sin solapamiento. Error típico: olvidar el +1 de la puerta de enlace o no dejar documentado el espacio libre.

Cuestión 2 (NAT). Distingue tres conceptos: reenvío de puertos (DNAT entrante para publicar el servidor), NAT estático (1:1) y PAT/overload (N:1 multiplexando por puerto). Para 150 equipos con 1 sola IP pública solo cabe una opción. Para el /29, razona la resta de red+broadcast sobre 2^3.

Cuestión 3 (ACL). Decide modelo (Cisco extendida numerada/ named, o iptables) y sé coherente. Recuerda el deny implícito final, el sentido (in/out) y la interfaz donde aplicar. Piensa por capas: permitir 80/443/icmp al servidor, salida total a Departamentos, y bloquear Aula 2 → Servidores salvo 80/443. El orden de las reglas importa (específicas antes que generales).

Cuestión 4 (error). Cruza la config con tu diseño de la C1: la máscara, el rango, la puerta de enlace y el DNS deben ser coherentes con la subred del Aula 1. Hay incoherencias en máscara/rango, en el router (debe ser la gateway de ESA subred) y en el DNS (debe apuntar al DNS interno para resolver el dominio local). Error típico: dejar 8.8.8.8 como único resolutor.

Cuestión 5 (conceptos). VLAN: aislamiento de dominios de broadcast + segmentación de seguridad. DNS interno: resolución de nombres locales, rendimiento (caché), y control. No te limites a una frase; justifica con vocabulario técnico.

Solución modelo respuesta completa — intenta resolverlo antes de mirar

Cuestión 1 — Direccionamiento VLSM partiendo de 172.16.0.0/16

Paso 1. Ordenar de mayor a menor y calcular bits de host (2^n − 2 ≥ hosts):

Orden Segmento Equipos Hosts útiles necesarios Bits host (n) Útiles 2^n−2 Prefijo
1 Aula Informática 1 60 60 7 126 /25
2 Departamentos/Profesorado 50 50 6 62 /26
3 Aula Informática 2 30 30 6 62 /26
4 Servidores (DMZ interna) 10 10 4 14 /28

Nota clave: 60 hosts NO caben en una /26 (62 útiles caben, sí), pero por holgura/escalabilidad el diseño «más ajustado» para 60 es /26 (62 útiles). Sin embargo, para dejar margen real de crecimiento del aula principal y respetar la asignación de mayor a menor sin colisiones, se asigna a Aula 1 una /25 (126 útiles) como bloque de cabecera. Si se exige el ajuste estricto mínimo, Aula 1 = /26 (62 útiles). A continuación se documenta el diseño con el ajuste estricto (la opción de máxima eficiencia), que es el que pide el enunciado («subred más ajustada»):

Diseño ajustado (eficiencia máxima):

Segmento Hosts Prefijo Útiles
Aula Informática 1 60 /26 62
Departamentos 50 /26 62
Aula Informática 2 30 /27 30 ❌

Atención: 30 equipos requieren 30 útiles; una /27 da solo 30 útiles (2^5−2 = 30), que es JUSTO. Si se desea margen, /26. Para el ajuste estricto, /27 vale exactamente. La DMZ con 10 hosts → /28 (14 útiles).

Paso 2. Asignación contigua sobre 172.16.0.0/16 (mayor a menor):

# Segmento Dirección de red Máscara decimal CIDR Primera IP útil Última IP útil Broadcast Hosts útiles
1 Aula Informática 1 172.16.0.0 255.255.255.192 /26 172.16.0.1 172.16.0.62 172.16.0.63 62
2 Departamentos 172.16.0.64 255.255.255.192 /26 172.16.0.65 172.16.0.126 172.16.0.127 62
3 Aula Informática 2 172.16.0.128 255.255.255.224 /27 172.16.0.129 172.16.0.158 172.16.0.159 30
4 Servidores (DMZ) 172.16.0.160 255.255.255.240 /28 172.16.0.161 172.16.0.174 172.16.0.175 14
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 176" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <text x="30" y="22" font-size="12" fill="#64748b">Bloque 172.16.0.0/24 (256 direcciones) repartido de mayor a menor:</text> <!-- Barra --> <rect x="30" y="40" width="175" height="52" fill="#eff6ff" stroke="#2563eb" stroke-width="1.5"/> <rect x="205" y="40" width="175" height="52" fill="#ecfdf5" stroke="#059669" stroke-width="1.5"/> <rect x="380" y="40" width="88" height="52" fill="#fffbeb" stroke="#d97706" stroke-width="1.5"/> <rect x="468" y="40" width="44" height="52" fill="#fef2f2" stroke="#dc2626" stroke-width="1.5"/> <rect x="512" y="40" width="218" height="52" fill="#f8fafc" stroke="#94a3b8" stroke-width="1.5" stroke-dasharray="5,4"/> <!-- Etiquetas superiores --> <text x="117" y="60" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Aula 1 · /26</text> <text x="117" y="78" text-anchor="middle" font-size="11" fill="#334155">64 dir.</text> <text x="292" y="60" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Depto · /26</text> <text x="292" y="78" text-anchor="middle" font-size="11" fill="#334155">64 dir.</text> <text x="424" y="60" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">Aula 2</text> <text x="424" y="76" text-anchor="middle" font-size="10" fill="#334155">/27 · 32</text> <text x="490" y="58" text-anchor="middle" font-size="10" font-weight="bold" fill="#0f172a">DMZ</text> <text x="490" y="74" text-anchor="middle" font-size="9" fill="#334155">/28·16</text> <text x="621" y="60" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Libre para crecer</text> <text x="621" y="78" text-anchor="middle" font-size="11" fill="#334155">80 dir. (.176 – .255)</text> <!-- Rangos inferiores --> <text x="117" y="108" text-anchor="middle" font-size="10" fill="#2563eb">.0 – .63</text> <text x="292" y="108" text-anchor="middle" font-size="10" fill="#059669">.64 – .127</text> <text x="424" y="108" text-anchor="middle" font-size="10" fill="#d97706">.128 – .159</text> <text x="490" y="122" text-anchor="middle" font-size="10" fill="#dc2626">.160 – .175</text> <!-- Regla de cálculo --> <text x="30" y="150" font-size="11" fill="#64748b">Hosts útiles por subred: 2^n − 2 (se descuentan red y broadcast).</text> <text x="30" y="168" font-size="11" fill="#64748b">Se asigna de mayor a menor para alinear cada bloque a su frontera y evitar solapamientos.</text> </svg>

Figura 1. Mapa de direccionamiento VLSM sobre 172.16.0.0/24 (anchos proporcionales al tamaño de cada subred).

La regla de tamaño de cada subred es \text{hosts útiles} = 2^{n} - 2, con n el número de bits de host.

Justificación del orden: En VLSM se asignan los bloques de mayor tamaño primero porque deben alinearse a fronteras de subred «potencia de 2»; hacerlo de menor a mayor produciría solapamientos o desperdicio (un bloque grande no podría empezar en una frontera ya ocupada por uno pequeño). Asignando de mayor a menor, cada subred encaja exactamente tras la anterior sin huecos internos.

Puertas de enlace recomendadas (primera IP útil de cada subred):

  • Aula 1: 172.16.0.1 · Departamentos: 172.16.0.65 · Aula 2: 172.16.0.129 · DMZ: 172.16.0.161

Espacio libre para futuros segmentos: Tras la DMZ, el siguiente bloque libre comienza en 172.16.0.176 y se extiende hasta 172.16.255.255. Es decir, queda libre prácticamente todo el espacio desde 172.16.0.176/28 en adelante: un rango enorme (más de 65.000 direcciones) disponible para nuevas VLAN (biblioteca, WiFi de invitados, IoT, telefonía IP, etc.). Conviene documentar el siguiente bloque alineado libre como 172.16.1.0/24 reservado para crecimiento limpio.


Cuestión 2 — Enrutamiento y NAT

(a) Reenvío de puertos (PAT/Port Forwarding) para publicar el servidor web por HTTPS:

La IP pública del centro es la interfaz externa de R1: 80.58.10.65. El servidor web interno está en la DMZ; supongamos 172.16.0.162. Se necesita una traducción DNAT del puerto 443 entrante:

! Cisco IOS
ip nat inside source static tcp 172.16.0.162 443 80.58.10.65 443 extendable
# iptables (router Linux R1; ifaz externa eth0)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 \
         -j DNAT --to-destination 172.16.0.162:443
iptables -A FORWARD -p tcp -d 172.16.0.162 --dport 443 -m state \
         --state NEW,ESTABLISHED,RELATED -j ACCEPT

Así, una petición a https://80.58.10.65 se reescribe hacia el servidor interno manteniendo el puerto 443.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 128" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <ellipse cx="70" cy="64" rx="54" ry="24" fill="#f1f5f9" stroke="#64748b" stroke-width="1.4"/> <text x="70" y="60" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Internet</text> <text x="70" y="76" text-anchor="middle" font-size="10" fill="#334155">cliente</text> <line x1="124" y1="64" x2="252" y2="64" stroke="#334155" stroke-width="1.8"/> <polygon points="252,64 240,59 240,69" fill="#334155"/> <text x="188" y="52" text-anchor="middle" font-size="11" fill="#2563eb">TCP 443 → 80.58.10.65</text> <rect x="254" y="38" width="150" height="52" rx="9" fill="#eff6ff" stroke="#2563eb" stroke-width="1.7"/> <text x="329" y="60" text-anchor="middle" font-size="13" font-weight="bold" fill="#0f172a">Router R1</text> <text x="329" y="78" text-anchor="middle" font-size="10" fill="#2563eb">DNAT :443</text> <line x1="404" y1="64" x2="532" y2="64" stroke="#334155" stroke-width="1.8"/> <polygon points="532,64 520,59 520,69" fill="#334155"/> <text x="468" y="52" text-anchor="middle" font-size="11" fill="#059669">→ 172.16.0.162 : 443</text> <rect x="534" y="34" width="196" height="60" rx="9" fill="#fef2f2" stroke="#dc2626" stroke-width="1.6"/> <text x="632" y="58" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Servidor web (DMZ)</text> <text x="632" y="76" text-anchor="middle" font-size="11" fill="#dc2626">172.16.0.162 · HTTPS</text> </svg>

Figura 2. Reenvío de puertos (DNAT): publica el servidor interno por HTTPS a través de la IP pública.

(b) Por qué un /29 ofrece solo 6 direcciones utilizables:

Un prefijo /29 deja 32 − 29 = 3 bits de host, luego hay 2^3 = 8 direcciones totales. De esas 8 se descuentan 2 no asignables a hosts: la dirección de red (todos los bits de host a 0) y la dirección de broadcast (todos a 1). Resultado: 8 − 2 = 6 direcciones utilizables. En el bloque 80.58.10.64/29: red = 80.58.10.64, broadcast = 80.58.10.71, y utilizables 80.58.10.6580.58.10.70 (la .65 es la interfaz externa de R1).

Formalmente, un /29 ofrece 2^{3} - 2 = 6 direcciones utilizables.

(c) NAT estático vs PAT (overload) y elección para los ~150 equipos:

  • NAT estático: correspondencia 1:1 permanente entre una IP privada y una IP pública. Requiere tantas IP públicas como hosts a traducir. Se usa para publicar servidores (acceso entrante predecible).
  • PAT / NAT de sobrecarga (overload): correspondencia N:1. Muchas IP privadas comparten una sola IP pública distinguiéndose por el número de puerto de origen (la tabla de traducción guarda IP:puerto interno ↔ IP pública:puerto). Solo permite conexiones iniciadas desde dentro.

Para que ~150 equipos naveguen con una única IP pública la única solución viable es PAT (overload): el NAT estático exigiría 150 IP públicas (imposible con un /29). Configuración:

! Cisco IOS
access-list 1 permit 172.16.0.0 0.0.255.255
ip nat inside source list 1 interface GigabitEthernet0/0 overload
# iptables
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 264" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <text x="380" y="20" text-anchor="middle" font-size="13" font-weight="bold" fill="#64748b">PAT / NAT de sobrecarga (overload) — muchos privados, una IP pública (N:1)</text> <!-- Hosts privados --> <rect x="24" y="46" width="150" height="34" rx="6" fill="#eff6ff" stroke="#2563eb" stroke-width="1.4"/> <text x="99" y="68" text-anchor="middle" font-size="12" fill="#0f172a">172.16.0.10 : 51000</text> <rect x="24" y="112" width="150" height="34" rx="6" fill="#eff6ff" stroke="#2563eb" stroke-width="1.4"/> <text x="99" y="134" text-anchor="middle" font-size="12" fill="#0f172a">172.16.1.24 : 49200</text> <rect x="24" y="178" width="150" height="34" rx="6" fill="#eff6ff" stroke="#2563eb" stroke-width="1.4"/> <text x="99" y="200" text-anchor="middle" font-size="12" fill="#0f172a">172.16.2.7 : 52310</text> <!-- Flechas a R1 --> <line x1="174" y1="63" x2="286" y2="120" stroke="#334155" stroke-width="1.6"/> <polygon points="286,120 276,116 279,125" fill="#334155"/> <line x1="174" y1="129" x2="286" y2="129" stroke="#334155" stroke-width="1.6"/> <polygon points="286,129 276,125 276,133" fill="#334155"/> <line x1="174" y1="195" x2="286" y2="138" stroke="#334155" stroke-width="1.6"/> <polygon points="286,138 279,133 276,142" fill="#334155"/> <!-- R1 tabla PAT --> <rect x="288" y="70" width="196" height="120" rx="8" fill="#f8fafc" stroke="#2563eb" stroke-width="1.8"/> <text x="386" y="90" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">R1 · tabla PAT</text> <line x1="300" y1="98" x2="472" y2="98" stroke="#cbd5e1" stroke-width="1"/> <text x="300" y="116" font-size="10" fill="#334155">.10:51000 → :40001</text> <text x="300" y="134" font-size="10" fill="#334155">.24:49200 → :40002</text> <text x="300" y="152" font-size="10" fill="#334155">.7:52310 → :40003</text> <text x="386" y="176" text-anchor="middle" font-size="10" font-style="italic" fill="#64748b">distingue por puerto de origen</text> <!-- Flecha a IP pública --> <line x1="484" y1="129" x2="566" y2="129" stroke="#334155" stroke-width="1.6"/> <polygon points="566,129 556,125 556,133" fill="#334155"/> <rect x="566" y="108" width="120" height="42" rx="8" fill="#fff7ed" stroke="#d97706" stroke-width="1.6"/> <text x="626" y="126" text-anchor="middle" font-size="11" font-weight="bold" fill="#9a3412">80.58.10.65</text> <text x="626" y="142" text-anchor="middle" font-size="10" fill="#9a3412">única IP pública</text> <!-- Internet --> <ellipse cx="626" cy="210" rx="58" ry="22" fill="#f1f5f9" stroke="#64748b" stroke-width="1.4"/> <text x="626" y="215" text-anchor="middle" font-size="12" font-weight="bold" fill="#0f172a">Internet</text> <line x1="626" y1="150" x2="626" y2="188" stroke="#334155" stroke-width="1.6"/> <polygon points="626,188 622,178 630,178" fill="#334155"/> </svg>

Figura 3. PAT (overload): los ~150 equipos comparten la única IP pública multiplexando por puerto de origen.


Cuestión 3 — Seguridad (ACL). Versión iptables (router/firewall Linux R1)

Interfaces de R1 (subinterfaces VLAN): Aula1 eth1.10, Departamentos eth1.20, Aula2 eth1.30, Servidores/DMZ eth1.40, externa eth0. Servidor: 172.16.0.162.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 620 214" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <text x="310" y="18" text-anchor="middle" font-size="13" font-weight="bold" fill="#64748b">Qué permite la política (origen → destino)</text> <!-- Cabeceras columnas --> <rect x="200" y="30" width="130" height="36" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1"/> <text x="265" y="49" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">Servidor</text> <text x="265" y="62" text-anchor="middle" font-size="10" fill="#334155">80 / 443</text> <rect x="330" y="30" width="130" height="36" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1"/> <text x="395" y="49" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">Servidor</text> <text x="395" y="62" text-anchor="middle" font-size="10" fill="#334155">resto puertos</text> <rect x="460" y="30" width="130" height="36" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1"/> <text x="525" y="53" text-anchor="middle" font-size="11" font-weight="bold" fill="#0f172a">Internet</text> <!-- Fila Aula 1 --> <rect x="30" y="66" width="170" height="36" fill="#eff6ff" stroke="#94a3b8" stroke-width="1"/> <text x="40" y="88" font-size="11" font-weight="bold" fill="#0f172a">Aula Informática 1</text> <rect x="200" y="66" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="265" y="90" text-anchor="middle" font-size="16" font-weight="bold" fill="#059669">✓</text> <rect x="330" y="66" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="395" y="90" text-anchor="middle" font-size="16" font-weight="bold" fill="#dc2626">✗</text> <rect x="460" y="66" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="525" y="90" text-anchor="middle" font-size="16" font-weight="bold" fill="#dc2626">✗</text> <!-- Fila Departamentos --> <rect x="30" y="102" width="170" height="36" fill="#ecfdf5" stroke="#94a3b8" stroke-width="1"/> <text x="40" y="124" font-size="11" font-weight="bold" fill="#0f172a">Departamentos</text> <rect x="200" y="102" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="265" y="126" text-anchor="middle" font-size="16" font-weight="bold" fill="#059669">✓</text> <rect x="330" y="102" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="395" y="126" text-anchor="middle" font-size="16" font-weight="bold" fill="#dc2626">✗</text> <rect x="460" y="102" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="525" y="126" text-anchor="middle" font-size="16" font-weight="bold" fill="#059669">✓</text> <!-- Fila Aula 2 --> <rect x="30" y="138" width="170" height="36" fill="#fffbeb" stroke="#94a3b8" stroke-width="1"/> <text x="40" y="160" font-size="11" font-weight="bold" fill="#0f172a">Aula Informática 2</text> <rect x="200" y="138" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="265" y="162" text-anchor="middle" font-size="16" font-weight="bold" fill="#059669">✓</text> <rect x="330" y="138" width="130" height="36" fill="#fef2f2" stroke="#cbd5e1" stroke-width="1"/> <text x="395" y="158" text-anchor="middle" font-size="16" font-weight="bold" fill="#dc2626">✗</text> <text x="395" y="171" text-anchor="middle" font-size="8" fill="#dc2626">bloqueo explícito</text> <rect x="460" y="138" width="130" height="36" fill="#ffffff" stroke="#cbd5e1" stroke-width="1"/> <text x="525" y="162" text-anchor="middle" font-size="16" font-weight="bold" fill="#dc2626">✗</text> <text x="310" y="196" text-anchor="middle" font-size="10" font-style="italic" fill="#64748b">Todo lo que no se permite cae por el «deny» implícito final (política DROP).</text> </svg>

Figura 4. Matriz de alcance resultante de la ACL (origen → destino).

# Política por defecto restrictiva
iptables -P FORWARD DROP

# Permitir tráfico de respuesta de conexiones ya establecidas
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# (R1) HTTP/HTTPS + ICMP echo desde CUALQUIER segmento HACIA el servidor
iptables -A FORWARD -d 172.16.0.162 -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -d 172.16.0.162 -p icmp --icmp-type echo-request -j ACCEPT

# Departamentos: salida COMPLETA a Internet
iptables -A FORWARD -s 172.16.0.64/26 -o eth0 -j ACCEPT

# Aula 2 -> Servidores SOLO 80 y 443 (las reglas anteriores ya permiten 80/443
# al servidor); ahora se BLOQUEA cualquier otro acceso de Aula2 a la DMZ:
iptables -A FORWARD -s 172.16.0.128/27 -d 172.16.0.160/28 -j DROP

# (deny implícito final por política DROP)

Notas de aplicación: las reglas se aplican en la cadena FORWARD (tráfico que atraviesa R1). El orden es esencial: las reglas que permiten 80/443/icmp al servidor van antes del DROP de Aula2→DMZ, de modo que Aula2 sí alcanza la DMZ por 80/443 pero el resto de puertos queda bloqueado por el DROP.

Equivalente Cisco IOS (ACL extendida, aplicada in en cada subinterfaz de entrada):

ip access-list extended ACL-SERVIDOR
 permit tcp any host 172.16.0.162 eq 80
 permit tcp any host 172.16.0.162 eq 443
 permit icmp any host 172.16.0.162 echo
!
ip access-list extended ACL-AULA2
 permit tcp 172.16.0.128 0.0.0.31 host 172.16.0.162 eq 80
 permit tcp 172.16.0.128 0.0.0.31 host 172.16.0.162 eq 443
 deny   ip  172.16.0.128 0.0.0.31 172.16.0.160 0.0.0.15
 permit ip  any any
!
interface Gi0/0.30
 ip access-group ACL-AULA2 in

(La ACL de Aula2 se aplica in en la subinterfaz de la VLAN 30; recuerda el deny ip any any implícito y el permit ip any any final para no cortar el resto de tráfico legítimo de Aula2 hacia Internet.)


Cuestión 4 — Buscar el error (DHCP isc-dhcp-server, Aula 1)

Configuración original:

subnet 172.16.0.0 netmask 255.255.255.192 {
    range 172.16.0.10 172.16.0.250;
    option routers 172.16.1.1;
    option domain-name-servers 8.8.8.8;
}

Errores detectados (coherencia con el diseño de la C1, Aula 1 = 172.16.0.0/26):

  1. Rango fuera de la subred. La máscara /26 (255.255.255.192) limita la subred a 172.16.0.0172.16.0.63. El range llega hasta 172.16.0.250, fuera del rango válido (y solaparía con Departamentos y Aula 2). El servidor no puede ofertar direcciones inexistentes en esa subred.
  2. Gateway incorrecta. option routers 172.16.1.1 no pertenece a la subred 172.16.0.0/26; la puerta de enlace de Aula 1 es 172.16.0.1. Por eso «no hay conectividad entre VLAN»: los equipos reciben una gateway inalcanzable.
  3. DNS sin servidor interno. domain-name-servers 8.8.8.8 (DNS público de Google) no resuelve el dominio interno del centro. Debe apuntarse al DNS interno Lliurex (172.16.0.162). Por eso «no resuelven el dominio interno».
  4. (Complementario) Falta declarar option domain-name para el sufijo local del centro.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 250" font-family="ui-sans-serif, system-ui, Arial, sans-serif"> <text x="150" y="20" text-anchor="middle" font-size="12" font-weight="bold" fill="#dc2626">Configuración errónea</text> <text x="610" y="20" text-anchor="middle" font-size="12" font-weight="bold" fill="#059669">Corrección coherente con la C1</text> <!-- Fila 1 --> <rect x="20" y="34" width="300" height="52" rx="8" fill="#fef2f2" stroke="#dc2626" stroke-width="1.4"/> <text x="34" y="54" font-size="11" font-weight="bold" fill="#0f172a">range …0.10 – …0.250</text> <text x="34" y="72" font-size="10" fill="#dc2626">fuera de 172.16.0.0/26 (solo .0–.63)</text> <line x1="330" y1="60" x2="430" y2="60" stroke="#334155" stroke-width="1.6"/> <polygon points="430,60 418,55 418,65" fill="#334155"/> <rect x="440" y="34" width="300" height="52" rx="8" fill="#ecfdf5" stroke="#059669" stroke-width="1.4"/> <text x="454" y="54" font-size="11" font-weight="bold" fill="#0f172a">range 172.16.0.10 172.16.0.60</text> <text x="454" y="72" font-size="10" fill="#059669">dentro de la subred del Aula 1</text> <!-- Fila 2 --> <rect x="20" y="98" width="300" height="52" rx="8" fill="#fef2f2" stroke="#dc2626" stroke-width="1.4"/> <text x="34" y="118" font-size="11" font-weight="bold" fill="#0f172a">option routers 172.16.1.1</text> <text x="34" y="136" font-size="10" fill="#dc2626">gateway inalcanzable (otra subred)</text> <line x1="330" y1="124" x2="430" y2="124" stroke="#334155" stroke-width="1.6"/> <polygon points="430,124 418,119 418,129" fill="#334155"/> <rect x="440" y="98" width="300" height="52" rx="8" fill="#ecfdf5" stroke="#059669" stroke-width="1.4"/> <text x="454" y="118" font-size="11" font-weight="bold" fill="#0f172a">option routers 172.16.0.1</text> <text x="454" y="136" font-size="10" fill="#059669">puerta de enlace real del segmento</text> <!-- Fila 3 --> <rect x="20" y="162" width="300" height="52" rx="8" fill="#fef2f2" stroke="#dc2626" stroke-width="1.4"/> <text x="34" y="182" font-size="11" font-weight="bold" fill="#0f172a">domain-name-servers 8.8.8.8</text> <text x="34" y="200" font-size="10" fill="#dc2626">no resuelve el dominio interno</text> <line x1="330" y1="188" x2="430" y2="188" stroke="#334155" stroke-width="1.6"/> <polygon points="430,188 418,183 418,193" fill="#334155"/> <rect x="440" y="162" width="300" height="52" rx="8" fill="#ecfdf5" stroke="#059669" stroke-width="1.4"/> <text x="454" y="182" font-size="11" font-weight="bold" fill="#0f172a">…-servers 172.16.0.162, 8.8.8.8</text> <text x="454" y="200" font-size="10" fill="#059669">DNS interno primario + reenvío</text> <text x="380" y="238" text-anchor="middle" font-size="10" font-style="italic" fill="#64748b">Tres incoherencias con el diseño de la Cuestión 1: rango/máscara, puerta de enlace y DNS.</text> </svg>

Figura 5. Los tres errores de la configuración DHCP y su corrección.

Configuración corregida y coherente:

subnet 172.16.0.0 netmask 255.255.255.192 {
    range 172.16.0.10 172.16.0.60;
    option routers 172.16.0.1;
    option subnet-mask 255.255.255.192;
    option domain-name "ies-serracalderona.local";
    option domain-name-servers 172.16.0.162, 8.8.8.8;
    default-lease-time 3600;
    max-lease-time 7200;
}

Justificación: el range queda dentro de 172.16.0.1172.16.0.62 (se reserva .1 para la gateway y se deja margen para servidores con IP fija); la gateway es la real de la subred; el DNS primario es el interno (resuelve el dominio local y delega lo externo por forwarders), con 8.8.8.8 como secundario de respaldo.


Cuestión 5 — Mini-cuestiones conceptuales

(a) Ventaja de separar las dos aulas en VLAN distintas frente a una red plana:

  • Seguridad: cada VLAN es un dominio de difusión y de seguridad aislado. El tráfico de una VLAN no es visible para la otra salvo que el router/L3 lo permita, de modo que un equipo comprometido o un sniffer en Aula 2 no puede captar el tráfico de Aula 1. Permite aplicar ACL inter-VLAN y políticas diferenciadas (la base de la C3).
  • Rendimiento: se reduce el dominio de broadcast. En una red plana, cada broadcast (ARP, DHCP, descubrimientos) lo procesan TODOS los equipos; al segmentar, los broadcasts quedan confinados a su VLAN, disminuyendo el tráfico inútil y la carga de CPU de los hosts, y conteniendo posibles tormentas de broadcast.

(b) Por qué conviene que el DNS interno resuelva el dominio local en lugar de delegar todo a 8.8.8.8:

  • Resolución de nombres locales: servicios internos (Moodle, web interna, impresoras, recursos del IES) tienen nombres del dominio local (*.ies-serracalderona.local) que un DNS público desconoce; solo el DNS interno los resuelve.
  • Rendimiento y disponibilidad: el DNS interno cachea las consultas, responde en LAN con baja latencia y permite navegar/usar servicios internos aunque la línea de Internet falle. Reduce además el volumen de consultas externas.
  • Control y seguridad: permite filtrado/registro de consultas, split-horizon (vistas internas/externas), y forzar políticas (bloqueo de dominios) que con un resolutor público delegado no se podrían aplicar. El esquema correcto es: DNS interno autoritativo del dominio local + forwarders hacia 8.8.8.8 (u otro) para el resto de Internet.

Practica con supuestos como este

Genera supuestos de tu especialidad y comunidad en cualquiera de los cuatro formatos, resuélvelos y recibe corrección con nota al instante.