PR0201 — Servei DHCP Corporatiu amb Kea
Informació de la pràctica
| Camp | Valor |
|---|---|
| Codi | PR0201 |
| Mòdul | M0375 — Serveis de Xarxa i Internet |
| RA | RA2 — Configuració Automàtica de Xarxa (DHCP) |
| Durada estimada | 4 hores |
| Modalitat | Individual |
| Lliurament | Fitxers de configuració + PDF (documentació) a Moodle |
| Qualificació | 10 punts (rúbrica adjunta) |
Objectius
- Instal·lar i configurar Kea DHCP (successor recomanat d'ISC DHCP, EOL des d'octubre 2022) en una màquina virtual Ubuntu Server 24.04.
- Configurar un subnet amb rang dinàmic i opcions bàsiques (gateway, DNS, domini).
- Crear reserves d'adreça per MAC per a equips corporatius.
- Afegir opcions addicionals de configuració (NTP).
- Consultar l'estat del servei i les concessions actives mitjançant l'API REST de
kea-ctrl-agent. - Documentar tot el procés amb captures de pantalla i respondre qüestions de comprensió.
Requisits previs
- 1 màquina virtual Ubuntu Server 24.04 LTS (inclou els paquets natius de Kea):
kea-server. - 1 màquina client (virtual o física) a la mateixa xarxa, amb el rol de client DHCP, per verificar concessions.
- Accés per SSH a la màquina servidor.
- Haver llegit Kea DHCP a Linux (subnet4, reservations, relay, HA).
Assignació del Rang IP (obligatori)
Cada alumne ha de treballar amb un rang IP propi i diferent de la resta de la classe, per evitar col·lisions al laboratori i per fer detectables les còpies.
- El professor/a us assignarà un número de llista N (1-30). És el mateix N que useu a la pràctica PR0101 (DNS).
- Calculeu el vostre tercer octet: XX = 100 + N.
- Exemple: si sou l'alumne número 3, XX = 103, i la vostra xarxa és
192.168.103.0/24. - Exemple: si sou l'alumne número 27, XX = 127, i la vostra xarxa és
192.168.127.0/24. - La vostra xarxa de treball serà
192.168.XX.0/24, amb: kea-server→192.168.XX.10- Pool dinàmic →
192.168.XX.100-192.168.XX.200 - Reserves per MAC →
192.168.XX.50,192.168.XX.51,192.168.XX.52
Personalització obligatòria
Substituïu XX pel valor numèric que us correspongui (100 + N) i NOMCOGNOM pel vostre nom i cognom (en minúscules, sense espais ni accents) a totes les adreces IP, dominis, noms d'equips reservats i noms d'amfitrió d'aquesta pràctica. Les captures amb el rang d'exemple (192.168.XX.0/24 literal, o el rang d'un altre company) no es consideraran vàlides.
Part 1: Instal·lació de Kea (30 minuts)
Ubuntu 24.04 inclou els paquets natius de Kea, cosa que simplifica molt la instal·lació respecte a ISC DHCP.
sudo apt update
sudo apt install -y kea-dhcp4-server kea-ctrl-agent kea-admin
sudo hostnamectl set-hostname kea-server-NOMCOGNOM
# Verifiqueu que els serveis existeixen (encara no configurats)
systemctl status kea-dhcp4-server
systemctl status kea-ctrl-agent
Documenteu: per què Kea és el substitut recomanat d'ISC DHCP i quin avantatge té la seva configuració en format JSON respecte al format text tradicional.
Part 2: Configuració del Subnet i Concessions Dinàmiques (1 hora)
Editeu /etc/kea/kea-dhcp4.conf:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "eth0" ]
},
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/var/lib/kea/kea-leases4.csv"
},
"valid-lifetime": 3600,
"renew-timer": 1800,
"rebind-timer": 3150,
"subnet4": [
{
"id": 1,
"subnet": "192.168.XX.0/24",
"pools": [ { "pool": "192.168.XX.100 - 192.168.XX.200" } ],
"option-data": [
{ "name": "routers", "data": "192.168.XX.1" },
{ "name": "domain-name-servers", "data": "192.168.XX.10, 8.8.8.8" },
{ "name": "domain-name", "data": "NOMCOGNOM.local" }
]
}
],
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket"
},
"loggers": [
{
"name": "kea-dhcp4",
"output-options": [ { "output": "/var/log/kea-dhcp4.log" } ],
"severity": "INFO"
}
]
}
}
Editeu /etc/kea/kea-ctrl-agent.conf:
{
"Control-agent": {
"http-host": "0.0.0.0",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket"
}
}
}
}
Reinicieu els serveis:
sudo systemctl restart kea-dhcp4-server
sudo systemctl restart kea-ctrl-agent
sudo systemctl status kea-dhcp4-server
Verifiqueu l'estat via l'API REST:
curl -X POST -H "Content-Type: application/json" \
-d '{"command": "status-get", "service": ["dhcp4"]}' \
http://192.168.XX.10:8000/
Documenteu: captura de la resposta JSON de status-get mostrant el servei actiu.
Part 3: Reserves d'Adreça per MAC (1 hora)
Afegiu reserves per a 3 equips corporatius dins del bloc subnet4 de /etc/kea/kea-dhcp4.conf:
"reservations": [
{
"hw-address": "08:00:27:11:22:33",
"ip-address": "192.168.XX.50",
"hostname": "servidor-impressio-NOMCOGNOM"
},
{
"hw-address": "08:00:27:44:55:66",
"ip-address": "192.168.XX.51",
"hostname": "pc-direccio-NOMCOGNOM"
},
{
"hw-address": "08:00:27:77:88:99",
"ip-address": "192.168.XX.52",
"hostname": "servidor-backup-NOMCOGNOM"
}
]
Reinicieu el servei i verifiqueu la configuració:
sudo systemctl restart kea-dhcp4-server
curl -X POST -H "Content-Type: application/json" \
-d '{"command": "config-get", "service": ["dhcp4"]}' \
http://192.168.XX.10:8000/
A la màquina client, configureu la seva MAC (o la de la interfície virtual) perquè coincideixi amb una de les reserves i llanceu una petició DHCP:
sudo dhclient -r eth0 # allibera la concessió actual
sudo dhclient eth0 # sol·licita una nova concessió
ip a show eth0
Comproveu que el client rep exactament la IP reservada.
Documenteu: captura de config-get mostrant les 3 reserves i captura de la concessió obtinguda pel client amb la IP reservada correcta.
Part 4: Opcions Addicionals i Consulta de Concessions (45 minuts)
Afegiu l'opció de servidor NTP:
"option-data": [
{ "name": "routers", "data": "192.168.XX.1" },
{ "name": "domain-name-servers", "data": "192.168.XX.10, 8.8.8.8" },
{ "name": "domain-name", "data": "NOMCOGNOM.local" },
{ "name": "ntp-servers", "data": "192.168.XX.1" }
]
Consulteu totes les concessions actives via l'API:
curl -X POST -H "Content-Type: application/json" \
-d '{"command": "lease4-get-all", "service": ["dhcp4"]}' \
http://192.168.XX.10:8000/
O directament al fitxer de concessions:
Documenteu: taula amb totes les concessions actives (IP, MAC, hostname, temps de venciment).
Qüestions
Responeu al document de lliurament:
- Per què ISC DHCP està en fi de vida (EOL) i quins avantatges tècnics aporta Kea (arquitectura per hooks, API REST, configuració JSON)?
- Quina diferència hi ha entre una reserva (
reservations) i el pool dinàmic (pools)? Quan s'ha d'utilitzar cadascuna? - Per a què serveix
kea-ctrl-agenti per què és útil exposar-lo via API REST en lloc de només fitxers de configuració? - Quins riscos de seguretat implica un servidor DHCP rogue a la xarxa, i com es podria mitigar (relació amb DHCP Snooping)?
Lliurament
- Fitxers de configuració:
kea-dhcp4.confikea-ctrl-agent.conf. - Documentació PDF amb:
- El vostre número de llista N i el rang
192.168.XX.0/24calculat - Captures de cada part (1 a 4)
- Respostes a les 4 qüestions
- Taula de reserves i concessions actives
- README.md amb un resum dels passos d'instal·lació i configuració seguits.
Criteris d'Avaluació
Consulteu la rúbrica detallada per a la puntuació completa (10 punts, 4 blocs + penalitzacions).
Recursos Addicionals
- Kea DHCP a Linux — configuració de referència d'aquesta pràctica.
- Kea Administrator Reference Manual: https://kea.readthedocs.io/
- RFC 2131 — Dynamic Host Configuration Protocol: https://www.rfc-editor.org/rfc/rfc2131
- ISC — Kea vs ISC DHCP: https://www.isc.org/kea/
Data de creació: Juliol 2026 Autor: Curs M0375 - Serveis de Xarxa i Internet