In questa lezione, descriveremo le sue caratteristiche e illustreremo come un router Cisco può essere usato come server DHCP. Usando il Security Device Manager, avrai la possibilità di configurare il protocollo, mettere a punto i suoi componenti e monitorare le operazioni del protocollo.

Capire il processo DHCP

Il Dynamic Host Configuration Protocol, conosciuto anche come DHCP, è un’applicazione client server che automatizza l’assegnazione di componenti IP alle macchine client. In questo senso, le macchine client entreranno nella rete senza parametri e richiederanno quei parametri da un server DHCP.

Le informazioni sui parametri contenute nel server DHCP vanno dall’indirizzo IP richiesto e il gateway predefinito e la subnet mask ai server DNS, i server dei nomi NetBIOS e altri parametri specializzati come i server TFTP e i server SIP, e il client appartiene al mondo della telefonia IP.

La specifica sulla RFC include persino gli ID VLAN e i parametri della qualità del servizio. Il protocollo può essere basato su un modello di leasing in cui le macchine affittano i loro parametri e possono essere riutilizzati da altre macchine se il dispositivo originale non è più nella rete. I parametri sono affittati sulla base di un certo tempo, che può essere definito e può essere diverso per ambito di indirizzo IP o per gruppo di macchine. Si possono anche definire allocazioni manuali e fissare i parametri per una particolare macchina. Descriviamo il processo DHCP in maggiori dettagli.

Processo DHCP

In questa figura, abbiamo un client che richiede indirizzi IP da un server. Sembrano tre client e due server solo per illustrare le diverse fasi del processo, ma stiamo parlando dello stesso client e dello stesso server a questo punto. La prima cosa da dire qui è che ognuna di queste chiamate è una trasmissione locale in termini di informazioni IP. Questo perché i client non conoscono la subnet a cui appartengono quando partono perché ovviamente non hanno un indirizzo IP e i server non sanno dove rispondere, perché i client non hanno ancora un indirizzo IP. Quindi tutte queste chiamate useranno un broadcast locale e un indirizzo IP di destinazione sul pacchetto.

I client trasmetteranno un messaggio di richiesta, un messaggio di scoperta ai server, più di un server potrebbe vedere quel messaggio, e quindi ecco perché avete bisogno delle quattro fasi qui. I server risponderanno con un messaggio di offerta, di nuovo questa è ancora una protesta locale perché il client non ha un indirizzo locale. È un broadcast locale al livello 3, ma durante il messaggio di scoperta, il server conosce l’indirizzo MAC del client, ed è per questo che anche se al livello 3 è un broadcast nella destinazione, sarà anche unicast in seguito perché il server invierà le informazioni direttamente all’indirizzo MAC del client. Quindi, nel complesso, il processo funziona così.

Dopo il messaggio di scoperta e il messaggio di offerta, più di un server potrebbe rispondere con un messaggio di offerta, quindi il client deve prendere una decisione su quale indirizzo o quali informazioni prendere. Quindi risponderà con un messaggio di richiesta, decidendo quale server fornirà le informazioni. Per tutto il tempo, i messaggi di offerta includono indirizzi IP ma anche altre opzioni come gateway predefiniti, tempo di locazione, tempo di scadenza, ecc. Infine, il server selezionato dirà: “Ok, accetto la tua richiesta. Ecco le informazioni. Ora iniziamo un tempo di leasing, e tu sei il proprietario dell’indirizzo temporaneamente”. E questo è un messaggio di riconoscimento DHCP. Il client lo vedrà e comincerà a funzionare.

La cosa importante sul fatto che queste siano proteste locali è che se metti un router nel mezzo della conversazione, allora i router non inoltreranno le trasmissioni locali. Quindi dovrete configurare quel router in modo che le richieste e le risposte possano viaggiare avanti e indietro attraverso quel router. Se hai intenzione di configurare un router Cisco come server DHCP, allora dovrebbe supportare DHCP ed eseguire tutte queste chiamate.

Allocazione degli indirizzi DHCP

Fornire un indirizzo IP a un client è il compito più importante eseguito da un protocollo di configurazione degli host. Insieme a questo si ottengono informazioni sul segmento di rete, gateway predefinito, server DNS, nome di dominio, server TFTP (importante nella telefonia IP) e così via. Per fornire flessibilità nella configurazione degli indirizzi su diversi tipi di client, lo standard DHCP include tre diversi meccanismi di allocazione degli indirizzi:

  • Allocazione manuale: Conosciuto anche come prenotazione. Un particolare indirizzo IP è preassegnato a un singolo dispositivo da un amministratore. DHCP comunica solo l’indirizzo IP al dispositivo. L’indirizzo IP è mappato all’indirizzo MAC del dispositivo richiedente.
  • Allocazione automatica: DHCP assegna automaticamente un indirizzo IP in modo permanente a un dispositivo, selezionandolo dal pool predefinito di indirizzi disponibili.
  • Allocazione dinamica: DHCP assegna un indirizzo IP da un pool di indirizzi per un periodo di tempo limitato scelto dal server, o fino a quando il client dice al server DHCP che non ha più bisogno dell’indirizzo (come l’esecuzione del comando “ipconfig /release” sotto il sistema operativo Windows).

Usare un router come server DHCP

DHCP è un servizio critico e il router Cisco IOS può fornire pieno supporto per essere un server DHCP. Molti dei parametri e delle opzioni definiti nella RFC sono presenti e disponibili nei router IOS. Questo è importante perché il router sarà presente nella rete. È un elemento di rete che può iniziare a fornire questo tipo di servizi come server senza la necessità di installare e distribuire un server completo. Le distribuzioni più piccole, le filiali e gli uffici domestici beneficeranno di questa funzione nell’elemento di rete. Il servizio è basato sul software e può essere completamente configurato nel router per interfacce multiple, scopi DHCP multipli, supportando anche assegnazioni statiche.

Comandi e configurazioni

Ecco un esempio di configurazione di un pool DHCP in un router Cisco:

RouterX(config)#ip dhcp pool Marketing
RouterX(dhcp-config)#network 10.123.1.0 255.255.255.0
RouterX(dhcp-config)#default-router 10.123.1.1
RouterX(dhcp-config)#domain-name learncisco.net
RouterX(dhcp-config)#dns-server 172.16.4.10 172.16.4.12

Sono disponibili comandi nell’interfaccia a riga di comando per aiutare nel monitoraggio e nella risoluzione dei problemi.

RouterX#show ip dhcp pool Marketing
Pool Marketing :
Segno di utilizzo (alto/basso) : 100 / 0
Dimensione subnet (prima/successiva) : 0 / 0
Indirizzi totali : 254
Indirizzi affittati : 0
Evento in sospeso : nessuno
1 subnet è attualmente nel pool :
Indice attuale intervallo indirizzi IP Indirizzi affittati
10.123.1.1 10.123.1.1 – 10.123.1.254 0
RouterX#

Router#sh ip dhcp conflict
Indirizzo IP Metodo di rilevamento Tempo di rilevamento VRF
192.168.200.58 ARP gratuito 28 maggio 2012 03:31 PM
192.168.200.59 ARP gratuito 28 maggio 2012 03:31 PM
192.168.200.64 ARP gratuito 28 maggio 2012 03:39 PM

L’ultimo comando mostra il conflitto IP DHCP. Vi aiuterà a identificare i conflitti di indirizzi IP trovati dai server e dai client DHCP. Un conflitto di indirizzi si verifica quando il server sta cercando di assegnare un indirizzo IP e sia il server che il client scoprono che ci sono altri dispositivi nella rete con lo stesso indirizzo IP. I server faranno un ping degli indirizzi IP sul lease prima di assegnarli per rilevare i conflitti e i client usano ARP gratuiti per rilevare tutti i client con lo stesso IP. Se viene rilevato un conflitto di indirizzi e l’indirizzo viene rimosso dal pool, l’indirizzo non viene assegnato finché un amministratore non risolve il conflitto. Queste capacità incorporate rendono il server DHCP di IOS uno strumento potente.