Category Archives: DHCP

Il funzionamento del servizio DHCP

Il servizio DHCP permette di automatizzare l’assegnazione degli indirizzi Ip all’interno di una rete.
L’assegnazione dell’indirizzo ip a un client avviene in questo modo.
Il client all’avvio invia un messaggio DHCPDISCOVER in broadcast sulla rete locale per individuare se ci sono server DHCP disponibili.
Il server DHCP invia un messaggio DHCPOFFER al client che contiene la configurazione del server e un indirizzo Ip disponibile. Se esiste una reservation per il MAC address del client, il server offre l’indirizzo Ip specificato.
Il client risponde al server con un messaggio DHCPREQUEST in cui richiede l’indirizzo indicato dal server nel messaggio DHCPOFFER.
Se l’indirizzo è ancora disponibile il server risponde con un messaggio DHCPACK e il client può utilizzare l’indirizzo.

L’indirizzo assegnato al client ha una durata limitata.

Il client invia al server una richiesta di rinnovo della lease a metà della durata e se il server è online generalmente la accetta e il periodo per cui è valido riparte.
Se il server non è disponibile il client tenta di rinnovare l’indirizzo quando arriva a 87,5% della durata della lease. Se il server non è disponibile il clienta tenta di individuare un altro server e ottenere un nuovo indirizzo.

Quando il client viene spento correttamente invia un messaggio DHCPRELEASE al server che rende disponibile l’indirizzo per l’assegnazione a un altro client.
Se il client si disconnette dalla rete senza inviare un messaggio DHCPRELEASE l’indirizzo non viene assegnato fino a quando scade la lease.

DHCP Server – Best Practice

La regola 80/20

Un metodo comune per garantire la disponibilità del servizio DHCP in una rete è utilizzare la regola 80/20.
Questa regola consiste in installare due server DHCP e configurarli in modo che uno possa assegnare l’80% degli indirizzi (da 192.168.0.1 a 192.168.0.200) e il secondo il 20% (da 192.168.0.201 a 192.168.0.250).

In questo esempio quindi il primo server viene configurato nel seguente modo
Scope da 192.168.0.1 a 192.168.0.250
Exclusion da 192.168.0.201 a 192.168.0.250

mentre il secondo server viene configurato nel seguente modo
Scope da 192.168.0.1 a 192.168.0.250
Exclusion da 192.168.0.1 a 192.168.0.200

Il primo server deve avere un numero di indirizzi ip sufficienti per i client e viene installato nella stessa subnet dei client mentre il secondo viene installato in una subent vicina,
Quando i client rinnovano la lease inviano un messaggio che raggiunge il server presente nella stessa subnet ma se questo non è attivo il server presente nell’altra subnet può funzionare come backup.
Per fare in modo che questo funzioni è necessario configurare il router in modo da funzionare da relay agent.
Questo tipo di soluzione garantisce il funzionamento del servizio DHCP se il primo server non è disponibile per un breve periodo.
Infatti la lease di default dura tre giorni per cui è improbabile che nel breve periodo più del 20% dei client contattino il server DHCP per rinnovare l’indirizzo.

La regola 50/50

Un’alternativa alla regola 80/20 è la regola 50/50.
In questo caso vengono configurati sulla stessa subnet due server DHCP che gestiscono un intervallo di indirizzi diversi dello stesso scope.
Il primo server viene configurato nel seguente modo
Scope da 192.168.0.1 a 192.168.0.250
Exclusion da 192.168.0.126 a 192.168.0.200
Il secondo server viene configurato nel seguente modo
Scope da 192.168.0.1 a 192.168.0.250
Exclusion da 192.168.0.1 a 192.168.0.125

Utilizzando questo metodo è possibile garantare il servizio DHCP anche se uno dei server non è disponibile.
Nella configurazione dei server è importante che l’intervallo di indirizzi gestito da un server sia escluso dall’altro per evitare che fallisca il rinnovo della lease se il client contatta l’altro server.

Utilizzare i superscope se si hanno più server DHCP nella stessa subnet
Quando un client DHCP viene avviato invia un messaggio in broadcast del tipo DHCPDISCOVER nella sua subnet per trovare un server DHCP.
Visto che il messaggio è inviato in broadcast non è possibile sapere quale sarà il server DHCP che risponderà se ne esiste più di uno nella stessa subnet.
Se un client ottiene un indirizzo Ip da un server e quando tenta di effettuare il rinnovo della lease contatta un altro server questo server risponde inviando un messaggio DHCPNACK.
Per evitare questo tipo di problema è possibile utilizzare un superscope quando si usano più server DHCP nella stessa subnet.
Il superscope deve contenere tutti gli scope validi per la subnet e gli indirizzi degli scope devono essere disponibili su un solo server mentre sugli altri server è necessario usare le exclusion.

Disattivare gli scope solo quando lo scope viene rimosso dalla rete
Uno scope deve essere disattivato solo quando lo si vuole rimuovere.
Quando uno scope viene disattivato il server non considera come validi gli indirizzi dello scope per cui risponde con messaggi di tipo DHCPNAK se riceve richieste per questi indirizzi dai client.
Se la disattivazione degli indirizzi dello scope deve essere temporanea è necessario usare delle exclusion.

Utilizzo di conflict detection
L’opzione conflict detection deve essere utilizzata solo quando è necessario.
Questa opzione può essere utile per individuare e risolvere particolari problemi con il servizio DHCP ma in condizioni normali dovrebbe essere disattivata.
Quando è attiva il DHCP utilizza ping per verificare un indirizzo prima di assegnarlo e quindi influenza le prestazioni del servizio.
Il numero di ping tentati generalmente non dovrebbe essere superiore a due.

Utilizzo reservation
Se si utilizza una reservation per fare in modo che un client ottenga sempre lo stesso indirizzo ip è necessario configurare la reservation su tutti server DHCP che potrebbero essere raggiunti dal client.