Dynamic Host Configuration Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Hce (discussione | contributi) recuperata chiara definizione dei ruoli, funzionamento |
Hce (discussione | contributi) altri dettagli, sicurezza |
||
Riga 1:
Il '''DHCP''', [[acronimo]] dell'espressione [[inglese]] '''''D'''ynamic '''H'''ost '''C'''onfiguration '''P'''rotocol'' (''protocollo di configurazione dinamica degli indirizzi'') è il [[protocollo]] usato per assegnare gli indirizzi [[IP]]
In una rete basata sul protocollo [[IP]], ogni
Il compito di assegnare manualmente gli indirizzi IP ai calcolatori comporta un rilevante onere per gli amministratori di rete, soprattutto in reti di grandi dimensioni o in caso di numerosi computer che si connettono a rotazione solo ad ore o giorni determinati. Inoltre gli indirizzi [[IPv4]] (attualmente usati nella quasi totalità delle reti al mondo) con l'aumentare dei computer connessi ad [[Internet]] hanno cominciato a scarseggiare, diminuendo la disponibilità di IP fissi. === Parametri gestiti da DHCP ===
Line 11 ⟶ 13:
* Indirizzi dei server [[DNS]]
* Nome di dominio [[DNS]] di default
* Indirizzi dei server [[WINS]]
* Indirizzo di un server [[tftp]] e nome di un file da caricare per calcolatori che caricano dalla rete l'immagine del [[sistema operativo]].
Nel protocollo c'è comunque il supporto per assegnare tramite DHCP molti altri paramentri, e anche per definire localmente nuovi paramentri, ma questa possibilità non viene ampiamente usata.
== componenti del protocollo ==
Line 19 ⟶ 26:
Il '''Server DCHP''' è il calcolatore che assegna gli indirizzi IP, e anche il processo che svolge questa funzione. Talvolta questa funzione è incorporata in un [[router]].
==Richiesta e attribuzione dell'indirizzo==
DHCP utilizza il [[protocollo di rete|protocollo]] [[UDP]], le porte registrate sono la 67 per il server e la 68 per il client.
Quando un calcolatore vuole ottenere un indirizzo tramite DHCP, attiva il processo DHCP client. In questo momento, il calcolatore non ha un indirizzo IP valido, quindi non può usare tutte le funzionalità della rete.
Esso invia quindi un pacchetto chiamato DHCPDISCOVER in [[broadcast]] sulla sottorete, con indirizzo IP sorgente messo convenzionalmente a 0.0.0.0, e destinazione 255.255.255.255. Tutti i server DHCP attivi sulla sottorete ricevono direttamente questo pacchetto, e possono rispondere (o meno)
Se sulla sottorete ci sono anche uno o più DHCP relay, questi inoltrano il pacchetto al loro server di riferimento, che può rispondere allo stesso modo attraverso il relay. Il relay agent informa il server della sottorete da cui ha ricevuto il pacchetto di DHCPDISCOVER, permettendo al server di offrire un indirizzo per la sottorete giusta. Il client aspetta un certo tempo di ricevere una o più offerte, dopodiché ne seleziona una, ed invia un pacchetto di DHCPREQUEST al server che ha scelto. Questo gli conferma l'assegnazione dell'indirizzo con un pacchetto di DHCPACK.
=== Scadenza e rinnovo degli indirizzi ===
A questo punto, il client è autorizzato ad usare quell'indirizzo per un tempo limitato, detto lease. Prima della scadenza, dovrà tentare di rinnovarlo inviando un nuovo pacchetto DHCPREQUEST al server, che gli risponderà con un DHCPACK se vuole prolungare l'assegnazione dell'indirizzo. Se il client non riesce a rinnovare l'indirizzo, tornerà allo stato iniziale cercando di farsene attribuire un altro.▼
▲A questo punto, il client è autorizzato ad usare
=== Identificazione ed autenticazione dei client ===
Il client si identifica verso il server attraverso un campo client-id dei pacchetti DHCP. Questo campo ha normalmente come valore il [[mac address]] della scheda di rete per cui si richiede l'indirizzo, ma può anche essere configurato manualmente. Questa è l'unica forma di autenticazione disponibile per DHCP, ed è piuttosto debole, in quanto utilizza un dato che viene inviato in broadcast sulla sottorete, e quindi può essere facilmente [[sniffing|sniffato]] da qualunque altro calcolatore connesso alla sottorete.
Un server dovrebbe cercare di assegnare allo stesso client sempre lo stesso indirizzo IP su ciascuna sottorete, ma non ci sono garanzie che questo sia possibile, a meno che un indirizzo non sia associato esclusivamente ad un client.
Il server può utilizzare il campo client-id per decidere quale indirizzo assegnare al client, o quali altri parametri passargli, o anche di non rispondere per nulla alla richiesta del client.
=== Identificazione del server, sicurezza ===
Il server si identifica verso il client con il proprio indirizzo IP. Un client potrebbe quindi decidere di accettare indirizzi solo da un server già noto.
Qualunque calcolatore collegato ad una sottorete potrebbe fare da server DHCP per i calcolatori di quella sottorete, o da relay verso un server DHCP arbitrario. È quindi possibile che un calcolatore configurato male o maliziosamente offra abusivamente indirizzi IP, creando malfunzionamenti alla rete e/o gravi problemi di sicurezza. Ad esempio, un server DHCP malizioso può offrire indirizzi che sa essere inutilizzati, o su una sottorete IP diversa da quella ufficiale, evitando così di generare conflitti con il server ufficiale ed indicare se stesso come default gateway. Dovrà poi ridirigere le connessioni effettuate dai client verso il gateway ufficiale utilizzando [[IP masquerading]]. A questo punto, potrà intercettare e [[sniffing|sniffare]] tutto il traffico generato dai client, che potrebbero non accorgersi facilmente della differenza.
|