Ogni volta che colleghi un telefono al Wi-Fi o un portatile al cavo, il dispositivo ottiene in pochi istanti un indirizzo IP, la maschera di rete, il gateway e i server DNS. Nessuno li inserisce a mano: lo fa il DHCP (Dynamic Host Configuration Protocol). È un servizio così discreto che ci si accorge della sua esistenza solo quando smette di funzionare, e a quel punto nulla si collega più.
Le quattro fasi: DORA
Un dispositivo appena connesso non ha indirizzo e non sa dove sia il server DHCP. Il dialogo avviene quindi tramite messaggi broadcast, inviati a tutta la rete locale, su UDP (porte 67 per il server e 68 per il client):
- Discover: il client chiede "c'è un server DHCP?".
- Offer: il server risponde proponendo un indirizzo libero e i parametri della rete.
- Request: il client dichiara di accettare quell'offerta (se ha ricevuto più offerte, ne sceglie una e lo comunica a tutti).
- Acknowledge: il server conferma, e da quel momento il client può usare l'indirizzo.
Dalle iniziali inglesi deriva la sigla DORA, utile da ricordare quando analizzi una cattura di traffico.
Il lease: un prestito a tempo
L'indirizzo non viene assegnato per sempre, ma in lease per un tempo stabilito, per esempio 24 ore. Il client lo rinnova automaticamente:
- a metà della durata prova a rinnovarlo con il server che glielo ha assegnato;
- se non riceve risposta, a circa sette ottavi della durata lo chiede a qualsiasi server disponibile;
- se il lease scade senza rinnovo, il client deve smettere di usare l'indirizzo e ricominciare da capo.
La durata ideale dipende dalla rete:
| Rete | Durata suggerita | Motivo |
|---|---|---|
| Ospiti, luoghi pubblici | 1-4 ore | Molti dispositivi di passaggio, indirizzi da liberare in fretta |
| Casa, ufficio | 12-24 ore | Dispositivi stabili, poco traffico di rinnovo |
| Server e apparati fissi | Prenotazione | Indirizzo sempre uguale |
Se l'intervallo è piccolo e i dispositivi sono tanti, lease troppo lunghi possono esaurire gli indirizzi disponibili: i nuovi arrivati non riescono a collegarsi.
Prenotazioni: indirizzi fissi senza configurazione manuale
Una prenotazione (o lease statico) associa l'indirizzo MAC di un dispositivo a un IP preciso. Il dispositivo continua a usare il DHCP, ma riceve sempre lo stesso indirizzo. È la soluzione migliore per stampanti, NAS, telecamere e server, perché:
- la configurazione resta centralizzata in un unico punto;
- se cambi gateway o DNS, tutti i dispositivi ricevono i nuovi valori al rinnovo;
- eviti conflitti tra un IP impostato a mano e uno assegnato dal DHCP.
Una nota: molti telefoni e computer moderni usano indirizzi MAC casuali per ogni rete Wi-Fi, per motivi di privacy. Per prenotare un indirizzo a questi dispositivi devi disattivare la funzione per quella rete specifica, oppure usare il MAC casuale, che di solito resta costante per la stessa rete.
Le opzioni DHCP
Oltre all'indirizzo, il server trasmette diverse opzioni. Le più comuni:
- maschera di rete e gateway predefinito;
- server DNS e dominio di ricerca locale;
- server dell'ora (NTP);
- informazioni per l'avvio da rete (PXE), usate per installare sistemi operativi su molti computer;
- rotte statiche aggiuntive.
Se hai un DNS locale con filtri, è tramite queste opzioni che lo distribuisci a tutti i dispositivi.
DHCP su più reti: il relay
I messaggi broadcast non attraversano i router. In una rete divisa in VLAN, quindi, o hai un server DHCP su ogni segmento, oppure configuri un DHCP relay sul router: intercetta le richieste della VLAN e le inoltra a un server centrale, indicando da quale rete provengono così che il server assegni un indirizzo dell'intervallo giusto. La maggior parte dei router con VLAN integra invece direttamente un server DHCP per ogni interfaccia.
Server DHCP non autorizzati
Se in una rete ci sono due server DHCP, i client accettano la prima offerta che arriva. Succede più spesso di quanto si pensi: un secondo router collegato per errore con una porta LAN, un access point con il DHCP rimasto attivo, un dispositivo di prova. Il risultato sono client che ricevono gateway sbagliati e smettono di navigare in modo apparentemente casuale.
Può anche essere un attacco: un server DHCP malevolo può indicare un gateway o un DNS controllati da un attaccante. Sugli switch gestiti la funzione DHCP snooping permette di dichiarare quali porte possono ospitare un server DHCP e scartare le offerte da tutte le altre.
Risolvere i problemi comuni
- Indirizzo 169.254.x.x: il client non ha ricevuto risposta dal DHCP. Controlla collegamento, VLAN e stato del server.
- Indirizzo di una rete inattesa: c'è probabilmente un secondo server DHCP.
- Alcuni dispositivi non si collegano più: verifica che l'intervallo non sia esaurito.
- Per forzare un rinnovo:
ipconfig /releaseeipconfig /renewsu Windows, oppure disconnetti e riconnetti l'interfaccia su altri sistemi.
In sintesi
- Il DHCP assegna indirizzo, gateway, DNS e altre opzioni con le fasi Discover, Offer, Request, Acknowledge.
- Gli indirizzi sono dati in lease e vanno rinnovati: adatta la durata al tipo di rete.
- Usa le prenotazioni per i dispositivi che devono avere un IP fisso.
- Tra VLAN servono server per ogni interfaccia o un DHCP relay.
- Un secondo server DHCP crea guasti intermittenti: il DHCP snooping li previene.