Salta el contingut

Exemple: documentació d'una instal·lació DHCP

Aquesta pàgina és un model complet de document d'instal·lació, seguint pas a pas la guia de documentació tècnica i la seva plantilla d'11 seccions. Fes-la servir com a referència del que és una documentació ben feta: reproducible, verificable, amb rollback i sense secrets.

Com llegir aquesta pàgina

Tot el que hi ha a partir d'aquí (metadades, seccions numerades, comandes, diagrames…) forma part del document d'exemple. En un cas real seria un fitxer .md propi, versionat amb Git al costat de la configuració del servei.


Instal·lació d'un servidor DHCP (ISC DHCP) a Ubuntu Server 24.04

Camp Valor
Autor Alumnat ASIX — Institut Sa Palomera
Data 2026-07-20
Versió 1.0
Estat Validat

1. Objectiu i abast

Instal·lar i configurar un servidor DHCP (ISC DHCP Server) que assigni automàticament la configuració de xarxa (IP, màscara, passarel·la i DNS) als equips de la VLAN 20 (usuaris) d'una oficina petita.

Dins de l'abast: instal·lació, configuració d'un àmbit (scope), una reserva per a la impressora, verificació i posada en marxa del servei en un únic servidor.

Fora de l'abast: alta disponibilitat amb dos servidors DHCP (failover), DHCP relay entre VLAN, DHCPv6 i integració amb DNS dinàmic (DDNS). (Es tracten a les pràctiques del RA2.)

2. Requisits previs

  • Sistema operatiu: Ubuntu Server 24.04 LTS, actualitzat (sudo apt update && sudo apt upgrade).
  • Recursos: 1 vCPU, 1 GB de RAM i 10 GB de disc (suficient per al servei).
  • Xarxa: el servidor ha de tenir IP estàtica a la interfície de la VLAN 20 (10.0.20.5/24); la interfície de xarxa es diu ens18.
  • Permisos: usuari amb sudo.
  • Important: ha d'existir un únic servidor DHCP a la VLAN (per evitar un rogue DHCP).

IP estàtica obligatòria

Un servidor DHCP no pot obtenir la seva pròpia IP per DHCP. Assigna-li una IP estàtica amb Netplan abans de continuar:

# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    ens18:
      addresses: [10.0.20.5/24]
      routes:
        - to: default
          via: 10.0.20.1
      nameservers:
        addresses: [10.0.10.8]
sudo netplan apply

3. Arquitectura

---
config:
  theme: base
  themeVariables:
    background: "#FFFFFF"
    primaryTextColor: "#1F2937"
    lineColor: "#64748B"
    primaryColor: "#e0e7ff"
    primaryBorderColor: "#2563EB"
---
flowchart LR
    subgraph V20["VLAN 20 · Usuaris (10.0.20.0/24)"]
        DHCP["🖥️ srv-dhcp01<br/>10.0.20.5"]
        PC["💻 Clients<br/>.100 – .200"]
        PR["🖨️ Impressora<br/>10.0.20.10 (reserva)"]
    end
    GW["🌐 Passarel·la<br/>10.0.20.1"]
    DNS["🔤 DNS<br/>10.0.10.8"]
    PC -. "DORA (broadcast)" .-> DHCP
    DHCP --> GW
    DHCP --> DNS

Taula d'inventari:

Host IP VLAN Rol Ports
srv-dhcp01 10.0.20.5 20 Servidor DHCP 67/UDP (servei), 68/UDP (client)
Passarel·la 10.0.20.1 20 Router / gateway
Servidor DNS 10.0.10.8 10 Resolució de noms 53/UDP-TCP
impressora-planta1 10.0.20.10 20 Reserva per MAC

Paràmetres de l'àmbit (scope):

Paràmetre Valor
Subxarxa 10.0.20.0/24
Rang dinàmic 10.0.20.10010.0.20.200
Passarel·la (routers) 10.0.20.1
DNS 10.0.10.8
Domini exemple.local
Durada del lease 3600 s (per defecte), 7200 s (màxim)

4. Procediment d'instal·lació

  1. Actualitza els repositoris i instal·la el paquet:
sudo apt update
sudo apt install -y isc-dhcp-server

Resultat esperat: el paquet s'instal·la; el servei encara no arrencarà correctament fins que el configurem (és normal veure un error en aquest punt).

  1. Indica en quina interfície ha d'escoltar el servei:
sudo nano /etc/default/isc-dhcp-server

Deixa la línia així:

# /etc/default/isc-dhcp-server
INTERFACESv4="ens18"
INTERFACESv6=""

5. Configuració

Edita el fitxer de configuració principal:

sudo nano /etc/dhcp/dhcpd.conf
# /etc/dhcp/dhcpd.conf

# Aquest servidor és l'autoritat DHCP oficial de la xarxa
authoritative;

# Durada dels leases (en segons)
default-lease-time 3600;
max-lease-time 7200;

# Opcions globals lliurades a tots els clients
option domain-name "exemple.local";
option domain-name-servers 10.0.10.8;

# Àmbit (scope) de la VLAN 20
subnet 10.0.20.0 netmask 255.255.255.0 {
  range 10.0.20.100 10.0.20.200;      # rang dinàmic
  option routers 10.0.20.1;           # passarel·la
  option broadcast-address 10.0.20.255;
}

# Reserva d'IP fixa per a la impressora (per adreça MAC)
host impressora-planta1 {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 10.0.20.10;
}

Per què aquests valors

  • authoritative; fa que el servidor respongui amb un DHCPNAK als clients amb configuracions velles d'una altra xarxa, accelerant-ne la reconfiguració.
  • El rang (.100.200) deixa lliures les adreces baixes (.1.99) per a equips amb IP estàtica o reserves, evitant conflictes.
  • La reserva per MAC garanteix que la impressora tingui sempre la mateixa IP sense configurar-la manualment.

Comprova la sintaxi abans d'arrencar el servei:

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

Resultat esperat:

Config file: /etc/dhcp/dhcpd.conf
...
(cap error de sintaxi)

Arrenca el servei i activa'l a l'inici del sistema:

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

6. Verificació i proves

  1. Estat del servei (ha d'estar active (running)):
systemctl status isc-dhcp-server
● isc-dhcp-server.service - ISC DHCP IPv4 server
     Active: active (running) since ...
  1. Registre del servei (busca que estigui escoltant a la interfície):
journalctl -u isc-dhcp-server -n 20
Listening on LPF/ens18/xx:xx:xx:xx:xx:xx/10.0.20.0/24
Sending on   LPF/ens18/...
  1. Prova des d'un client de la VLAN 20 (Linux):
sudo dhclient -v ens3
DHCPDISCOVER on ens3 to 255.255.255.255 port 67
DHCPOFFER of 10.0.20.100 from 10.0.20.5
DHCPREQUEST for 10.0.20.100 on ens3
DHCPACK of 10.0.20.100 from 10.0.20.5

(A Windows: ipconfig /release i ipconfig /renew.)

  1. Comprova les concessions (leases) al servidor:
cat /var/lib/dhcp/dhcpd.leases
lease 10.0.20.100 {
  starts ... ; ends ... ;
  hardware ethernet 08:00:27:aa:bb:cc;
}

Verificació amb captura (opcional)

Per veure el procés DORA sencer, captura el trànsit dels ports DHCP mentre un client renova la IP:

sudo tcpdump -i ens18 -n port 67 or port 68

(Vegeu el detall del procés DORA a la teoria del DHCP.)

7. Còpia de seguretat i rollback

Abans de qualsevol canvi, fes una còpia de la configuració:

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak-$(date +%F)

Per revertir un canvi de configuració:

sudo cp /etc/dhcp/dhcpd.conf.bak-2026-07-20 /etc/dhcp/dhcpd.conf
sudo systemctl restart isc-dhcp-server

Per desinstal·lar completament el servei:

sudo systemctl stop isc-dhcp-server
sudo apt purge -y isc-dhcp-server

8. Manteniment i operació

Tasca Comanda
Arrencar / aturar / reiniciar sudo systemctl start\|stop\|restart isc-dhcp-server
Veure els logs en directe journalctl -u isc-dhcp-server -f
Consultar les concessions actives cat /var/lib/dhcp/dhcpd.leases
Validar la configuració sudo dhcpd -t
Actualitzar el paquet sudo apt update && sudo apt upgrade isc-dhcp-server

Monitoratge

Per a un seguiment continu (percentatge d'ús de l'àmbit, leases per segon…) es pot exportar l'estat del DHCP cap a Prometheus + Grafana (vegeu la pràctica de monitoratge del mòdul). Vigila especialment el percentatge d'ocupació de l'àmbit per anticipar-te a un abast esgotat.

9. Resolució de problemes

Símptoma Causa probable Solució
El servei no arrenca Error de sintaxi al dhcpd.conf sudo dhcpd -t i corregeix la línia indicada
El servei arrenca però cap client rep IP Interfície incorrecta a /etc/default/isc-dhcp-server Posa la interfície correcta (INTERFACESv4) i reinicia
Els clients d'una altra VLAN no reben IP Falta el DHCP relay (ip helper-address) Configura el relay al router cap a 10.0.20.5
Alguns equips es queden sense IP Àmbit esgotat Amplia el rang o redueix el temps de lease
Un client rep una IP inesperada Possible servidor DHCP intrús Localitza el rogue i activa DHCP snooping

Per a un diagnòstic pas a pas, consulta la cheat sheet de diagnòstic d'incidències.

10. Referències

Històric de canvis

Versió Data Canvis
1.0 2026-07-20 Versió inicial: instal·lació, àmbit VLAN 20, reserva de la impressora, verificació i rollback.

Què el fa un bon document

Fixa't que aquest exemple compleix tot el checklist de qualitat: metadades i versió, objectiu i abast, requisits previs, diagrama i taula d'inventari, passos numerats amb comandes exactes i resultat esperat, configuració amb rutes completes, verificació, còpia de seguretat i rollback, i cap secret escrit. Una persona diferent de qui l'ha escrit el pot reproduir en una màquina neta.