SERVICIOS DE RED E Internet · ASIR
Servicio DHCP
Guía de preparación del examen práctico
Ubuntu (isc-
Dhcp
server)
· Windows Server · Failover · Clases y pools
Cómo estudiarla (orden recomendado) 1. Aprende de memoria la sección 2 (hoja resumen): rutas, comandos, tiempos y el esquema de dhcpd.Conf2. Repite cada práctica en tus máquinas virtuales siguiendo las secciones 3 a 6, sin copiar y pegar3. Haz el banco de ejercicios (sección 7) a mano, cronometrado, y solo después mira las soluciones (sección 8)4. La víspera: sección 9 (preguntas cortas) y checklist final (sección 10) |
Contenido 1. Cómo usar la guía y qué te pueden pedir2. Hoja resumen: lo que debes saber de memoria3. Ubuntu · Práctica 1:ServidorDHCP paso a paso (casos a y b)4. Ubuntu · Práctica 2: group, dos tarjetas, shared-network, class y pool5. Windows Server · Práctica 3: ámbito, modificaciones y reserva6. Windows Server · Práctica 4: failover (+ class ID opcional)7. Banco de ejercicios tipo examen (enunciados)8. Soluciones del banco de ejercicios9. Preguntas cortas de investigación con respuesta modelo10. Checklist final y anexos (opciones DHCP, dhclient.Conf, glosario català-español) |
Sustituye X por tu número de alumno. Comprueba el nombre de tu tarjeta de red con ip a (en las VM suele ser enp0s3).
1. Cómo usar esta guía y qué te pueden pedir
Esta guía está pensada para la parte práctica del examen de DHCP: tienes que ser capaz de montar el servicio tú solo, sin copiar y pegar, escribir los ficheros de configuración a mano y demostrar que funciona. Está basada en tus 4 prácticas (Ubuntu, Ubuntu avanzado, Windows Server y failover), en la práctica opcional de clases y en el resto del temario.
NOTA · Antes de empezar
|
1.1 Mapa del examen
La probabilidad es una estimación mía según el peso que tiene cada bloque en tus prácticas; no es información del profesor.
Bloque | Qué te pueden pedir | Prob. | Dónde |
|---|---|---|---|
Ubuntu: ámbito básico | Escribir dhcpd.Conf (subnet, range, router, DNS), pasar tiempos a segundos, arrancar y comprobar | Muy alta | Sec. 3 · Ej. 1-2 |
Ubuntu: reserva por MAC | Sacar la MAC, host con fixed-address, router/DNS propios, dhclient y leases | Muy alta | Sec. 3 · Ej. 3 |
Interpretar salidas | dhclient -v, dhcpd.Leases, syslog, ps | Alta | Sec. 3.9, 3.12 · Ej. 10-11 |
Ubuntu: 2 tarjetas / 2 subnets | Adaptador 2 en VirtualBox, IP estática en la 2ª, 2ª subnet, INTERFACESv4 | Alta | Sec. 4.2 · Ej. 4 |
shared-network y group | Sintaxis, para qué sirven, ejemplo funcionando | Media-alta | Sec. 4.1, 4.3 · Ej. 5-6 |
class + pool | Clases con user-class o etiqueta propia, pools con allow/deny, probar info1/info2/info3 | Alta (lo más difícil) | Sec. 4.4-4.6 · Ej. 7-8 |
Windows: ámbito, cambios, reserva | Asistente, propiedades, opciones, concesiones, reserva | Muy alta | Sec. 5 · Ej. 12-13 |
Windows: failover | Hot standby, 50-50, comprobar y eliminar | Media-alta | Sec. 6 · Ej. 14 |
Windows: class ID / policies | Opcional en tu hoja | Baja-media | Sec. 6.7 · Ej. 15 |
Detectar errores / diagnosticar | Config con fallos, «no funciona, ¿por qué?» | Alta | Sec. 3.14 · Ej. 9, 16 |
1.2 Plan de ataque durante el examen
Lee todo el enunciado y subraya los datos: X, redes, rangos, tiempos, MAC, nombres de clase, qué hay que comprobar.
Convierte los tiempos a segundos antes de escribir (tabla en la sección 2.3).
Servidor: IP estática, ip a para verificar, instalar el paquete si hace falta Internet y después pasar a red interna.
Escribe la configuración por bloques y pasa sudo dhcpd -t cada vez que termines uno.
Reinicia el servicio y comprueba estado y proceso.
Cliente: release + pedir IP, y comprueba IP, router y DNS (no solo la IP).
Servidor: mira las concesiones (dhcpd.Leases / Address Leases).
Haz la captura o demostración de cada hito en cuanto lo tengas.
Reserva 5 minutos al final: ¿faltan ;? ¿has sustituido la X? ¿has hecho todo lo que pedía el enunciado?
EN EL EXAMEN · Orden de trabajo que evita el 80 % de los fallos Datos del enunciado, red, instalar, interfaz, dhcpd.Conf, dhcpd -t, restart, cliente, leases. Si algo falla, mira siempre primero el log (journalctl -u isc-dhcp-server -e): casi siempre te dice la línea o el motivo. |
2. Hoja resumen: lo que debes saber de memoria
2.1 Ubuntu: rutas y comandos (versión moderna frente a la del temario)
Qué | Ubuntu 22.04 (úsalo) | En tu temario (antiguo) |
|---|---|---|
Paquete del servidor | isc-dhcp-server | dhcp3-server |
Instalar | sudo apt update y sudo apt install isc-dhcp-server | apt-get install dhcp3-server |
Configuración principal | /etc/dhcp/dhcpd.Conf | /etc/dhcp3/dhcpd.Conf |
Tarjeta por la que atiende | /etc/default/isc-dhcp-server con INTERFACESv4=»enp0s3″ | /etc/default/dhcp3-server |
Probar sintaxis | sudo dhcpd -t | no aparece |
Arrancar / parar / reiniciar | sudo systemctl start|stop|restart isc-dhcp-server (o sudo service isc-dhcp-server restart) | sudo service dhcp3-server restart |
Estado | sudo systemctl status isc-dhcp-server | ps -A |
Nombre del dimoni (proceso) | dhcpd: ps -A | grep dhcpd | «dhcp» |
Fichero de concesiones | /var/lib/dhcp/dhcpd.Leases | /var/lib/dhcp3/dhcpd.Leases |
Logs | sudo journalctl -u isc-dhcp-server -e y /var/log/syslog | /var/log/syslog |
Configuración del cliente | /etc/dhcp/dhclient.Conf | /etc/dhcp3/dhclient.Conf |
IP estática | Ajustes > Red, o netplan: /etc/netplan/*.Yaml y sudo netplan apply | /etc/network/interfaces |
Ver IP y MAC | ip a (la MAC es link/ether) | ifconfig |
Ver puerta de enlace | ip route | route -n |
Ver DNS recibido | resolvectl status (resolv.Conf muestra 127.0.0.53) | /etc/resolv.Conf |
Pedir IP al servidor | sudo dhclient -r enp0s3 y sudo dhclient -v enp0s3 | dhclient eth0 |
Puertos | servidor UDP 67, cliente UDP 68 | igual |
2.2 Windows Server: dónde está cada cosa
Qué | Cómo / dónde |
|---|---|
Instalar el rol | Administrador del servidor > Administrar > Agregar roles y carácterísticas > Servidor DHCP. PowerShell: Install-WindowsFeature DHCP -IncludeManagementTools |
Abrir la consola | Administrador del servidor > Herramientas > DHCP (o dhcpmgmt.Msc) |
Crear ámbito | DHCP > servidor > IPv4 > clic derecho > Ámbito nuevo… (asistente) |
Cambiar rango y duración | Ámbito > clic derecho > Propiedades > pestaña General |
Cambiar router / DNS del ámbito | Ámbito > Opciones de ámbito > clic derecho > Configurar opciones: 003 Enrutador, 006 Servidores DNS |
Opciones de todo el servidor | IPv4 > Opciones de servidor |
Reserva | Ámbito > Reservas > clic derecho > Reserva nueva… |
Ver concesiones | Ámbito > Concesiones de direcciones (Address Leases) |
Servicio | services.Msc > Servidor DHCP (nombre DHCPServer); net stop dhcpserver y net start dhcpserver; Restart-Service dhcpserver; o clic derecho en el servidor > Todas las tareas |
Dónde guarda las concesiones | C:\Windows\System32\dhcp\dhcp.Mdb (copia en \backup); logs de actividad DhcpSrvLog-<día>.Log |
Cliente Windows | ipconfig /release, ipconfig /renew, ipconfig /all |
Class ID en cliente Windows | ipconfig /setclassid «Ethernet» info1 |
2.3 Tiempos a segundos
Segundos = horas × 3600 = días × 86400. Es lo que más se falla por prisa.
10 min | 1 h | 2 h | 8 h | 12 h | 1 día | 3 días |
|---|---|---|---|---|---|---|
600 | 3600 | 7200 | 28800 | 43200 | 86400 | 259200 |
Otros: 30 min = 1800 · 4 h = 14400 · 2 días = 172800 · 7 días = 604800 · 8 días (defecto de Windows) = 691200.
2.4 El proceso DORA y los mensajes
Figura 1. Proceso de asignación de IP: Discover, Offer, Request, Acknowledge.
Mensaje | Sentido | Qué significa |
|---|---|---|
DHCPDISCOVER | cliente > servidor | Broadcast (0.0.0.0:68 > 255.255.255.255:67): «¿qué servidores DHCP hay?» |
DHCPOFFER | servidor > cliente | Oferta con IP, máscara, lease y opciones. Llega una por cada servidor |
DHCPREQUEST | cliente > servidor | Acepta una oferta (broadcast, así los demás retiran la suya); también sirve para renovar |
DHCPACK | servidor > cliente | Confirma y entrega la configuración definitiva |
DHCPNAK | servidor > cliente | Rechaza: la IP no vale (cambió de subred, lease caducado) |
DHCPDECLINE | cliente > servidor | «Esa IP ya está en uso» (lo detecta con ARP) |
DHCPRELEASE | cliente > servidor | Devuelve la IP y termina el contrato |
DHCPINFORM | cliente > servidor | Ya tiene IP; solo pide parámetros (p. Ej. Proxy/WPAD) |
DHCPRENEW | cliente > servidor | Así aparece en tu libro; en el RFC la renovación es un DHCPREQUEST |
NOTA · Unicast o broadcast en OFFER y ACK En las figuras de tu temario el OFFER/ACK sale como unicast en una y como broadcast (255.255.255.255:68) en otra. Depende de si el cliente, sin IP todavía, pide respuesta por broadcast. En el examen explica: «si el cliente aún no tiene IP, la respuesta va a su MAC o por broadcast». |
Tiempos de la concesión
Figura 2. T1 (renovación) = 50 % del lease; T2 (rebinding) = 87,5 %.
Lease time (tiempo de concesión): lo que dura la IP.
Renewal time (T1) = 50 %: el cliente pide renovar al mismo servidor (unicast).
Rebinding time (T2) = 87,5 %: si no contestó, pide a cualquier servidor (broadcast).
Si llega al 100 % sin renovar, pierde la IP y vuelve a DISCOVER.
Ejemplo del temario: lease 600 s, renewal in 300 seconds.
2.5 Esqueleto de dhcpd.Conf
# 1) PARÁMETROS GLOBALES (afectan a todo lo de abajo)
authoritative;
default-lease-time 86400; # segundos (1 día)
max-lease-time 259200; # segundos (3 días)
option domain-name «aula.Local»;
option domain-name-servers 8.8.8.8;
log-facility local7;
# 2) DECLARACIONES (cada una con sus parámetros locales)
subnet 10.12.X.0 netmask 255.255.255.0 { # ÁMBITO
range 10.12.X.100 10.12.X.220; # rango dinámico
option routers 10.10.0.1; # puerta de enlace
}
host cliente1 { # RESERVA por MAC
hardware ethernet 08:00:27:AA:BB:CC;
fixed-address 10.12.X.195;
}
TRAMPA · Reglas de sintaxis que se olvidan con los nervios
|
3. Ubuntu · Práctica 1: servidor DHCP paso a paso
3.1 Datos del enunciado
Dato | Caso a) | Caso b) (reserva) |
|---|---|---|
Subred / máscara | 10.12.X.0 / 255.255.255.0 | la misma |
Rango | 10.12.X.100 a 10.12.X.220 | el mismo |
Puerta de enlace | 10.10.0.1 | 10.12.0.1 (solo para la reserva) |
DNS | 8.8.8.8 | 4.4.4.4 (solo para la reserva) |
Lease por defecto | 1 día = 86400 s | igual |
Lease máximo | 3 días = 259200 s | igual |
Reserva | no hay | MAC del cliente siempre a 10.12.X.195 |
Regla de oro del enunciado: servidor con IP estática, cliente con IP dinámica. Un servidor DHCP/DNS/Apache nunca debe usar IP dinámica: tiene que estar localizable.
3.2 Paso 0 · Máquinas virtuales
Dos VM de Ubuntu 22.04 Desktop: una es el servidor y la otra el cliente (clon). Al clonar, elige generar nuevas direcciones MAC; si no, tendrás MAC duplicadas en la misma red.
Servidor, mientras instala: Adaptador 1 en Adaptador puente (necesita Internet para descargar el paquete).
Cuando termine de instalar: pasa servidor y cliente a Red interna con exactamente el mismo nombre (intnet). Así no interfieres con compañeros ni con la red del instituto.
3.3 Paso 1 · IP estática del servidor (temporal, modo puente)
Datos del enunciado: IP 10.12.X.10 (la Y la eliges tú, fuera del rango repartido), máscara 255.0.0.0, puerta 10.10.0.1, DNS 8.8.8.8.
Opción gráfica: Configuración > Red > engranaje de la conexión cableada > pestaña IPv4 > Método Manual > dirección, máscara, puerta de enlace y DNS > Aplicar > apaga y enciende la conexión.
Opción por fichero (netplan):
# /etc/netplan/01-network-mánager-all.Yaml (el nombre puede variar: ls /etc/netplan)
network:
versión: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: false
addresses: [10.12.X.10/8]
routes:
– to: default
vía: 10.10.0.1
nameservers:
addresses: [8.8.8.8]
sudo netplan apply
ip a # ¿tiene 10.12.X.10/8?
ip route # ¿default vía 10.10.0.1?
ping -c 2 8.8.8.8 # ¿hay Internet?
ping -c 2 Google.Es # ¿resuelve nombres?
TRAMPA · YAML Solo espacios (nunca tabulador) y la indentación exacta. Si netplan apply da error, revisa primero los espacios. |
3.4 Paso 2 · Instalar el servicio
sudo apt update
sudo apt install isc-dhcp-server
NOTA · Es normal que al instalar «falle» el arranque Al terminar puede aparecer un aviso de que isc-dhcp-server no ha podido arrancar. Es normal: todavía no hay ningún subnet configurado. Haz la captura de la instalación y ahora sí pasa la VM a Red interna. |
3.5 Paso 3 · Decir por qué tarjeta atiende
sudo nano /etc/default/isc-dhcp-server
INTERFACESv4=»enp0s3″
INTERFACESv6=»»
Con dos tarjetas se escriben separadas por espacio: INTERFACESv4=»enp0s3 enp0s8″.
3.6 Paso 4 · Escribir dhcpd.Conf (caso a)
sudo cp /etc/dhcp/dhcpd.Conf /etc/dhcp/dhcpd.Conf.Original # copia de seguridad
sudo nano /etc/dhcp/dhcpd.Conf # (o: sudo gedit /etc/dhcp/dhcpd.Conf)
# ———- CASO a) ———-
authoritative;
default-lease-time 86400; # 1 día
max-lease-time 259200; # 3 días
log-facility local7;
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
option domain-name-servers 8.8.8.8;
}
Línea | Qué hace |
|---|---|
authoritative; | Este es el servidor oficial de la red: contesta DHCPNAK a clientes con IP que no es válida aquí |
default-lease-time 86400; | Duración de la concesión si el cliente no pide otra |
max-lease-time 259200; | Tope: aunque el cliente pida más, no se le da más |
log-facility local7; | Canal de syslog donde escribe el servicio |
subnet … Netmask … { } | Ámbito: la red que atiende. Obligatorio |
range A B; | Direcciones que reparte dinámicamente |
option routers X; | Opción 3: puerta de enlace |
option domain-name-servers X; | Opción 6: servidores DNS |
TRAMPA · Trampa nº 1: el servidor debe tener IP dentro de la subnet dhcpd solo atiende por una tarjeta si esa tarjeta tiene una IP que cae en alguna subnet declarada. Si no, en el log verás «No subnet declaration for enp0s3» y no atenderá. Por eso el servidor es 10.12.X.10 y la subnet 10.12.X.0/24. La máscara /8 de la tarjeta no importa: dhcpd solo mira la netmask de la subnet. |
Si no pones option subnet-mask ni option broadcast-address, dhcpd usa la netmask de la subnet y calcula el broadcast. El libro los escribe explícitamente (option subnet-mask 255.255.255.0; y option broadcast-address 10.12.X.255;): también es válido.
3.7 Paso 5 · Validar, arrancar y comprobar
sudo dhcpd -t # prueba la sintaxis (no arranca nada)
sudo systemctl restart isc-dhcp-server # arranca/reinicia
sudo systemctl status isc-dhcp-server # debe decir: active (running)
ps -A | grep dhcpd # el dimoni se llama dhcpd
sudo ss -ulnp | grep :67 # escucha en UDP 67
Acción | Comando |
|---|---|
Arrancar | sudo systemctl start isc-dhcp-server |
Parar | sudo systemctl stop isc-dhcp-server |
Reiniciar (tras cada cambio en dhcpd.Conf) | sudo systemctl restart isc-dhcp-server |
Ver estado | sudo systemctl status isc-dhcp-server |
Arrancar al encender la máquina | sudo systemctl enable isc-dhcp-server |
Con dhcpd -t, si todo va bien solo verás las rutas de configuración, leases y PID. Si hay un fallo te da el número de línea, por ejemplo /etc/dhcp/dhcpd.Conf line 9: semicolon expected.
COMPRUEBA · Si no arranca sudo journalctl -u isc-dhcp-server -e –no-pager | tail -20 o sudo tail -20 /var/log/syslog. Al explicarlo a un compañero: «systemctl controla el servicio; ps comprueba el proceso; el log dice por qué falló». |
3.8 Paso 6 · Cliente: pedir IP y comprobar
Gráficamente: Configuración > Red > engranaje > IPv4 > Automático (DHCP) > apaga y enciende la conexión. Por terminal:
ip a # nombre de la tarjeta (enp0s3) y su MAC
sudo dhclient -r enp0s3 # RELEASE: devuelve la IP actual
sudo dhclient -v enp0s3 # pide una nueva (se ve todo el DORA)
ip a show enp0s3 # IP recibida (10.12.X.100…)
ip route # default vía 10.10.0.1 = puerta de enlace
resolvectl status enp0s3 # DNS Servers: 8.8.8.8
Qué debes ver: IP dentro del rango, default vía 10.10.0.1 y DNS 8.8.8.8.
TRAMPA · Dos confusiones típicas cat /etc/resolv.Conf en Ubuntu 22.04 muestra 127.0.0.53 (resolvedor local), no el DNS que dio el servidor; usa resolvectl status. Y ifconfig puede no estar instalado: usa ip a. |
Alternativa fiable si dhclient no cambia nada: desconectar y conectar la red desde el icono de Ubuntu, o nmcli device disconnect enp0s3 y luego nmcli device connect enp0s3.
3.9 Paso 7 · Mirar las concesiones (leases)
sudo cat /var/lib/dhcp/dhcpd.Leases
sudo dhcp-lease-list # resumen en tabla (si está disponible)
lease 10.12.X.100 {
starts 3 2026/10/28 09:15:02; # día de la semana (0 = domingo), fecha, hora UTC
ends 4 2026/10/29 09:15:02; # caduca = starts + lease (aquí 1 día)
cltt 3 2026/10/28 09:15:02; # última transacción con el cliente
binding state active; # estado actual: active / free / expired…
next binding state free; # estado cuando caduque
hardware ethernet 08:00:27:5e:a1:7c; # MAC del cliente
uid «\001\010\000’^\241|»; # client-identifier (01 + MAC)
client-hostname «ubuntu-cliente»; # nombre que envió el cliente
}
Las horas están en UTC, no en la hora local.
Como el fichero crece, el servidor genera una copia dhcpd.Leases~ y deja el original libre para nuevas concesiones.
Qué demostrar: que aparece la IP entregada a tu cliente con su MAC.
3.10 Caso b) · Reserva por MAC
MAC del cliente: ip a > link/ether 08:00:27:ab:cd:ef. En VirtualBox (Red > Avanzadas) sale sin dos puntos: 080027ABCDEF; en dhcpd.Conf hay que escribirla con :.
Añade el bloque host (puede ir fuera de la subnet).
sudo dhcpd -t y sudo systemctl restart isc-dhcp-server.
Cliente: sudo dhclient -r enp0s3 y sudo dhclient -v enp0s3.
Comprueba IP .195, router 10.12.0.1 y DNS 4.4.4.4, y mira el lease.
# ———- CASO b) = caso a) + esto ———-
host cliente1 {
hardware ethernet 08:00:27:AB:CD:EF; # la MAC REAL de tu cliente
fixed-address 10.12.X.195;
option routers 10.12.0.1; # pisa el router de la subnet
option domain-name-servers 4.4.4.4; # pisa el DNS global
}
CONSEJO · Reserva dentro del rango En la práctica la .195 está dentro del rango 100-220 y funciona. Lo recomendable en una red real es reservar fuera del rango dinámico para evitar conflictos. |
3.11 b.2 · Parámetros arriba o dentro de subnet { }
Dónde está | Alcance | Ejemplo |
|---|---|---|
Global (fuera de bloques) | Todas las subnets, hosts, etc. | default-lease-time, option domain-name-servers 8.8.8.8; |
Dentro de subnet | Solo esa subred (y lo anidado: pool, host dentro) | option routers 10.10.0.1; |
Dentro de host | Solo esa máquina | option routers 10.12.0.1; |
Lo más específico gana. Con DNS global 8.8.8.8 y el host con 4.4.4.4, ese host recibe 4.4.4.4 y el resto 8.8.8.8. Libro: «los parámetros globales afectan a todas las declaraciones; los locales solo a la declaración donde se definen y a las subordinadas».
3.12 b.3 · Explicar los mensajes de sudo dhclient -v
Listening on LPF/enp0s3/08:00:27:ab:cd:ef
Sending on LPF/enp0s3/08:00:27:ab:cd:ef
Sending on Socket/fallback
DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0x5d7a1c2e)
DHCPOFFER of 10.12.X.195 from 10.12.X.10
DHCPREQUEST for 10.12.X.195 on enp0s3 to 255.255.255.255 port 67 (xid=0x2e1c7a5d)
DHCPACK of 10.12.X.195 from 10.12.X.10 (xid=0x5d7a1c2e)
bound to 10.12.X.195 — renewal in 43200 seconds.
Línea | Significado |
|---|---|
Listening / Sending on LPF/enp0s3/MAC | El cliente abre un socket LPF (Linux Packet Filter, a nivel de enlace) en la tarjeta, porque aún no tiene IP para usar sockets normales |
Sending on Socket/fallback | Socket normal de reserva (versiones antiguas: Socket/fallback/fallback-net) |
DHCPDISCOVER … 255.255.255.255 port 67 interval 3 | Broadcast al puerto 67 de los servidores; si nadie contesta, reintenta en 3 s (el intervalo va creciendo) |
DHCPOFFER of IP from servidor | Un servidor ofrece esa IP |
DHCPREQUEST for IP … | El cliente acepta la oferta (sigue siendo broadcast) |
DHCPACK of IP from servidor | El servidor confirma |
bound to IP — renewal in N seconds | Configura la IP y renovará en N s (T1, ≈ 50 % del lease) |
3.13 Capturas / evidencias que conviene tener
☐ Instalación del paquete terminando bien.
☐ ip a del servidor con IP estática.
☐ /etc/default/isc-dhcp-server con la interfaz.
☐ dhcpd.Conf completo (nano o gedit).
☐ dhcpd -t sin errores y systemctl status en active (running).
☐ ps -A | grep dhcpd (nombre del proceso).
☐ Cliente con IP, router y DNS (gráfico o comandos).
☐ dhcpd.Leases con la IP y la MAC del cliente.
☐ Caso b: MAC del cliente, bloque host, cliente con .195, 4.4.4.4 y 10.12.0.1, y el lease.
3.14 Problemas típicos
Síntoma | Causa probable | Solución |
|---|---|---|
restart falla (failed) | Error de sintaxis (;, { }) o tarjeta sin subnet | sudo dhcpd -t; journalctl -u isc-dhcp-server -e |
Log: «No subnet declaration for enp0s3» o «Not configured to listen on any interfaces» | La IP del servidor no cae en ninguna subnet | Corrige la IP estática o la subnet |
Cliente con 169.254.X.X | No alcanza al servidor: redes internas con nombre distinto, servicio parado, cable desconectado | Mismo nombre de red interna, status del servicio, «Cable conectado» marcado |
IP de otra red (10.0.2.15, 192.168.1.X…) | Adaptador en NAT o puente: contesta otro DHCP | Red interna en ambas VM |
El cliente conserva la IP vieja | No hizo release; sigue vigente su concesión | dhclient -r y dhclient -v, o desconectar/conectar red |
La reserva no se aplica | MAC mal escrita, fixed-address fuera de la subred, no reiniciaste | Compara con ip a, revisa la IP, restart |
El DNS «no cambia» | Mirabas /etc/resolv.Conf (127.0.0.53) | resolvectl status |
Permission denied al editar | Falta sudo | sudo nano … |
Dos servidores en la misma red | Pueden dar la misma IP: no se comunican entre sí | Rangos distintos o un solo servidor activo |
4. Ubuntu · Práctica 2: group, dos tarjetas, shared-network, class y pool
4.1 group: agrupar y compartir parámetros
group { … } agrupa declaraciones (host, subnet, shared-network) para aplicarles los mismos parámetros sin repetirlos. Sirve para equipos con carácterísticas parecidas: impresoras, servidores, cámaras IP, teléfonos VoIP, PC de un aula… Si cambias el DNS, lo cambias una sola vez.
group impresoras {
option routers 10.12.X.1; # compartido por todos los de dentro
option domain-name-servers 8.8.8.8;
default-lease-time 3600;
host hp-secretaria {
hardware ethernet 08:00:27:11:11:11;
fixed-address 10.12.X.201;
}
host epson-aula {
hardware ethernet 08:00:27:22:22:22;
fixed-address 10.12.X.202;
}
}
Parámetros definidos dentro del group afectan solo a lo que contiene; un parámetro propio de un host interior lo sobrescribe.
4.2 Servidor con 2 tarjetas: dos redes independientes (sin shared-network)
Figura 3. Servidor con dos tarjetas: cada una en una red interna distinta.
Apaga el servidor. VirtualBox > Configuración > Red: Adaptador 1 en Red interna intnet; Adaptador 2 > Habilitar > Red interna intnet2.
Arranca y da IP estática a la 2ª tarjeta: 192.168.X.10 / 255.255.255.0 (Configuración > Red > la segunda conexión cableada > IPv4 Manual, o netplan con enp0s8).
Indica las dos tarjetas: INTERFACESv4=»enp0s3 enp0s8″.
Añade la segunda subnet y comenta la reserva de la .195.
sudo dhcpd -t y sudo systemctl restart isc-dhcp-server.
En VirtualBox cambia la red del cliente a intnet2, renueva y comprueba. Al terminar, devuélvelo a intnet.
authoritative;
default-lease-time 86400;
max-lease-time 259200;
# —– Red 1: intnet (enp0s3) —–
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
option domain-name-servers 8.8.8.8;
}
# —– Red 2: intnet2 (enp0s8) —–
subnet 192.168.X.0 netmask 255.255.255.0 {
range 192.168.X.100 192.168.X.200;
option routers 192.168.1.1;
option domain-name-servers 4.4.4.4;
}
# reserva anulada para ver el reparto normal
#host cliente1 {
# hardware ethernet 08:00:27:AB:CD:EF;
# fixed-address 10.12.X.195;
#}
Por qué dos tarjetas: el servidor solo puede atender redes a las que está conectado. Responde por la tarjeta por la que le llega el DISCOVER y da una IP de la subred de esa tarjeta. El cliente en intnet2 recibe 192.168.X.100-200, DNS 4.4.4.4 y router 192.168.1.1.
4.3 shared-network: varias subredes en el mismo segmento
Una shared-network avisa al servidor de que varias subredes comparten el mismo segmento físico (misma tarjeta, mismo cable). Se usa cuando se agotan las direcciones de un sitio y se añade otra subred por el mismo cable y el mismo router. El servidor puede dar al cliente una IP de cualquiera de las subredes incluidas.
Los parámetros definidos dentro de la shared-network afectan a todas sus subnets, salvo que una subnet ponga otro valor.
El nombre aparece en los logs: que sea significativo (no distingue mayúsculas).
Diferencia con el apartado 4.2: allí cada tarjeta es una red independiente; aquí todas son la misma red repartida en varias subredes.
authoritative;
shared-network aula {
default-lease-time 86400; # compartidos por las dos subnets
max-lease-time 259200;
option domain-name-servers 8.8.8.8;
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
}
subnet 192.168.X.0 netmask 255.255.255.0 {
range 192.168.X.100 192.168.X.200;
option routers 192.168.1.1;
}
}
host cliente1 { # la reserva de antes, descomentada
hardware ethernet 08:00:27:AB:CD:EF;
fixed-address 10.12.X.195;
}
COMPRUEBA · Qué comprobar y explicar Reinicia, renueva el cliente y mira qué IP, router y DNS recibe. Con shared-network puede recibir una IP de cualquiera de las dos subredes (normalmente empieza por el primer rango declarado): las dos son válidas para ese segmento. Explícalo con tus palabras. |
4.4 class y pool: repartir según quién eres
class «nombre» { match if condición; }: define una clase. Un cliente pertenece a ella si cumple la condición (se evalúa con datos del paquete: user-class, vendor-class, host-name, MAC…).
pool { range …; allow/deny members of «clase»; }: trozo de direcciones con reglas de acceso. Va dentro de subnet.
allow members of «x»: solo los de la clase x pueden usar ese pool. Deny members of «x»: todos menos la clase x.
Resumen: la class es «quién eres» (etiqueta); el pool es «qué direcciones» y a qué clases se les permite. Se necesitan las dos piezas.
Dentro de un pool puedes poner también option routers, option domain-name-servers, tiempos de lease…
TRAMPA · No mezcles allow y deny en el mismo pool Su comportamiento confunde incluso a administradores. Usa solo allow o solo deny en cada pool (se pueden poner varios deny). |
Enunciado de la práctica: clases info1 e info2 con user-class; pool 100-130 solo info1 (router 10.12.X.1, DNS 8.8.8.8); pool 131-160 para todos menos info2 (router 10.12.X.4, DNS 4.4.4.4).
class «info1» {
match if option user-class = «info1»;
}
class «info2» {
match if option user-class = «info2»;
}
subnet 10.12.X.0 netmask 255.255.255.0 {
# POOL 1: solo info1
pool {
allow members of «info1»;
range 10.12.X.100 10.12.X.130;
option routers 10.12.X.1;
option domain-name-servers 8.8.8.8;
}
# POOL 2: todos menos info2
pool {
deny members of «info2»;
deny members of «info1»; # opcional: obliga a info1 a quedarse en el pool 1
range 10.12.X.131 10.12.X.160;
option routers 10.12.X.4;
option domain-name-servers 4.4.4.4;
}
}
En el cliente (/etc/dhcp/dhclient.Conf), añade la línea y luego sudo dhclient -r enp0s3 y sudo dhclient -v enp0s3:
send user-class «info1»;
Cliente se identifica como | Pool 1 (100-130, solo info1) | Pool 2 (131-160, todos menos info2) | Resultado |
|---|---|---|---|
info1 | Sí | No (si añadiste deny info1) | IP 100-130, router .1, DNS 8.8.8.8 |
info2 | No | No (denegado) | No recibe IP: el servidor no ofrece nada y el cliente repite DISCOVER |
info3 (o sin clase) | No | Sí | IP 131-160, router .4, DNS 4.4.4.4 |
TRAMPA · Si info1 no está denegado en el pool 2 Puede acabar con una IP del pool 2 (p. Ej. La .140). Si quieres obligarlo al pool 1, añade deny members of «info1»; en el pool 2. Y recuerda comentar la reserva .195 del cliente, o siempre recibirá esa IP y no verás los pools. |
Otras formas de definir una clase (match)
Identifica por | Condición |
|---|---|
user-class | match if option user-class = «info1»; |
vendor-class-identifier (prefijo) | match if substring(option vendor-class-identifier, 0, 4) = «info»; |
Nombre del equipo | match if option host-name = «pc-profe»; |
MAC exacta | match if substring(hardware, 1, 6) = 08:00:27:ab:cd:ef; |
Fabricante de la tarjeta (OUI) | match if substring(hardware, 1, 3) = 08:00:27; |
4.5 Etiquetar al cliente: user-class y tus propias etiquetas
El cliente puede enviar campos al servidor con send …; en dhclient.Conf. Tú asignas un valor y el servidor lo usa en match.
Opción | Cód. | Función | En dhclient.Conf |
|---|---|---|---|
user-class | 77 | Etiqueta de grupo que pone el usuario/administrador | send user-class «info1»; |
vendor-class-identifier | 60 | Identifica fabricante, SO o tipo de dispositivo | send vendor-class-identifier «info1»; |
dhcp-client-identifier | 61 | Identificador único del cliente (por defecto tipo + MAC) | send dhcp-client-identifier «pc01»; |
host-name | 12 | Nombre del equipo | send host-name «pc01»; |
dhcp-parameter-request-list | 55 | Lista de opciones que el cliente pide | la línea request …; |
dhcp-lease-time | 51 | Lease que el cliente solicita | send dhcp-lease-time 3600; |
dhcp-requested-address | 50 | IP concreta que quiere recuperar | send dhcp-requested-address 10.12.X.150; |
Tu propia etiqueta aula (práctica 2, apartado 8)
Hay que definirla en el servidor y en cada cliente, con el mismo código y antes de usarla. Los códigos 224-254 son de uso privado.
Servidor (arriba del todo en dhcpd.Conf):
option aula code 224 = text;
class «info1» { match if option aula = «info1»; }
class «info2» { match if option aula = «info2»; }
# …Y los mismos subnet/pool del apartado 4.4
Cliente (/etc/dhcp/dhclient.Conf):
option aula code 224 = text;
send aula «info1»;
Reinicia el servidor, haz release/renew en el cliente y prueba al menos dos valores (info1 e info3).
TRAMPA · Fallos típicos con la etiqueta propia Definirla solo en un lado; usar códigos distintos; olvidar el ;; usarla en match antes de definirla; no reiniciar el servidor tras editar. |
4.6 unknown-clients y known-clients
Cliente conocido: su MAC o identificador aparece en una declaración host del servidor (aunque no tenga fixed-address). Desconocido: no aparece en ninguna.
deny unknown-clients; (en el subnet o global): solo reciben IP los equipos con host. Sirve para redes controladas. Allow unknown-clients; es el comportamiento por defecto.
En un pool se usa como permiso:
subnet 10.12.X.0 netmask 255.255.255.0 {
pool { # solo equipos con host declarado
allow known-clients;
range 10.12.X.50 10.12.X.99;
}
pool { # el resto
allow unknown-clients;
range 10.12.X.100 10.12.X.220;
}
}
En Windows no existe esa palabra; el equivalente son las directivas con condición de MAC o el filtrado de direcciones.
5. Windows Server · Práctica 3: ámbito, modificaciones y reserva
5.1 Datos del enunciado
Qué | Valores |
|---|---|
Servidor | IP estática 10.12.X.10, máscara 255.0.0.0, puerta 10.10.0.1, DNS 8.8.8.8 |
Ámbito inicial | 10.12.X.0 / 255.255.255.0 · rango 10.12.X.120 a 10.12.X.220 · router 10.12.0.1 · DNS 8.8.8.8 · dominio acabado en .Local · lease 1 día |
Cambios posteriores | rango 120 a 225 · lease 2 días · DNS 10.12.X.1 · router 10.12.X.4 |
Reserva | MAC del cliente > 10.12.X.195 · router 10.12.X.10 · DNS 8.8.8.8 |
No necesitas Internet. Las dos VM van en Red interna (mismo nombre).
5.2 Preparar el servidor
VirtualBox: Red interna intnet en servidor y cliente.
IP estática del servidor: ncpa.Cpl > Ethernet > Propiedades > Protocolo de Internet versión 4 > Usar la siguiente dirección IP: 10.12.X.10, 255.0.0.0, puerta 10.10.0.1, DNS 8.8.8.8.
Si es un clon, cambia el nombre del equipo (sysdm.Cpl) para que no coincida con el otro servidor.
5.3 Instalar el rol Servidor DHCP
Administrador del servidor > Administrar > Agregar roles y carácterísticas.
Siguiente hasta Roles de servidor > marca Servidor DHCP > Agregar carácterísticas > Siguiente… > Instalar.
Al terminar, bandera amarilla de notificaciones > Completar la configuración de DHCP > Siguiente > Autorización: sin dominio elige Omitir la autorización de AD > Confirmar > Cerrar.
Herramientas > DHCP.
PowerShell equivalente: Install-WindowsFeature DHCP -IncludeManagementTools. Haz captura donde se vea la instalación.
5.4 Crear el ámbito con el asistente (caso a)
IPv4 > clic derecho > Ámbito nuevo…
Página del asistente | Qué escribes |
|---|---|
Nombre del ámbito | Aula-X (la descripción es opcional) |
Intervalo de direcciones IP | Inicio 10.12.X.120, Fin 10.12.X.220, longitud 24 / máscara 255.255.255.0 |
Exclusiones y retraso | Nada (opcional: excluir IP fijas) |
Duración de la concesión | Días 1, horas 0, minutos 0 |
Configurar opciones DHCP | «Sí, deseo configurar estas opciones ahora» |
Enrutador (puerta de enlace) | 10.12.0.1 > Agregar |
Nombre de dominio y servidores DNS | Dominio primario: algo que acabe en .Local (p. Ej. Aula.Local); servidor DNS 8.8.8.8 > Agregar |
Servidores WINS | Nada |
Activar ámbito | «Sí, deseo activar este ámbito ahora» |
NOTA · Si el asistente te pide el DNS al principio Es la misma información: DNS primario 8.8.8.8 y alternativo vacío. Si avisa de que no puede validar el DNS (no hay Internet), continúa. |
Dentro del ámbito verás: Grupo de direcciones, Concesiones de direcciones, Reservas, Opciones de ámbito, Directivas.
5.5 Modificar el ámbito sin borrarlo
Lo piden: no puedes rehacer el ámbito con el asistente cada vez.
Cambio | Dónde | Cómo |
|---|---|---|
Rango 120 a 225 | Ámbito > clic derecho > Propiedades > pestaña General | «Dirección IP final» = 10.12.X.225 > Aplicar |
Lease 2 días | El mismo cuadro | «Duración de la concesión»: Limitada a 2 días, 0 h, 0 min > Aceptar |
DNS 10.12.X.1 | Ámbito > Opciones de ámbito > doble clic en 006 Servidores DNS | Quita 8.8.8.8, escribe 10.12.X.1 > Agregar > Aceptar |
Router 10.12.X.4 | Opciones de ámbito > 003 Enrutador | Quita 10.12.0.1, agrega 10.12.X.4 > Aceptar |
Para ver los cambios en el cliente hace falta release/renew: las concesiones ya entregadas conservan lo antiguo hasta renovar. Si quieres excluir direcciones: Grupo de direcciones > clic derecho > Nuevo intervalo de exclusión.
5.6 ¿Dónde guarda Windows las concesiones?
Visible: Ámbito > Concesiones de direcciones (IP, nombre del cliente, vencimiento, tipo, ID único = MAC).
En disco: C:\Windows\System32\dhcp\ > dhcp.Mdb (base de datos), con copia automática en \backup (cada 60 min). El registro de actividad está en DhcpSrvLog-<día>.Log.
Equivalente en Ubuntu: /var/lib/dhcp/dhcpd.Leases (texto plano).
5.7 Arrancar, parar y reiniciar el servicio
Método | Cómo |
|---|---|
Consola DHCP | Clic derecho en el servidor > Todas las tareas > Iniciar / Detener / Pausar / Reanudar / Reiniciar |
Servicios | services.Msc > Servidor DHCP > clic derecho > Iniciar / Detener / Reiniciar |
CMD (administrador) | net stop dhcpserver y net start dhcpserver |
PowerShell | Restart-Service dhcpserver · Get-Service dhcpserver |
Comprueba que el estado es En ejecución. Con el servicio parado, los clientes no obtienen ni renuevan IP.
5.8 Reserva (caso b)
MAC del cliente: Windows ipconfig /all > Dirección física (08-00-27-…); Ubuntu ip a.
Servidor: Ámbito > Reservas > clic derecho > Reserva nueva… Nombre cliente1, IP 10.12.X.195, MAC sin guiones (080027ABCDEF), tipos admitidos: Ambos > Agregar > Cerrar.
Clic derecho en la reserva > Configurar opciones… > marca 003 Enrutador = 10.12.X.10 > Agregar; marca 006 Servidores DNS = 8.8.8.8 > Agregar > Aceptar.
Cliente: Windows ipconfig /release y ipconfig /renew; Linux sudo dhclient -r enp0s3 y sudo dhclient -v enp0s3.
Comprueba con ipconfig /all: IP .195, puerta .10, DNS 8.8.8.8. En el servidor, Concesiones: aparece la .195 marcada como reserva activa.
5.9 Opciones de servidor frente a opciones de ámbito
Nivel | A quién afecta | Cuándo usarlo |
|---|---|---|
Opciones de servidor | Todos los ámbitos de ese servidor | Valores comunes (DNS, nombre de dominio) |
Opciones de ámbito | Solo ese ámbito | Valores propios de la subred (el router siempre aquí) |
Opciones de reserva | Solo ese cliente | Excepciones |
Gana el más específico: reserva > clase/directiva > ámbito > servidor. Ejemplo: DNS de servidor 8.8.8.8 y DNS de ámbito 10.12.X.1: los clientes del ámbito reciben 10.12.X.1; otro ámbito sin DNS propio recibe 8.8.8.8. En Ubuntu equivale a global, subnet y host (apartado 3.11).
5.10 Comprobar desde el cliente
Sistema | Pedir IP nueva | Ver el resultado |
|---|---|---|
Windows | ipconfig /release y ipconfig /renew | ipconfig /all: DHCP habilitado, Servidor DHCP, concesión obtenida y vence, puerta de enlace, servidores DNS |
Linux | sudo dhclient -r enp0s3 y sudo dhclient -v enp0s3 | ip a, ip route, resolvectl status |
Pantallas que conviene guardar: el cliente con su IP, y las Concesiones de direcciones donde el servidor anota esa IP.
5.11 Problemas típicos en Windows
Síntoma | Qué mirar |
|---|---|
Icono del ámbito con flecha roja hacia abajo | Está desactivado: clic derecho > Activar |
Cliente con 169.254.X.X | No llega al servidor: red interna distinta, servicio parado, ámbito inactivo o rango agotado |
Cambié opciones y el cliente sigue igual | Falta ipconfig /release y /renew; o hay una opción de ámbito que pisa la de servidor |
La reserva no funciona | MAC mal escrita, IP fuera del rango del ámbito, o el cliente conserva su concesión |
Aviso de DNS «no se puede validar» | Normal sin Internet: acepta |
El servidor tiene IP dinámica | Ponle IP estática: el servidor DHCP siempre con IP fija |
«Servidor DHCP no autorizado» | Solo con Active Directory: clic derecho en el servidor > Autorizar |
6. Windows Server · Práctica 4: failover (y class ID opcional)
6.1 Qué es y qué modos hay
El DHCP failover (Windows Server 2012 en adelante) hace que dos servidores compartan la información de un mismo ámbito (replican las concesiones) para que el servicio no se caiga.
Modo | Cómo funciona | Parámetros |
|---|---|---|
Hot standby (activo/pasivo) | Un servidor atiende todo; el otro espera. Si el activo cae, el standby da IP nuevas con la reserva de direcciones | Reserva: 5 % por defecto |
Load balance (activo/activo) | Los dos atienden a la vez, 50-50 por defecto. El reparto es por cliente (según su MAC) | Porcentaje local/partner |
Conceptos comunes:
MCLT (Máximum Client Lead Time, 1 h por defecto): margen máximo en que un servidor puede alargar una concesión más allá de lo que conoce su partner.
Intervalo de cambio de estado (opcional, desactivado por defecto): tiempo tras el que pasa automáticamente de «Comunicación interrumpida» a «Partner down» y el que sigue vivo asume todo el ámbito.
Secreto compartido: contraseña para autenticar los mensajes entre los dos servidores. Puerto TCP 647.
6.2 Requisitos previos
☐ Dos Windows Server con IP estática en la misma red interna (p. Ej. 10.12.X.10 y 10.12.X.11) y ping entre ellos.
☐ Nombre de equipo distinto en cada uno (son clones: cámbialo en sysdm.Cpl) y hora parecida.
☐ Rol DHCP instalado en los dos.
☐ En el principal: ámbito creado, activo y con sus opciones.
☐ En el partner: el ámbito NO debe existir (el asistente lo copia; si ya existe, bórralo antes).
☐ Cuenta de administrador válida en ambos (al ser clones, la contraseña de Administrator suele ser la misma).
☐ Firewall: TCP 647 abierto (el rol suele abrirlo). Si no conecta, prueba a desactivar el firewall en el laboratorio.
☐ Un cliente en la misma red interna.
6.3 Configurar el failover (en el servidor principal)
Consola DHCP > IPv4 > clic derecho en el ámbito > Configurar conmutación por error… (Configure Failover).
Seleccionar ámbitos: marca 10.12.X.0 > Siguiente.
Servidor asociado: IP o nombre del 2º servidor > Siguiente. Si no lo encuentra, añádelo antes a la consola (clic derecho en DHCP > Agregar servidor).
Nueva relación: nombre (Aula-failover), MCLT 1 h y modo. En Hot standby: rol del servidor asociado = «En espera (Standby)» y direcciones reservadas = 5 %. En Load balance: porcentaje local 50 % / asociado 50 %.
Marca Habilitar autenticación de mensajes y escribe un secreto (p. Ej. Clave123).
Siguiente > Finalizar: todos los pasos deben salir con éxito > Cerrar.
COMPRUEBA · Verifica En el 2º servidor (F5) aparece ya el ámbito 10.12.X.0 con sus opciones y reservas. En cualquiera: clic derecho en el ámbito o IPv4 > Propiedades > pestaña Conmutación por error: modo, servidor asociado y estado Normal. |
6.4 Probar que funciona
Hot standby
Cliente: ipconfig /release y ipconfig /renew. Responde el servidor activo; mira ipconfig /all > Servidor DHCP. La concesión aparece también en el standby (replicada).
Para el activo (net stop dhcpserver o apaga la VM).
Cliente: ipconfig /release y ipconfig /renew: ahora «Servidor DHCP» es la IP del standby. Una IP nueva sale de la reserva del 5 %; si renueva la misma, es porque el standby ya conocía su concesión.
Arranca de nuevo el activo y comprueba que el estado vuelve a Normal.
Load balance 50-50
Cliente: pide IP y mira qué servidor lo atendíó (ipconfig /all). Con un único cliente responderá siempre el mismo, porque el reparto depende de la MAC.
Para ese servidor y renueva: ahora lo atiende el otro.
Con varios clientes (o cambiando la MAC) verás el reparto entre ambos.
NOTA · Estado «Comunicación interrumpida» Mientras el partner no responde, el servidor vivo da concesiones cortas (duración MCLT) y solo asume todo el ámbito al pasar a «Partner down» (manual o por el intervalo de cambio de estado). Para una demo, activa ese intervalo con un valor pequeño. |
6.5 Eliminar el failover
Consola DHCP > IPv4 (o el ámbito) > clic derecho > Desconfigurar conmutación por error… > selecciona los ámbitos > confirma.
Si la relación sigue apareciendo en IPv4 > Propiedades > Conmutación por error, bórrala: PowerShell Remové-DhcpServerv4Failover -Name «Aula-failover».
Revisa qué ámbitos quedan en cada servidor y no dejes activos los dos con el mismo rango.
6.6 PowerShell (opcional)
# Load balance 50-50 (se ejecuta en el principal)
Add-DhcpServerv4Failover -Name «Aula-failover» -PartnerServer SRV2 -ScopeId 10.12.X.0 -LoadBalancePercent 50 -SharedSecret «Clave123»
# Hot standby: el local es Activo y el partner queda en espera
Add-DhcpServerv4Failover -Name «Aula-hs» -PartnerServer SRV2 -ScopeId 10.12.X.0 -ServerRole Active -ReservePercent 5 -SharedSecret «Clave123»
Get-DhcpServerv4Failover # ver relaciones
Remové-DhcpServerv4Failover -Name «Aula-failover» # eliminar
6.7 (Opcional) Class ID y políticas en Windows
Equivale a class + pool de ISC. Sustituye la reserva .195 si la tienes, o no verás los rangos.
Clases de usuario: IPv4 > clic derecho > Definir clases de usuario… > Agregar: nombre info1, y en ID escribe info1 en la columna ASCII. Repite con info2.
Directiva del pool de info1: Ámbito > Directivas > clic derecho > Nueva directiva: nombre Pool-info1 > Agregar condición: criterio Clase de usuario, operador Es igual a, valor info1 > intervalo de IP 120 a 149 > opciones 003 = 10.10.0.1 y 006 = 8.8.8.8.
Directiva de todos menos info2: nombre Pool-no-info2 > condición Clase de usuario No es igual a info2 > intervalo 150 a 169 > opciones 003 = 10.10.0.4 y 006 = 4.4.4.4.
Pon Pool-info1 el primero en el orden de procesamiento.
Cliente Windows: ipconfig /setclassid «Ethernet» info1, luego ipconfig /release y /renew. Comprobar: ipconfig /showclassid «Ethernet». Quitar la clase: ipconfig /setclassid «Ethernet». Cliente Ubuntu: send user-class «info1»;.
Cliente | Resultado esperado |
|---|---|
info1 | IP 120-149 con router 10.10.0.1 y DNS 8.8.8.8 |
info3 | IP 150-169 con router 10.10.0.4 y DNS 4.4.4.4 |
Sin clase | Debería caer en 150-169 si «No es igual a» se cumple al no haber clase; compruébalo, si no recibirá del resto del ámbito |
info2 | Ni 120-149 ni 150-169: recibe del resto del ámbito (170-225) con las opciones del ámbito |
NOTA · Diferencia con ISC En Windows, un cliente que no encaja en ninguna directiva con rango recibe del resto del ámbito, de modo que info2 sí obtiene IP (en ISC se queda sin ninguna). Los rangos de directivas no pueden solaparse. |
6.8 Equivalencias ISC (Ubuntu) y Windows
Concepto | ISC dhcpd (Ubuntu) | Windows |
|---|---|---|
Ámbito | subnet + range | Scope |
Reserva | host { hardware ethernet; fixed-address; } | Reservation |
Opciones globales | fuera de los bloques | Opciones de servidor |
Opciones de red | dentro de subnet | Opciones de ámbito |
Opciones de equipo | dentro de host | Opciones de reserva |
Tiempo de concesión | default-lease-time / max-lease-time | Duración de la concesión (única) |
Clase | class + match | Clase de usuario/fabricante |
Pool con permisos | pool + allow/deny members of | Directiva (condición + intervalo) |
Concesiones | dhcpd.Leases | Concesiones de direcciones |
Renovar en cliente | dhclient -r y dhclient -v | ipconfig /release y /renew |
7. Banco de ejercicios tipo examen (enunciados)
Hazlos a mano, en papel o en el editor sin copiar nada, y cronometrados. Después pruébalos en las VM y solo entonces mira las soluciones (sección 8). Cuenta cada fallo de sintaxis como fallo real.
Bloque A · Ubuntu (escribir configuraciones)
Ejercicio 1 · Ámbito básico (10 min)
Servidor Ubuntu con IP 10.12.X.10. Ámbito 10.12.X.0/24, rango .100 a .220, router 10.10.0.1, DNS 8.8.8.8, lease por defecto 1 día y máximo 3 días. Escribe: (a) dhcpd.Conf; (b) fichero y línea que indican la tarjeta; (c) comandos para validar, reiniciar y comprobar el proceso; (d) cómo compruebas en el cliente IP, router y DNS; (e) cómo ves las concesiones.
Ejercicio 2 · Otros números (10 min)
Red 192.168.50.0/24 (el servidor es 192.168.50.1). Rango .20 a .80, router 192.168.50.254, DNS 1.1.1.1 y 9.9.9.9, dominio empresa.Local, broadcast explícito, lease por defecto 2 horas y máximo 8 horas. Escribe dhcpd.Conf.
Ejercicio 3 · Reservas y control de clientes (10 min)
Sobre el ejercicio 2: (a) el PC del profesor, MAC 08:00:27:11:22:33, siempre .10 con router 192.168.50.1 y DNS 4.4.4.4; (b) la impresora, MAC 08:00:27:44:55:66, siempre .11 y nombre impresora; (c) haz que solo reciban IP los equipos con reserva; (d) variante: los equipos conocidos (con host, sin IP fija) usan .20-.40 y los desconocidos .50-.80.
Ejercicio 4 · Dos tarjetas (12 min)
El servidor tiene enp0s3 (10.12.X.10/24) y enp0s8 (192.168.X.10/24). Red 1: rango 100-220, router 10.10.0.1, DNS 8.8.8.8. Red 2: rango 100-200, router 192.168.1.1, DNS 4.4.4.4. Leases 1 día y 3 días. Escribe dhcpd.Conf, el fichero de interfaces y explica qué recibe un cliente según la red interna donde lo conectes en VirtualBox.
Ejercicio 5 · shared-network (10 min)
Con las dos subnets del ejercicio 4 crea una shared-network planta1 con leases y DNS compartidos, y conserva la reserva .195 para la MAC 08:00:27:AA:BB:CC. ¿En qué se diferencia del ejercicio 4?
Ejercicio 6 · group (8 min)
Crea un group llamado servidores con tres hosts: web (MAC 08:00:27:00:00:01, 10.12.X.21), bbdd (…:02, .22), backup (…:03, .23). Todos con router 10.12.X.1, DNS 8.8.8.8 y lease de 12 horas.
Ejercicio 7 · class y pool con user-class (15 min)
Clases info1 e info2 con user-class. Pool 100-130 solo para info1 (router 10.12.X.1, DNS 8.8.8.8). Pool 131-160 para todos menos info2 (router 10.12.X.4, DNS 4.4.4.4), de forma que info1 nunca use este pool. Indica la línea del cliente y qué recibe info1, info2 e info3.
Ejercicio 8 · Etiqueta propia aula (12 min)
Repite el 7 pero con una opción propia aula (código 224). Escribe qué va en el servidor y qué en el cliente.
Ejercicio 9 · Encuentra los 8 errores (10 min)
default-lease-time 86400
max-lease-time = 259200;
option domain-name-server 8.8.8.8;
subnet 10.12.7.0 netmask 255.255.255.0
range 10.12.7.100 10.12.7.220;
option router 10.10.0.1;
}
host pc-profe {
hardware ethernet 08:00:27:11:22;
fixed-address 10.12.9.50;
domain-name-servers 4.4.4.4;
}
Ejercicio 10 · Leer un fichero de leases (8 min)
lease 10.12.7.101 {
starts 3 2026/10/28 09:15:02;
ends 3 2026/10/28 11:15:02;
cltt 3 2026/10/28 09:15:02;
binding state active;
next binding state free;
hardware ethernet 08:00:27:5e:a1:7c;
client-hostname «ubuntu-cliente»;
}
lease 10.12.7.102 {
starts 3 2026/10/28 08:00:10;
ends 3 2026/10/28 10:00:10;
tstp 3 2026/10/28 10:00:10;
cltt 3 2026/10/28 08:00:10;
binding state free;
hardware ethernet 08:00:27:99:00:fe;
}
(a) ¿Qué equipos tienen IP vigente? (b) ¿Cuánto dura el lease? (c) ¿Qué es el «3» y en qué zona horaria están las horas? (d) ¿Qué significa binding state free en la .102?
Ejercicio 11 · Interpretar dhclient (8 min)
Sending on LPF/eth0/00:0c:29:3e:b7:06
Sending on Socket/fallback/fallback-net
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 192.168.0.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.20 — renewal in 300 seconds.
(a) Explica cada línea. (b) ¿Qué lease tiene el servidor? (c) ¿Y si no contesta ningún servidor?
Bloque B · Windows Server
Ejercicio 12 · Ámbito y modificaciones (15 min)
Crea el ámbito 10.12.X.0/24, rango 120-220, router 10.12.0.1, DNS 8.8.8.8, dominio .Local, lease 1 día. Después, sin borrarlo: rango 120-225, lease 2 días, DNS 10.12.X.1, router 10.12.X.4. Indica dónde se hace cada paso, dónde se ven las concesiones y dónde las guarda Windows.
Ejercicio 13 · Reserva (10 min)
Reserva la 10.12.X.195 para tu cliente con router 10.12.X.10 y DNS 8.8.8.8. Explica cómo obtienes la MAC, dónde se crea, dónde se ponen router y DNS, cómo renuevas el cliente y qué compruebas.
Ejercicio 14 · Failover (15 min)
Con dos servidores y un cliente: hot standby, comprueba que funciona; después 50-50, comprueba; elimina el failover. Indica requisitos, pasos, qué es el 5 % y el MCLT, y cómo pruebas cada modo.
Ejercicio 15 · (Opcional) Class ID (15 min)
Crea las clases info1 e info2 y dos directivas: 120-149 solo info1 (router 10.10.0.1, DNS 8.8.8.8) y 150-169 todos menos info2 (router 10.10.0.4, DNS 4.4.4.4). Indica cómo se identifica el cliente y qué esperas de info1, info2, info3 y sin clase.
Bloque C · Diagnóstico
Ejercicio 16 · «No funciona, ¿por qué?» (10 min)
Para cada caso da la causa más probable y cómo lo compruebas: (a) el cliente tiene 169.254.X.X; (b) tras instalar, systemctl restart falla y el log dice «No subnet declaration for enp0s3»; (c) el cliente recibe IP, pero no la de la reserva; (d) el cliente recibe DNS distinto al configurado; (e) hay dos servidores DHCP con el mismo rango en la red; (f) en Windows el ámbito tiene una flecha roja.
8. Soluciones del banco de ejercicios
NOTA · Sección para consultar DESPUÉS Si has mirado esto antes de intentarlo, el ejercicio ya no te sirve de entrenamiento. Compara y anota tus fallos de sintaxis. |
Ejercicio 1
(a) dhcpd.Conf, (b) /etc/default/isc-dhcp-server:
authoritative;
default-lease-time 86400;
max-lease-time 259200;
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
option domain-name-servers 8.8.8.8;
}
INTERFACESv4=»enp0s3″
(c) sudo dhcpd -t · sudo systemctl restart isc-dhcp-server · sudo systemctl status isc-dhcp-server · ps -A | grep dhcpd.
(d) sudo dhclient -r enp0s3, sudo dhclient -v enp0s3, luego ip a, ip route (default vía) y resolvectl status (DNS).
(e) sudo cat /var/lib/dhcp/dhcpd.Leases.
Ejercicio 2
Tiempos: 2 h = 7200 s; 8 h = 28800 s.
authoritative;
default-lease-time 7200;
max-lease-time 28800;
option domain-name «empresa.Local»;
subnet 192.168.50.0 netmask 255.255.255.0 {
range 192.168.50.20 192.168.50.80;
option routers 192.168.50.254;
option domain-name-servers 1.1.1.1, 9.9.9.9;
option broadcast-address 192.168.50.255;
}
Ejercicio 3
(a) y (b), fuera o dentro de la subnet:
host pc-profe {
hardware ethernet 08:00:27:11:22:33;
fixed-address 192.168.50.10;
option routers 192.168.50.1;
option domain-name-servers 4.4.4.4;
}
host impresora {
hardware ethernet 08:00:27:44:55:66;
fixed-address 192.168.50.11;
option host-name «impresora»;
}
(c) Dentro de la subnet añade deny unknown-clients;: solo los equipos con host recibirán IP.
(d) Quita el range suelto y usa dos pools; los hosts quedan sin fixed-address (solo hardware ethernet):
subnet 192.168.50.0 netmask 255.255.255.0 {
option routers 192.168.50.254;
pool {
allow known-clients;
range 192.168.50.20 192.168.50.40;
}
pool {
allow unknown-clients;
range 192.168.50.50 192.168.50.80;
}
}
Ejercicio 4
INTERFACESv4=»enp0s3 enp0s8″
authoritative;
default-lease-time 86400;
max-lease-time 259200;
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
option domain-name-servers 8.8.8.8;
}
subnet 192.168.X.0 netmask 255.255.255.0 {
range 192.168.X.100 192.168.X.200;
option routers 192.168.1.1;
option domain-name-servers 4.4.4.4;
}
El cliente en intnet recibe 10.12.X.100-220 con router 10.10.0.1 y DNS 8.8.8.8; en intnet2 recibe 192.168.X.100-200 con router 192.168.1.1 y DNS 4.4.4.4. El servidor contesta por la tarjeta por la que llega el DISCOVER. Requisito: la 2ª tarjeta con IP estática en 192.168.X.0/24.
Ejercicio 5
shared-network planta1 {
default-lease-time 86400;
max-lease-time 259200;
option domain-name-servers 8.8.8.8;
subnet 10.12.X.0 netmask 255.255.255.0 {
range 10.12.X.100 10.12.X.220;
option routers 10.10.0.1;
}
subnet 192.168.X.0 netmask 255.255.255.0 {
range 192.168.X.100 192.168.X.200;
option routers 192.168.1.1;
}
}
host cliente1 {
hardware ethernet 08:00:27:AA:BB:CC;
fixed-address 10.12.X.195;
}
Diferencia: en el 4 son dos redes independientes (el DNS y el router son distintos por red y cada cliente recibe de su red). En el 5 se declara que son el mismo segmento: lease y DNS se comparten, y el servidor puede dar una IP de cualquiera de las dos subredes.
Ejercicio 6
group servidores {
option routers 10.12.X.1;
option domain-name-servers 8.8.8.8;
default-lease-time 43200; # 12 h
max-lease-time 43200;
host web { hardware ethernet 08:00:27:00:00:01; fixed-address 10.12.X.21; }
host bbdd { hardware ethernet 08:00:27:00:00:02; fixed-address 10.12.X.22; }
host backup { hardware ethernet 08:00:27:00:00:03; fixed-address 10.12.X.23; }
}
Ejercicio 7
class «info1» { match if option user-class = «info1»; }
class «info2» { match if option user-class = «info2»; }
subnet 10.12.X.0 netmask 255.255.255.0 {
pool {
allow members of «info1»;
range 10.12.X.100 10.12.X.130;
option routers 10.12.X.1;
option domain-name-servers 8.8.8.8;
}
pool {
deny members of «info2»;
deny members of «info1»;
range 10.12.X.131 10.12.X.160;
option routers 10.12.X.4;
option domain-name-servers 4.4.4.4;
}
}
Cliente: send user-class «info1»; en /etc/dhcp/dhclient.Conf y release/renew.
Resultado: info1 > 100-130, router .1, DNS 8.8.8.8 · info2 > no recibe IP · info3 > 131-160, router .4, DNS 4.4.4.4.
Ejercicio 8
Servidor (al principio del fichero) y cliente (dhclient.Conf); los pools son los del ejercicio 7:
option aula code 224 = text;
class «info1» { match if option aula = «info1»; }
class «info2» { match if option aula = «info2»; }
option aula code 224 = text;
send aula «info1»;
Ejercicio 9
Nº | Error | Corrección |
|---|---|---|
1 | Falta ; tras default-lease-time 86400 | default-lease-time 86400; |
2 | max-lease-time = 259200; no lleva = | max-lease-time 259200; |
3 | domain-name-server | domain-name-servers (plural) |
4 | subnet … Netmask … Sin { | añadir { |
5 | option router | option routers |
6 | MAC con solo 5 bytes | 08:00:27:11:22:33 (6 bytes) |
7 | fixed-address 10.12.9.50 fuera de la subnet 10.12.7.0/24 | una IP de la red, p. Ej. 10.12.7.50 |
8 | domain-name-servers 4.4.4.4; sin option | option domain-name-servers 4.4.4.4; |
Ejercicio 10
(a) Solo la 10.12.7.101 (active). (b) 2 horas (09:15:02 a 11:15:02). (c) El 3 es el día de la semana (0 = domingo): miércoles, 28/10/2026; las horas están en UTC. (d) La concesión de la .102 ya expiró y la dirección está libre para otros; el registro queda como historial.
Ejercicio 11
(a) Sending on LPF/eth0/MAC: socket de bajo nivel (Linux Packet Filter) por eth0 con esa MAC. Socket/fallback/fallback-net: socket normal de reserva (versiones antiguas). DHCPDISCOVER … Port 67 interval 7: broadcast a los servidores y reintento en 7 s si nadie contesta. DHCPOFFER from 192.168.0.1: ese servidor ofrece IP. DHCPREQUEST … 255.255.255.255: acepta la oferta, en broadcast. DHCPACK from 192.168.0.1: confirmación. Bound to 192.168.0.20 — renewal in 300 seconds: configura la IP y renovará en 300 s.
(b) Renovación al 50 %: lease de 600 s (10 min).
(c) Reintenta con intervalos crecientes; si nadie contesta, el sistema se auto-configura con una IP 169.254.X.X (IPv4 link-local).
Ejercicio 12
Ámbito nuevo (asistente): nombre, inicio 120 / fin 220 / máscara 255.255.255.0, lease 1 día, router 10.12.0.1, dominio aula.Local, DNS 8.8.8.8, activar.
Cambios: Ámbito > Propiedades > General: fin 225 y lease 2 días. Opciones de ámbito > 006 = 10.12.X.1 y 003 = 10.12.X.4.
Concesiones: Ámbito > Concesiones de direcciones. En disco: C:\Windows\System32\dhcp\dhcp.Mdb.
Cliente: ipconfig /release, /renew, /all.
Ejercicio 13
MAC: ipconfig /all (o ip a). Servidor: Ámbito > Reservas > Reserva nueva (nombre, 10.12.X.195, MAC sin guiones). Clic derecho en la reserva > Configurar opciones: 003 = 10.12.X.10 y 006 = 8.8.8.8. Cliente: release y renew. Comprueba IP .195, puerta .10, DNS 8.8.8.8 y la reserva activa en Concesiones.
Ejercicio 14
Requisitos: dos servidores con IP estática y nombre distinto, rol DHCP en ambos, ámbito activo solo en el principal, secreto compartido, TCP 647. Pasos: sección 6.3 (primero hot standby con partner en espera y 5 %; comprueba con el activo parado; elimina; repite con load balance 50-50). El 5 % es la parte del ámbito que el standby reserva para dar IP nuevas si el activo cae. MCLT: margen máximo con el que un servidor alarga una concesión sobre lo que conoce su partner (1 h por defecto). Eliminar: Desconfigurar conmutación por error y revisar ámbitos.
Ejercicio 15
Pasos de la sección 6.7. Cliente: ipconfig /setclassid «Ethernet» info1 y release/renew. Esperado: info1 en 120-149, info3 en 150-169, info2 del resto del ámbito, sin clase se comprueba.
Ejercicio 16
Caso | Causa más probable | Cómo lo compruebas |
|---|---|---|
a | El cliente no alcanza al servidor: red interna distinta, servicio parado, cable desconectado, ámbito inactivo | Mismo nombre de red interna; systemctl status; ámbito activo |
b | La IP de la tarjeta del servidor no cae en ninguna subnet declarada | ip a y comparar con la subnet; arreglar IP o subnet |
c | MAC mal escrita o fixed-address fuera de la subred; el cliente conserva su concesión | Comparar MAC con ip a; dhclient -r y dhclient -v |
d | Parámetro definido en otro nivel que lo pisa (host sobre subnet, ámbito sobre servidor), o mirar resolv.Conf | resolvectl status; revisar niveles |
e | Los servidores no se comunican y pueden dar la misma IP: IP duplicadas | Rangos distintos o uno solo activo |
f | El ámbito está desactivado | Clic derecho > Activar |
9. Preguntas cortas de investigación con respuesta modelo
Son las preguntas de tu hoja «El Servei DHCP – INVESTIGACIO». Apréndelas en 2 o 3 frases.
Pregunta | Respuesta modelo |
|---|---|
¿Qué es DHCP y qué puertos usa? | Protocolo cliente/servidor (IETF, 1993) que da automáticamente IP, máscara, puerta de enlace, DNS y otros parámetros. Usa UDP: el servidor el 67 y el cliente el 68 |
Tipos de asignación | Manual/estática con reserva: siempre la misma IP a una MAC. Automática: IP libre la primera vez y se mantiene para siempre. Dinámica: IP temporal con lease, puede cambiar. La habitual es la dinámica |
Automática frente a dinámica | En la automática el cliente conserva la IP indefinidamente; en la dinámica la concesión caduca y hay que renovarla, así se reutilizan las direcciones |
¿Se puede reservar una IP? | Sí: asignación estática con reserva. En ISC: host nombre { hardware ethernet MAC; fixed-address IP; }. En Windows: Reservas |
¿Qué pasa al arrancar un cliente? | Sin IP, envía DHCPDISCOVER en broadcast y sigue el proceso DORA |
¿Cómo descubre los servidores? | Con el DISCOVER por broadcast (255.255.255.255:67); los servidores activos responden con OFFER |
Si hay varios servidores | Acepta, normalmente, la primera oferta que recibe y manda un REQUEST en broadcast indicando el servidor elegido; los demás retiran su oferta |
Lease, renewal y rebinding time | Lease: duración de la concesión. Renewal (T1): 50 %, renueva con su servidor. Rebinding (T2): 87,5 %, pide a cualquier servidor |
¿Qué es el ámbito? | Rango de IP más sus opciones que el servidor reparte en una subred. Ej.: subnet 10.12.X.0 netmask 255.255.255.0 { range …; } |
Servidor autoritativo | El que se considera oficial de la red: si un cliente pide una IP que no es válida aquí, responde DHCPNAK. Evita que servidores de usuarios (no administradores) se usen como si fueran auténticos. En ISC: authoritative; |
Dos servidores DHCP activos | Los servidores no se comunican entre sí. Si reparten el mismo rango pueden dar la misma IP: duplicados. Deben tener rangos distintos y configuraciones coherentes |
¿Decirle al cliente a qué servidor hacer caso? | Sí: en dhclient.Conf, reject IP; rechaza ofertas de un servidor; en el servidor no deseado se puede filtrar por MAC o deny unknown-clients; en redes grandes, DHCP snooping en el switch |
request de dhclient.Conf | subnet-mask máscara · broadcast-address dirección de difusión · time-offset desfase horario · routers puerta de enlace · domain-name dominio · domain-name-servers DNS · host-name nombre del equipo · netbios-name-servers servidores WINS · netbios-scope ámbito NetBIOS. Otros valores interesantes: ntp-servers, interface-mtu, domain-search |
Sin servidor DHCP: ¿cómo consigue IP el cliente?
IPv4: tras reintentar el DISCOVER, el sistema se auto-asigna una dirección link-local 169.254.0.0/16 (máscara 255.255.0.0): APIPA en Windows y avahi-autoipd/IPv4LL en Linux (RFC 3927). Comprueba con ARP que nadie la usa y, si está en uso, elige otra. No hay puerta de enlace ni DNS: solo comunica con equipos de su mismo segmento. (El libro cita también el RFC 1918, que en realidad define las direcciones privadas.)
IPv6: el equipo se forma solo una dirección link-local fe80::/10. Para una dirección global usa SLAAC: pide un Router Advertisement al router y construye la dirección con el prefijo. Con DHCPv6 (UDP 546 cliente, 547 servidor) recibe también DNS y direcciones (modo con o sin estado). Sin router ni DHCPv6 solo tiene fe80:: y comunica en su enlace.
Parámetros que puede obtener un cliente (más de 15)
Mira el anexo A: máscara, router, DNS, nombre de host, dominio, broadcast, MTU, NTP, WINS, tipo de nodo NetBIOS, lease, T1, T2, servidor TFTP, fichero de arranque, rutas estáticas…
10. Checklist final y anexos
10.1 Checklist de la víspera
Marca solo lo que puedas hacer sin mirar nada.
☐ Escribo de memoria un dhcpd.Conf con subnet, range, router, DNS y leases en segundos.
☐ Sé qué fichero indica la tarjeta (/etc/default/isc-dhcp-server) y la sintaxis INTERFACESv4.
☐ Valido con dhcpd -t, reinicio y compruebo con systemctl status y ps -A | grep dhcpd.
☐ Obtengo la MAC del cliente y escribo un host con fixed-address, router y DNS propios.
☐ Hago release/renew en el cliente y compruebo IP, router y DNS.
☐ Sé leer dhcpd.Leases y explicar cada línea de dhclient -v.
☐ Añado la 2ª tarjeta en VirtualBox, le doy IP estática y una 2ª subnet.
☐ Escribo una shared-network y un group.
☐ Escribo clases y pools con allow/deny members of y sé qué recibe info1, info2 e info3.
☐ Defino una opción propia (option aula code 224 = text;) en servidor y cliente.
☐ Windows: instalo el rol, creo el ámbito con el asistente y lo modifico (rango, lease, DNS, router).
☐ Windows: creo la reserva con opciones propias y sé dónde se ven las concesiones y dónde las guarda.
☐ Windows: configuro hot standby y 50-50, los pruebo y los elimino.
☐ Explico la diferencia entre opciones de servidor, ámbito y reserva (y global, subnet, host en ISC).
☐ Sé qué hacer si no arranca: dhcpd -t y el log.
Anexo A · Opciones DHCP más importantes (RFC 2132)
Cód. | Nombre | Función |
|---|---|---|
1 | subnet-mask | Máscara de subred |
2 | time-offset | Desfase horario respecto a UTC |
3 | routers | Puerta(s) de enlace |
4 | time-servers | Servidores de hora |
6 | domain-name-servers | Servidores DNS |
12 | host-name | Nombre del equipo |
15 | domain-name | Nombre de dominio |
26 | interface-mtu | MTU de la interfaz |
28 | broadcast-address | Dirección de difusión |
33 | static-routes | Rutas estáticas |
42 | ntp-servers | Servidores NTP |
44 | netbios-name-servers | Servidores WINS |
46 | netbios-node-type | Tipo de nodo NetBIOS |
47 | netbios-scope | Ámbito NetBIOS |
50 | dhcp-requested-address | IP que pide el cliente |
51 | dhcp-lease-time | Duración de la concesión |
53 | dhcp-message-type | Tipo de mensaje (Discover, Offer…) |
54 | dhcp-server-identifier | IP del servidor que responde |
55 | dhcp-parameter-request-list | Opciones que pide el cliente |
58 | dhcp-renewal-time | T1 (renovación) |
59 | dhcp-rebinding-time | T2 (reenlace) |
60 | vendor-class-identifier | Fabricante o tipo de cliente |
61 | dhcp-client-identifier | Identificador único del cliente |
66 | tftp-server-name | Servidor TFTP (arranque en red) |
67 | bootfile-name | Fichero de arranque |
77 | user-class | Clase definida por el usuario |
119 | domain-search | Dominios de búsqueda |
121 | classless-static-route | Rutas estáticas sin clase |
Anexo B · Directivas útiles de dhclient.Conf
Directiva | Para qué sirve |
|---|---|
request a, b, c; | Opciones que el cliente pide al servidor |
send host-name «pc1»; | Envía ese nombre al servidor |
send user-class «info1»; | Envía la clase de usuario |
send dhcp-client-identifier «x»; | Cambia el identificador del cliente |
supersede domain-name-servers 8.8.8.8; | Ignora el DNS del servidor y usa el tuyo |
prepend / append | Añade valores antes / después de los del servidor |
default …; | Valor a usar si el servidor no da ninguno |
require …; | No acepta ofertas que no incluyan esa opción |
reject IP; | Rechaza las ofertas de ese servidor |
timeout 60; / retry 60; | Tiempo de espera y de reintento |
Anexo C · Chuleta de dhcpd.Conf
Elemento | Función |
|---|---|
subnet … Netmask … { } | Ámbito |
range A B; | Rango dinámico |
host nombre { } | Reserva o ajustes para un equipo |
hardware ethernet MAC; | MAC del host |
fixed-address IP; | IP fija reservada |
group { } | Agrupa hosts o subnets con parámetros comunes |
shared-network nombre { } | Subredes en el mismo segmento |
pool { } | Rango con reglas de acceso |
class «x» { match if …; } | Clase de clientes |
allow/deny members of «x»; | Permiso por clase en un pool |
allow/deny unknown-clients; | Clientes sin host |
authoritative; | Servidor oficial: responde NAK |
default-lease-time / max-lease-time | Lease por defecto y máximo (segundos) |
option routers / domain-name-servers / domain-name / subnet-mask / broadcast-address | Opciones DHCP más usadas |
option nombre code N = text; | Define una opción propia |
log-facility local7; | Canal de log |
Anexo D · Glosario català-español (los enunciados están en catalán)
Català | Español | Nota |
|---|---|---|
àmbit | ámbito | scope |
concessió, temps de concessió | concesión, tiempo de concesión | lease |
reserva | reserva | host con fixed-address |
porta d’enllaç | puerta de enlace | router, gateway |
xarxa interna / mode pont | red interna / modo puente | VirtualBox |
targeta de xarxa | tarjeta de red | enp0s3 |
pantallassos | capturas de pantalla | evidencias del manual |
arrancar, parar, reiniciar | iniciar, detener, reiniciar | el servei = el servicio |
dimoni | demonio, proceso | dhcpd |
arxiu de leases | fichero de concesiones | dhcpd.Leases |
servidor autoritatiu | servidor autoritativo | authoritative; |
rang d’ip’s | rango de IP | range |
comentar la reserva | poner # delante | no borrarla |
enganxar el client a la xarxa | conectar el cliente a la red | cambiar red interna |
