La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come risolvere diversi problemi comuni del protocollo DHCP (Dynamic Host Configuration Protocol) in una rete di dispositivi Cisco Catalyst Switch.
Non sono previsti prerequisiti specifici per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Nota: Solo i client Cisco registrati possono accedere ai report dei bug interni.
Il protocollo DHCP fornisce un meccanismo che permette ai computer che usano il protocollo TCP/IP (Transmission Control Protocol/Internet Protocol) di ottenere automaticamente i parametri di configurazione del protocollo tramite la rete. Il protocollo DHCP è uno standard aperto sviluppato da Dynamic Host Configuration-Working Group (DHC-WG) di Internet Engineering Task Force (IETF).
Il protocollo DHCP si basa su un paradigma client-server, in cui il client DHCP, ad esempio un computer desktop, contatta un server DHCP per i parametri di configurazione. Il server DHCP è in genere posizionato al centro e viene gestito dall'amministratore di rete. Poiché il server è gestito da un amministratore di rete, i client DHCP possono essere configurati in modo affidabile e dinamico con parametri appropriati all'architettura di rete corrente.
La maggior parte delle reti aziendali è costituita da più subnet suddivise in sottoreti denominate LAN virtuali (VLAN), usate dai router per indirizzare il traffico. Poiché per impostazione predefinita i router non trasmettono pacchetti broadcast, sarebbe necessario un server DHCP su ciascuna subnet a meno che non venga configurata sui router la funzione dell'agente di inoltro DHCP.
Ecco alcuni concetti chiave sul protocollo DHCP:
Inizialmente i client DHCP non hanno un indirizzo IP configurato e devono quindi inviare una richiesta broadcast per ottenere un indirizzo IP da un server DHCP.
I router, per impostazione predefinita, non inoltrano broadcast. Se il server DHCP si trova su un altro dominio di trasmissione (rete di layer 3 (L3)), è necessario trovare un modo per soddisfare le richieste DHCP broadcast del client. A tal fine, viene utilizzato un agente di inoltro DHCP.
Sui router Cisco, l'agente di inoltro DHCP viene implementato tramite i comandi a livello di interfaccia ip helper.
Scenario 1: Routing del router Cisco tra le reti client e server DHCP
Come configurato in questo diagramma, l'interfaccia Ethernet1 inoltra il client broadcast DHCP DISCOVER a 192.168.2.2 tramite l'interfaccia Ethernet1. Il server DHCP soddisfa la richiesta tramite unicast. In questo esempio non sono necessarie ulteriori configurazioni del router.
Scenario 2: Cisco Catalyst Switch con routing del modulo L3 tra reti client e server DHCP
Come configurato nel diagramma, l'interfaccia VLAN20 inoltra il client DHCPDISCOVER a 192.168.2.2 tramite l'interfaccia VLAN10. Il server DHCP soddisfa la richiesta tramite unicast. In questo esempio non sono necessarie ulteriori configurazioni del router. Le porte dello switch devono essere configurate come porte host; inoltre, la funzione PortFast del protocollo Spanning Tree Protocol (STP) deve essere abilitata mentre il trunking e il channeling devono essere disabilitati.
Il protocollo DHCP è stato definito inizialmente nelle RFC (Request for Comments) 1531 e da allora è diventato obsoleto nella RFC 2131. Il protocollo DHCP si basa sul protocollo Bootstrap (BootP), definito nella RFC 951.
Il protocollo DHCP viene utilizzato dalle postazioni di lavoro (host) per ottenere le informazioni di configurazione iniziale, come indirizzo IP, subnet mask e gateway predefinito all'avvio. Con il protocollo DHCP, non è necessario configurare manualmente ogni host con un indirizzo IP. Inoltre, se un host si sposta in una subnet IP diversa, deve utilizzare un indirizzo IP diverso da quello utilizzato in precedenza. Il protocollo DHCP gestisce questa situazione automaticamente, permettendo all'host di scegliere un indirizzo IP nella subnet IP corretta.
RFC 2131 - DHCP
RFC 2132 - Opzioni DHCP ed estensioni del fornitore BootP
RFC 1534 - Interoperabilità tra DHCP e BootP
RFC 1542 - Chiarimenti ed estensioni per BootP
RFC 2241 - Opzioni DHCP per Novell Directory Services
RFC 2242 - Informazioni e nome di dominio Netware/IP
RFC 2489 - Procedura per la definizione di nuove opzioni DHCP
Il protocollo DHCP usa un modello client-server in cui uno o più server (server DHCP) assegnano indirizzi IP e altri parametri di configurazione facoltativi ai client (host) all'avvio dei client. Questi parametri di configurazione vengono concessi in leasing dal server al client per un determinato periodo di tempo. All'avvio di un host, lo stack TCP/IP nell'host trasmette un messaggio broadcast (DHCPDISCOVER) per ottenere un indirizzo IP e una subnet mask, tra gli altri parametri di configurazione. In questo modo viene avviato uno scambio tra il server DHCP e l'host. Durante questo scambio, il client passa attraverso questi stati:
Inizializzazione
Selezione
Richiesta
Associato
Rinnovo
Riassociazione
Per passare da uno stato all'altro, il client e il server possono scambiarsi i tipi di messaggio elencati nella tabella dei messaggi DHCP.
Riferimento | Messaggio | Descrizione |
---|---|---|
0x01 | DHCPDISCOVER | Il client cerca i server DHCP disponibili. |
0x02 | DHCPOFFER | La risposta del server al messaggio DHCPDISCOVER del client. |
0x03 | DHCPREQUEST | Il client invia un messaggio broadcast al server, richiede i parametri offerti da un server in particolare, come definito nel pacchetto. |
0x04 | DHCPDECLINE | Comunicazione dal client al server, indica che l'indirizzo di rete è già in uso. |
0x05 | DHCPACK | Comunicazione dal server al client con parametri di configurazione, insieme all'indirizzo di rete confermato. |
0x06 | DHCPNAK | Comunicazione dal server al client, la richiesta del parametro di configurazione viene rifiutata. |
0x07 | DHCPRELEASE | Comunicazione dal client al server, il client smette di utilizzare l'indirizzo di rete e azzera il tempo di lease restante. |
0x08 | DHCPINFORM | Comunicazione dal client al server, richiesta dei soli parametri di configurazione locale già configurati esternamente sul client come indirizzo. |
Al primo avvio, un client si trova nello stato di Inizializzazione e trasmette un messaggio DHCPDISCOVER sulla subnet fisica locale sulla porta 67 del protocollo UDP (User Datagram Protocol) (server BootP). Poiché il client non ha modo di conoscere la subnet a cui appartiene, DHCPDISCOVER è un broadcast di tutte le subnet (indirizzo IP di destinazione di 255.255.255.255), con un indirizzo IP di origine di 0.0.0.0. L'indirizzo IP di origine è 0.0.0.0 poiché il client non ha un indirizzo IP configurato. Se sulla subnet locale è presente un server DHCP, configurato e correttamente funzionante, il server DHCP ascolta il messaggio broadcast e risponde con un messaggio DHCPOFFER. Se sulla subnet locale non sono presenti server DHCP, deve essere presente un agente di inoltro DHCP/BootP che inoltri il messaggio DHCPDISCOVER a una subnet che contenga un server DHCP.
L'agente di inoltro può essere un host dedicato (ad esempio, Microsoft Windows Server) o un router (ad esempio, un router Cisco configurato con istruzioni sull'IP ausiliario a livello di interfaccia).
Un server DHCP che riceve un messaggio DHCPDISCOVER può rispondere con un messaggio DHCPOFFER sulla porta UDP 68 (client BootP). Il client riceve il messaggio DHCPOFFER e passa allo stato Selezione. Il messaggio DHCPOFFER contiene le informazioni di configurazione iniziale per il client. Ad esempio, il server DHCP compila il campo yiaddr del messaggio DHCPOFFER con l'indirizzo IP richiesto. La subnet mask e il gateway predefinito sono specificati nei campi delle opzioni, rispettivamente della subnet mask e del router. Altre informazioni presenti comunemente nel messaggio DHCPOFFER sono la durata del lease dell'indirizzo IP, il tempo di rinnovo, il server dei nomi di dominio e il server dei nomi NetBIOS (WINS). Il server DHCP invia il messaggio DHCPOFFER all'indirizzo di broadcast includendo anche l'indirizzo hardware del client nel campo chaddr dell'offerta, in modo che il client sappia che questa è la destinazione prevista. Nel caso in cui il server DHCP non si trovi nella subnet locale, il server DHCP invia il messaggio DHCPOFFER, come pacchetto unicast, sulla porta UDP 67, all'agente di inoltro DHCP/BootP da cui proviene il messaggio DHCPDISCOVER. L'agente di inoltro DHCP/BootP trasmette quindi il messaggio DHCPOFFER come pacchetto broadcast o unicast sulla subnet locale sulla porta UDP 68, a seconda di come è stato impostato il flag di trasmissione nel client BootP.
Dopo aver ricevuto un messaggio DHCPOFFER, il client risponde con un messaggio DHCPREQUEST e segnala la sua intenzione di accettare i parametri presenti nel messaggio DHCPOFFER passando quindi allo stato Richiesta. Il client può ricevere più messaggi DHCPOFFER, uno da ciascun server DHCP che ha ricevuto il messaggio DHCPDISCOVER originale. Il client sceglie un messaggio DHCPOFFER e risponde esclusivamente al server DHCP che lo ha inviato, rifiutando implicitamente tutti gli altri messaggi DHCPOFFER. Il client identifica il server selezionato dopo aver popolato il campo dell'identificativo del server con l'indirizzo IP del server DHCP. Il messaggio DHCPREQUEST è un messaggio broadcast, quindi tutti i server DHCP che hanno inviato un messaggio DHCPOFFER vedono il messaggio DHCPREQUEST e ciascun server può quindi sapere se l'offerta DHCPOFFER è stata accettata o rifiutata. Eventuali opzioni di configurazione aggiuntive richieste dal client sono incluse nel campo delle opzioni del messaggio DHCPREQUEST. Anche se al client è stato offerto un indirizzo IP, invia il messaggio DHCPREQUEST con un indirizzo IP di origine di 0.0.0.0. In questo momento, il client non ha ancora ricevuto la verifica che sia chiaro utilizzare l'indirizzo IP.
Dopo aver ricevuto il messaggio DHCPREQUEST, il server DHCP conferma la richiesta con un messaggio DHCPACK e completa il processo di inizializzazione. Il messaggio DHCPACK contiene un indirizzo IP di origine del server DHCP; l'indirizzo di destinazione è ancora una volta un messaggio broadcast e contiene tutti i parametri richiesti dal client nel messaggio DHCPREQUEST. Quando il client riceve il messaggio DHCPACK, entra nello stato Associato ed è quindi libero di utilizzare l'indirizzo IP per comunicare sulla rete. Nel frattempo, il server DHCP memorizza il lease nel proprio database e lo identifica in modo univoco con l'identificativo del client o chaddr e l'indirizzo IP associato. Il client e il server usano entrambi questa combinazione di identificativi per fare riferimento al lease. L'identificativo del client è l'indirizzo MAC del dispositivo più il tipo di supporto.
Prima di poter iniziare a utilizzare il nuovo indirizzo, il client DHCP deve calcolare i parametri temporali associati all'indirizzo concesso, ossia durata del lease (LT, Lease Time), tempo del rinnovo (T1, Renewal Time) e tempo di riassociazione (T2, Rebind Time). In genere, la durata LT predefinita è 72 ore. Se necessario, è possibile abbreviare la durata del lease per economizzare sugli indirizzi.
Se il server selezionato non è in grado di soddisfare il messaggio DHCPREQUEST, il server DHCP risponde con un messaggio DHCPNAK. Quando riceve un messaggio DHCPNAK o non riceve risposta a un messaggio DHCPREQUEST, il client riavvia il processo di configurazione quando passa allo stato Richiesta. Il client ritrasmette il messaggio DHCPREQUEST almeno quattro volte nell'arco temporale di 60 secondi prima di ripartire dallo stato Inizializzazione.
Il client riceve il messaggio DHCPACK e, facoltativamente, esegue un controllo finale dei parametri. Il client esegue questa procedura quando invia le richieste Address Resolution Protocol (ARP) per l'indirizzo IP fornito nel messaggio DHCPACK. Se scopre che l'indirizzo è già in uso quando riceve una risposta alla richiesta ARP, il client invia un messaggio DHCPDECLINE al server e riavvia il processo di configurazione nello stato Richiesta.
Se ha ottenuto un indirizzo di rete in altro modo o ha un indirizzo IP configurato manualmente, una postazione di lavoro client può utilizzare un messaggio di richiesta DHCPINFORM per ottenere altri parametri di configurazione locale, ad esempio il nome di dominio e i server DNS (Domain Name Server). Quando ricevono un messaggio DHCPINFORM, i server DHCP creano un messaggio DHCPACK con i parametri di configurazione locale appropriati per il client senza un nuovo indirizzo IP. Il messaggio DHCPACK viene inviato al client in modalità unicast.
Un client DHCP può scegliere di rinunciare al lease su un indirizzo di rete quando invia un messaggio DHCPRELEASE al server DHCP. Il client identifica il lease da liberare utilizzando il campo client identifier e l'indirizzo di rete presente nel messaggio DHCPRELEASE. Se è necessario estendere l'intervallo del pool DHCP esistente, rimuovere il pool di indirizzi corrente e specificare il nuovo intervallo di indirizzi IP nel pool DHCP. Per rimuovere gli indirizzi IP specifici o un intervallo di indirizzi che si desidera siano presenti nel pool DHCP, utilizzare il comando ip dhcp unknown-address.
Nota: Se i dispositivi usano BOOTP, i lease di lunghezza infinita vengono mostrati nei binding DHCP dei router.
Poiché l'indirizzo IP viene concesso solo dal server, occorre rinnovare il lease di tanto in tanto. Trascorsa la metà della durata (T1 = 0,5 x LT), il client cerca di rinnovare il lease. Il client entra nello stato Rinnovo e invia un messaggio DHCPREQUEST al server che detiene il lease corrente. Se accetta di rinnovare il lease, il server risponde alla richiesta di rinnovo con un messaggio DHCPACK. Il messaggio DHCPACK contiene il nuovo lease ed eventuali nuovi parametri di configurazione, nel caso in cui siano state apportate modifiche al server durante il periodo del lease precedente. Se il client non è in grado di raggiungere il server quando detiene il lease per qualche motivo, tenta di rinnovare l'indirizzo da qualsiasi server DHCP dopo che il server DHCP originale non ha risposto alle richieste di rinnovo entro un tempo T2. Il valore predefinito di T2 è ( 7/8 x LT). quindi T1 < T2 < LT.
Se un client già in possesso di un indirizzo IP DHCP viene riavviato, il client richiede specificamente l'indirizzo IP precedentemente ottenuto con un pacchetto DHCPREQUEST. Questo messaggio DHCPREQUEST contiene ancora l'indirizzo IP di origine 0.0.0.0 e l'indirizzo di broadcast IP 255.255.255.255 come destinazione
Quando un client invia una richiesta DHCPREQUEST nel corso di un riavvio, non deve compilare il campo dell'identificativo del server mentre deve compilare il campo dell'opzione dell'indirizzo IP richiesto. Solo i client conformi alla norma RFC popolano il campo ciaddr con l'indirizzo richiesto anziché con il campo dell'opzione DHCP. Il server DHCP supporta entrambi i metodi. Il comportamento del server DHCP dipende da una serie di fattori, ad esempio, nel caso dei server DHCP di Windows NT, dalla versione del sistema utilizzato e da altri parametri come l'estensione dell'ambito. Se il server DHCP stabilisce che il client può ancora utilizzare l'indirizzo IP richiesto, rimane in modalità invisibile o invia un messaggio DHCPACK per DHCPREQUEST. Se il server stabilisce che il client non può utilizzare l'indirizzo IP richiesto, invia un messaggio DHCPNACK al client. Il client passa quindi allo stato Inizializzazione e invia un messaggio DHCPDISCOVER.
Nota: Il server DHCP assegna l'indirizzo IP inferiore di un pool di indirizzi IP ai client DHCP. Alla scadenza del lease, tale indirizzo viene assegnato a un altro client, se richiesto. Non è possibile apportare modifiche all'ordine con cui vengono assegnati gli indirizzi DHCP.
Il messaggio DHCP ha una lunghezza variabile ed è costituito dai campi elencati nella tabella dei pacchetti DHCP.
Nota: Questo pacchetto è una versione modificata del pacchetto BootP originale.
Campo | Byte | Nome | Descrizione |
---|---|---|---|
op | 1 | Codice operazione | Identifica il pacchetto come richiesta o risposta: 1=BOOTREQUEST, 2=BOOTREPLY |
htype | 1 | Tipo di hardware | Specifica il tipo di indirizzo dell'hardware di rete. |
hlen | 1 | Lunghezza hardware | Specifica la lunghezza dell'indirizzo hardware. |
hops | 1 | Passaggi | Il client imposta il valore su zero e il valore aumenta se la richiesta viene inoltrata su un router. |
xid | 4 | ID transazione | Numero casuale scelto dal client. Tutti i messaggi DHCP scambiati per una determinata transazione DHCP usano l'ID (xid). |
secs | 2 | Secondi | Specifica il numero di secondi trascorsi dall'avvio del processo DHCP. |
flags | 2 | Flag | Indica se il messaggio è broadcast o unicast. |
ciaddr | 4 | Indirizzo IP del client | Utilizzato solo quando il client conosce il proprio indirizzo IP, ad esempio quando si trova nello stato Associato, Rinnovo o Riassociazione. |
yiaddr | 4 | Il tuo indirizzo IP | Se l'indirizzo IP del client è 0.0.0.0, il server DHCP inserisce l'indirizzo IP del client offerto in questo campo. |
siaddr | 4 | Indirizzo IP del server | Se il client conosce l'indirizzo IP del server DHCP, questo campo viene compilato con l'indirizzo del server DHCP. In caso contrario, viene utilizzato nei pacchetti DHCPOFFER e DHCPACK dal server DHCP. |
giaddr | 4 | Indirizzo IP del router (GI ADDR) | Indirizzo IP del gateway, inserito dall'agente di inoltro DHCP/BootP. |
chaddr | 16 | Indirizzo MAC del client | L'indirizzo MAC del client DHCP. |
sname | 64 | Nome del server | Il nome host facoltativo del server. |
file | 128 | Nome del file di avvio | Il nome del file di avvio. |
options | variabile | Parametri facoltativi | I parametri facoltativi che possono essere forniti dal server DHCP. La norma RFC 2132 fornisce tutte le opzioni possibili. |
Descrizione del pacchetto | Indirizzo MAC di origine | Indirizzo MAC di destinazione | Indirizzo IP di origine | Indirizzo IP di destinazione |
---|---|---|---|---|
DHCPDISCOVER | Client | Broadcast | 0.0.0.0 | 255.255.255.255 |
DHCPOFFER | Server DHCP | Broadcast | Server DHCP | 255.255.255.255 |
DHCPREQUEST | Client | Broadcast | 0.0.0.0 | 255.255.255.255 |
DHCPACK | Server DHCP | Broadcast | Server DHCP | 255.255.255.255 |
I router, per impostazione predefinita, non inoltrano pacchetti broadcast. Poiché i messaggi dei client DHCP utilizzano l'indirizzo IP di destinazione 255.255.255.255 (modalità broadcast su tutte le reti), i client DHCP non possono inviare richieste a un server DHCP su una subnet diversa a meno che sul router non sia stato configurato l'agente di inoltro DHCP/BootP. L'agente di inoltro DHCP/BootP inoltra le richieste DHCP al server DHCP per conto di un client DHCP. L'agente di inoltro DHCP/BootP aggiunge il proprio indirizzo IP all'indirizzo IP di origine dei frame DHCP indirizzati al server DHCP. In questo modo il server DHCP può rispondere in modalità unicast all'agente di inoltro DHCP/BootP. L'agente di inoltro DHCP/BootP popola anche il campo dell'indirizzo IP del gateway con l'indirizzo IP dell'interfaccia su cui il client ha ricevuto il messaggio DHCP. Il server DHCP utilizza il campo dell'indirizzo IP del gateway per determinare la subnet da cui ha origine il messaggio DHCPDISCOVER, DHCPREQUEST o DHCPINFORM.
La procedura per configurare un router Cisco in modo che inoltri le richieste BootP o DHCP è semplice. È sufficiente configurare un indirizzo IP ausiliario (IP helper-address) che punti al server DHCP/BootP o all'indirizzo di broadcast della subnet della rete in cui si trova il server.
Esempio di rete:
Per inoltrare la richiesta BootP/DHCP dal client al server DHCP, usare il comando ip helper-address interface. L'indirizzo IP ausiliario può essere configurato in modo da inoltrare ogni pacchetto UDP broadcast in base al numero di porta UDP. Per impostazione predefinita, l'indirizzo IP ausiliario inoltra i seguenti pacchetti UDP broadcast:
Protocollo TFTP (Trivial File Transfer Protocol) (TFTP) (porta 69)
DNS (porta 53), servizio ora (porta 37)
Server dei nomi NetBIOS (porta 137)
Server dei datagrammi NetBIOS (porta 138)
Datagrammi client e server con protocollo di avvio (DHCP/BootP) (porte 67 e 68)
Servizio TACACS (Terminal Access Control Access Control System) (porta 49)
Servizio nome IEN-116 (porta 42)
Gli indirizzi IP ausiliari possono indirizzare i pacchetti UDP broadcast a un indirizzo IP broadcast o unicast. Tuttavia, non usare l'indirizzo IP ausiliario per inoltrare i pacchetti UDP broadcast di una subnet all'indirizzo di broadcast di un'altra subnet in quanto potrebbe crearsi un traffico eccessivo. È possibile anche usare più voci di indirizzi IP ausiliari su una singola interfaccia:
version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname router ! ! ! interface Ethernet0 ip address 192.168.2.1 255.255.255.0 no ip directed-broadcast ! interface Ethernet1 ip address 192.168.1.1 255.255.255.0 ip helper-address 192.168.2.2 ip helper-address 192.168.2.3 !--- IP helper-address pointing to DHCP server no ip directed-broadcast ! ! ! line con 0 exec-timeout 0 0 transport input none line aux 0 line vty 0 4 login ! end |
I router Cisco non supportano il bilanciamento del carico dei server DHCP configurati come agenti di inoltro DHCP. I router Cisco inoltrano il messaggio DHCPDISCOVER a tutti gli indirizzi ausiliari menzionati per quell'interfaccia. L'uso di due o più server DHCP per servire una subnet aumenta solo il traffico DHCP poiché i messaggi DHCPDISCOVER, DHCPOFFER e DHCPREQUEST / DHCPDECLINE vengono scambiati tra ciascuna coppia di client e server DHCP.
È possibile impostare le associazioni manuali in due modi: uno è per l'host Windows, l'altro è per gli host non Windows. Per la configurazione, sono disponibili due comandi: una è destinata ai client DHCP Microsoft e l'altra ai client DHCP non Microsoft: DHCPclient-identifier (binding manuale - client DHCP Microsoft) e DHCPhardware-address (binding manuale - client DHCP non Microsoft). I comandi usati sono diversi perché i PC con Windows modificano i propri indirizzi MAC aggiungendo 01 all'inizio. Ecco alcuni esempi di configurazione:
Configurazione per i client DHCP Microsoft:
configure terminal ip dhcp pool new_pool host ip_address subnet_mask client-identifier 01XXXXXXXXXXXX
!--- xxxxxx represents 48 bit MAC address prepended with 01
Configurazione per i client DHCP non Microsoft:
configure terminal ip dhcp pool new_pool host ip_address subnet_mask hardware-address XXXXXXXXXXXX
!--- xxxxxx represents 48 bit MAC address
Per impostazione predefinita, il protocollo DHCP prevede che i pacchetti di risposta vengano inviati solo se la richiesta è stata ricevuta dall'interfaccia configurata con l'indirizzo IP principale. Il traffico DHCP utilizza l'indirizzo di broadcast. Dopo aver ricevuto la richiesta DHCP, l'interfaccia del router la inoltra al server DHCP (con l'indirizzo IP ausiliario configurato) inserendo un indirizzo di origine dell'IP principale configurato sull'interfaccia per indicare al server DHCP quale pool di indirizzi IP utilizzare (per il client) nel pacchetto di risposta DHCP.
Il router non ha modo di sapere se la richiesta DHCP broadcast proviene da un dispositivo che si trova sulla rete IP secondaria configurata sull'interfaccia. Per risolvere il problema, è possibile configurare l'interfaccia secondaria (a condizione che il dispositivo connesso al router supporti il tagging dot1q) per separare le due subnet in modo che entrambe ottengano correttamente gli indirizzi IP corrispondenti.
Se si preferisce utilizzare l'indirizzo secondario, come soluzione temporanea è possibile abilitare il comando di configurazione globale ip dhcp smart-relay. Tuttavia, occorre considerare che l'IP secondario verrà utilizzato per inoltrare la richiesta DHCP solo in caso il server DHCP non risponda a tre richieste consecutive di ottenere il pool di indirizzi principali.
Un'altra soluzione è spostare la subnet secondaria nella subnet primaria, che richiede la gestione delle richieste DHCP da parte del server remoto.
Nella tabella seguente viene illustrato il processo utilizzato da un client DHCP per ottenere un indirizzo IP da un server DHCP. Questa tabella riprende il diagramma di rete mostrato nella sezione Configurazione della funzione dell'agente di inoltro DHCP/BootP. Ogni valore numerico nel diagramma rappresenta un pacchetto descritto nella tabella seguente. Utilizzare questa tabella per comprendere come i pacchetti vengono scambiati nelle comunicazioni client-server DHCP. La tabella contiene inoltre informazioni utili per individuare dove si è verificato un problema.
Pacchetto | Indirizzo IP del client | Indirizzo IP del server | Indirizzo GI | Indirizzo MAC di origine del pacchetto | Indirizzo IP di origine del pacchetto | Indirizzo MAC di destinazione del pacchetto | Indirizzo IP di destinazione del pacchetto |
---|---|---|---|---|---|---|---|
1. Il client invia il messaggio DHCPDISCOVER. | 0.0.0.0 | 0.0.0.0 | 0.0.0.0 | 0005.DCC9.C640 | 0.0.0.0 | ffff.ffff.fffff (broadcast) | 255.255.255.255 |
2. Il router riceve il messaggio DHCPDISCOVER sull'interfaccia E1. Il router lo riconosce come pacchetto DHCP UDP broadcast. Il router ora agisce come agente di inoltro DHCP/BootP e compila il campo dell'indirizzo IP del gateway con l'indirizzo IP dell'interfaccia in entrata, cambia l'indirizzo IP di origine in un indirizzo IP dell'interfaccia in entrata e inoltra la richiesta direttamente al server DHCP. | 0.0.0.0 | 0.0.0.0 | 192.168.1.1 | Indirizzo MAC dell'interfaccia E2 | 192.168.1.1 | Indirizzo MAC del server DHCP | 192.168.2.2 |
3. Il server DHCP ha ricevuto il messaggio DHCPDISCOVER e invia un messaggio DHCPOFFER all'agente di inoltro DHCP. | 192.168.1.2 | 192.168.2.2 | 192.168.1.1 | Indirizzo MAC del server DHCP | 192.168.2.2 | Indirizzo MAC dell'interfaccia E2 | 192.168.1.1 |
4. L'agente di inoltro DHCP riceve un messaggio DHCPOFFER e inoltra il messaggio broadcast DHCPOFFER sulla LAN locale. | 192.168.1.2 | 192.168.2.2 | 192.168.1.1 | Indirizzo MAC dell'interfaccia E1 | 192.168.1.1 | ffff.ffff.ffff (broadcast) | 255.255.255.255 |
5. Il client invia il messaggio DHCPREQUEST. | 0.0.0.0 | 0.0.0.0 | 0.0.0.0 | 0005.DCC9.C640 | 0.0.0.0 | ffff.ffff.fffff (broadcast) | 255.255.255.255 |
6. Il router riceve il messaggio DHCPREQUEST sull'interfaccia E1. Il router lo riconosce come pacchetto DHCP UDP broadcast. Il router ora agisce come agente di inoltro DHCP e compila il campo dell'indirizzo IP del gateway con l'indirizzo IP dell'interfaccia inviata, cambia l'indirizzo IP di origine in un indirizzo IP dell'interfaccia in entrata e inoltra la richiesta direttamente al server DHCP. | 0.0.0.0 | 0.0.0.0 | 192.168.1.1 | Indirizzo MAC dell'interfaccia E2 | 192.168.1.1 | Indirizzo MAC del server DHCP | 192.168.2.2 |
7. Il server DHCP ha ricevuto il messaggio DHCPREQUEST e invia un messaggio DHCPACK all'agente di inoltro DHCP/BootP. | 192.168.1.2 | 192.168.2.2 | 192.168.1.1 | Indirizzo MAC del server DHCP | 192.168.2.2 | Indirizzo MAC dell'interfaccia E2 | 192.168.1.1 |
8. L'agente di inoltro DHCP/BootP riceve il messaggio DHCPACK e inoltra il messaggio broadcast DHCPACK sulla LAN locale. Il client lo accetta e utilizza l'indirizzo IP del client. | 192.168.1.2 | 192.168.2.2 | 192.168.1.1 | Indirizzo MAC dell'interfaccia E1 | 192.168.1.1 | ffff.ffff.ffff (broadcast) | 255.255.255.255 |
L'ambiente PXE (Preboot Execution Environment) permette di avviare una postazione di lavoro da un server di rete prima che venga avviato il sistema sul disco rigido locale. In questo modo, non occorre che l'amministratore di rete si rechi fisicamente alla postazione di lavoro per avviarla manualmente. Il sistema operativo e altri software, come i programmi di diagnostica, possono essere caricati sul dispositivo da un server presente nella rete. L'ambiente PXE usa il protocollo DHCP per configurare il proprio indirizzo IP.
Se il server DHCP si trova su un altro segmento indirizzato della rete, eseguire la configurazione dell'agente di inoltro DHCP/BootP sul router. Configurare il comando ip helper-address sull'interfaccia del router locale. Per informazioni sulla configurazione, fare riferimento alla sezione Configurazione della funzione dell'agente di inoltro DHCP/BootP sui router Cisco IOS in questo documento.
La traccia di esempio dello sniffer è composta da sei frame. I sei frame restituiscono uno scenario in cui il client e il server DHCP si trovano sullo stesso segmento fisico o logico. Usare il codice di esempio seguente per risolvere i problemi relativi al protocollo DHCP. È importante che la traccia dello sniffer utilizzata corrisponda alle tracce descritte in questo esempio. Possono esserci delle differenze rispetto alle tracce illustrate di seguito, ma il flusso generale dei pacchetti deve essere esattamente lo stesso. La traccia dei pacchetti ripercorre gli argomenti trattati sul funzionamento del protocollo DHCP.
- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 1[0.0.0.0] [255.255.255.255] 618 0:01:26.810 0.575.244 05/07/2001 11:52:03 AM DHCP: Request, Message type: DHCP Discover DLC: ----- DLC Header ----- DLC: DLC: Frame 1arrived at 11:52:03.8106; frame size is 618 (026A hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC9C640 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 9 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = B988 (correct) IP: Source address = [0.0.0.0] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 (BootPc/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: No checksum UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00000882 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCC9C640 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 1 (DHCP Discover) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31 DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 66 = TFTP Option DHCP: 6 = Domain name server DHCP: 3 = Routers on the client's subnet DHCP: 67 = Boot File Option DHCP: 12 = Host name server DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 2[192.168.1.1] [255.255.255.255] 331 0:01:26.825 0.015.172 05/07/2001 11:52:03 AM DHCP: Reply, Message type: DHCP Offer DLC: ----- DLC Header ----- DLC: DLC: Frame 2 arrived at 11:52:03.8258; frame size is 331 (014B hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC42484 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 317 bytes IP: Identification = 5 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = F901 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 68 (BootPc/DHCP) UDP: Length = 297 UDP: No checksum UDP: [289 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Reply) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00000882 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCC9C640 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 2 (DHCP Offer) DHCP: Server IP address = [192.168.1.1] DHCP: Request IP address lease time = 85535 (seconds) DHCP: Address Renewal interval = 42767 (seconds) DHCP: Address Rebinding interval = 74843 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.1.3] DHCP: Domain Name Server address = [192.168.1.4] DHCP: Gateway address = [192.168.1.1] DHCP: - - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 3[0.0.0.0] [255.255.255.255] 618 0:01:26.829 0.003.586 05/07/2001 11:52:03 AM DHCP: Request, Message type: DHCP Request DLC: ----- DLC Header ----- DLC: DLC: Frame 56 arrived at 11:52:03.8294; frame size is 618 (026A hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC9C640 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 10 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = B987 (correct) IP: Source address = [0.0.0.0] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 (BootPc/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: No checksum UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00000882 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCC9C640 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 3 (DHCP Request) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303030352E646363392E633634302D564C31 DHCP: Server IP address = [192.168.1.1] DHCP: Request specific IP address = [192.168.1.2] DHCP: Request IP address lease time = 85535 (seconds) DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 66 = TFTP Option DHCP: 6 = Domain name server DHCP: 3 = Routers on the client's subnet DHCP: 67 = Boot File Option DHCP: 12 = Host name server DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 4[192.168.1.1] [255.255.255.255] 331 0:01:26.844 0.014.658 05/07/2001 11:52:03 AM DHCP: Reply, Message type: DHCP Ack DLC: ----- DLC Header ----- DLC: DLC: Frame 57 arrived at 11:52:03.8440; frame size is 331 (014B hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC42484 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 317 bytes IP: Identification = 6 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = F900 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 68 (BootPc/DHCP) UDP: Length = 297 UDP: No checksum UDP: [289 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Reply) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00000882 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCC9C640 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 5 (DHCP Ack) DHCP: Server IP address = [192.168.1.1] DHCP: Request IP address lease time = 86400 (seconds) DHCP: Address Renewal interval = 43200 (seconds) DHCP: Address Rebinding interval = 75600 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.1.3] DHCP: Domain Name Server address = [192.168.1.4] DHCP: Gateway address = [192.168.1.1] DHCP: - - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 5 0005DCC9C640 Broadcast 60 0:01:26.846 0.002.954 05/07/2001 11:52:03 AM ARP: R PA=[192.168.1.2] HA=0005DCC9C640 PRO=IP DLC: ----- DLC Header ----- DLC: DLC: Frame 58 arrived at 11:52:03.8470; frame size is 60 (003C hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC9C640 DLC: Ethertype = 0806 (ARP) DLC: ARP: ----- ARP/RARP frame ----- ARP: ARP: Hardware type = 1 (10Mb Ethernet) ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 2 (ARP reply) ARP: Sender's hardware address = 0005DCC9C640 ARP: Sender's protocol address = [192.168.1.2] ARP: Target hardware address = FFFFFFFFFFFF ARP: Target protocol address = [192.168.1.2] ARP: ARP: 18 bytes frame padding ARP: - - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 6 0005DCC9C640 Broadcast 60 0:01:27.355 0.508.778 05/07/2001 11:52:04 AM ARP: R PA=[192.168.1.2] HA=0005DCC9C640 PRO=IP DLC: ----- DLC Header ----- DLC: DLC: Frame 59 arrived at 11:52:04.3557; frame size is 60 (003C hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCC9C640 DLC: Ethertype = 0806 (ARP) DLC: ARP: ----- ARP/RARP frame ----- ARP: ARP: Hardware type = 1 (10Mb Ethernet) ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 2 (ARP reply) ARP: Sender's hardware address = 0005DCC9C640 ARP: Sender's protocol address = [192.168.1.2] ARP: Target hardware address = FFFFFFFFFFFF ARP: Target protocol address = [192.168.1.2] ARP: ARP: 18 bytes frame padding ARP:
- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 1 [0.0.0.0] [255.255.255.255] 618 0:02:05.759 0.025.369 05/31/2001 06:53:04 AM DHCP: Request, Message type: DHCP Discover DLC: ----- DLC Header ----- DLC: DLC: Frame 124 arrived at 06:53:04.2043; frame size is 618 (026A hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 0005DCF2C441 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 183 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = B8DA (correct) IP: Source address = [0.0.0.0] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 (BootPc/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: No checksum UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00001425 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 1 (DHCP Discover) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30 DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 6 = Domain name server DHCP: 15 = Domain name DHCP: 44 = NetBIOS over TCP/IP name server DHCP: 3 = Routers on the client's subnet DHCP: 33 = Static route DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summaryr 125 [192.168.1.1] [255.255.255.255] 347 0:02:05.772 0.012.764 05/31/2001 06:53:04 AM DHCP: Reply, Message type: DHCP Offer DLC: ----- DLC Header ----- DLC: DLC: Frame 125 arrived at 06:53:04.2171; frame size is 347 (015B hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 003094248F71 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 333 bytes IP: Identification = 45 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = F8C9 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 68 (BootPc/DHCP) UDP: Length = 313 UDP: Checksum = 8517 (correct) UDP: [305 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Reply) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00001425 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 2 (DHCP Offer) DHCP: Server IP address = [192.168.2.2] DHCP: Request IP address lease time = 99471 (seconds) DHCP: Address Renewal interval = 49735 (seconds) DHCP: Address Rebinding interval = 87037 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.10.1] DHCP: Domain Name Server address = [192.168.10.2] DHCP: NetBIOS Server address = [192.168.10.1] DHCP: NetBIOS Server address = [192.168.10.3] DHCP: Domain name = "cisco.com" DHCP: - - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 3 [0.0.0.0] [255.255.255.255] 618 0:02:05.774 0.002.185 05/31/2001 06:53:04 AM DHCP: Request, Message type: DHCP Request DLC: ----- DLC Header ----- DLC: DLC: Frame 126 arrived at 06:53:04.2193; frame size is 618 (026A hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station Cisc14F2C441 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 184 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = B8D9 (correct) IP: Source address = [0.0.0.0] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 (BootPc/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: No checksum UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00001425 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [0.0.0.0] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 3 (DHCP Request) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30 DHCP: Server IP address = [192.168.2.2] DHCP: Request specific IP address = [192.168.1.2] DHCP: Request IP address lease time = 99471 (seconds) DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 6 = Domain name server DHCP: 15 = Domain name DHCP: 44 = NetBIOS over TCP/IP name server DHCP: 3 = Routers on the client's subnet DHCP: 33 = Static route DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 4 [192.168.1.1] [255.255.255.255] 347 0:02:05.787 0.012.875 05/31/2001 06:53:04 AM DHCP: Reply, Message type: DHCP Ack DLC: ----- DLC Header ----- DLC: DLC: Frame 127 arrived at 06:53:04.2321; frame size is 347 (015B hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station 003094248F71 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 333 bytes IP: Identification = 47 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = F8C7 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [255.255.255.255] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 68 (BootPc/DHCP) UDP: Length = 313 UDP: Checksum = 326F (correct) UDP: [305 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Reply) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 00001425 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 5 (DHCP Ack) DHCP: Server IP address = [192.168.2.2] DHCP: Request IP address lease time = 172800 (seconds) DHCP: Address Renewal interval = 86400 (seconds) DHCP: Address Rebinding interval = 151200 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.10.1] DHCP: Domain Name Server address = [192.168.10.2] DHCP: NetBIOS Server address = [192.168.10.1] DHCP: NetBIOS Server address = [192.168.10.3] DHCP: Domain name = "cisco.com" DHCP: - - - - - - - - - - - - - - - - - - - - Frame 5 - ARP - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 5 Cisc14F2C441 Broadcast 60 0:02:05.798 0.011.763 05/31/2001 06:53:04 AM ARP: R PA=[192.168.1.2] HA=Cisc14F2C441 PRO=IP DLC: ----- DLC Header ----- DLC: DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station Cisc14F2C441 DLC: Ethertype = 0806 (ARP) DLC: ARP: ----- ARP/RARP frame ----- ARP: ARP: Hardware type = 1 (10Mb Ethernet) ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 2 (ARP reply) ARP: Sender's hardware address = 00E01EF2C441 ARP: Sender's protocol address = [192.168.1.2] ARP: Target hardware address = FFFFFFFFFFFF ARP: Target protocol address = [192.168.1.2] ARP: ARP: 18 bytes frame padding ARP: - - - - - - - - - - - - - - - - - - - - Frame 6 - ARP - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 5 Cisc14F2C441 Broadcast 60 0:02:05.798 0.011.763 05/31/2001 06:53:04 AM ARP: R PA=[192.168.1.2] HA=Cisc14F2C441 PRO=IP DLC: ----- DLC Header ----- DLC: DLC: Frame 128 arrived at 06:53:04.2439; frame size is 60 (003C hex) bytes. DLC: Destination = BROADCAST FFFFFFFFFFFF, Broadcast DLC: Source = Station Cisc14F2C441 DLC: Ethertype = 0806 (ARP) DLC: ARP: ----- ARP/RARP frame ----- ARP: ARP: Hardware type = 1 (10Mb Ethernet) ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 2 (ARP reply) ARP: Sender's hardware address = 00E01EF2C441 ARP: Sender's protocol address = [192.168.1.2] ARP: Target hardware address = FFFFFFFFFFFF ARP: Target protocol address = [192.168.1.2] ARP: ARP: 18 bytes frame padding ARP:
- - - - - - - - - - - - - - - - - - - - Frame 1 - DHCPDISCOVER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 118 [192.168.1.1] [192.168.2.2] 618 0:00:51.212 0.489.912 05/31/2001 07:02:54 AM DHCP: Request, Message type: DHCP Discover DLC: ----- DLC Header ----- DLC: DLC: Frame 118 arrived at 07:02:54.7463; frame size is 618 (026A hex) bytes. DLC: Destination = Station 0005DC0BF2F4 DLC: Source = Station 003094248F72 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 52 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3509 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [192.168.2.2] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: Checksum = 0A19 (correct) UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 1 DHCP: Transaction id = 000005F4 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 1 (DHCP Discover) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30 DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 6 = Domain name server DHCP: 15 = Domain name DHCP: 44 = NetBIOS over TCP/IP name server DHCP: 3 = Routers on the client's subnet DHCP: 33 = Static route DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 2 - DHCPOFFER - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 2 [192.168.2.2] [192.168.1.1] 347 0:00:51.214 0.002.133 05/31/2001 07:02:54 AM DHCP: Request, Message type: DHCP Offer DLC: ----- DLC Header ----- DLC: DLC: Frame 119 arrived at 07:02:54.7485; frame size is 347 (015B hex) bytes. DLC: Destination = Station 003094248F72 DLC: Source = Station 0005DC0BF2F4 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 333 bytes IP: Identification = 41 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3623 (correct) IP: Source address = [192.168.2.2] IP: Destination address = [192.168.1.1] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 313 UDP: Checksum = A1F8 (correct) UDP: [305 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 000005F4 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 2 (DHCP Offer) DHCP: Server IP address = [192.168.2.2] DHCP: Request IP address lease time = 172571 (seconds) DHCP: Address Renewal interval = 86285 (seconds) DHCP: Address Rebinding interval = 150999 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.10.1] DHCP: Domain Name Server address = [192.168.10.2] DHCP: NetBIOS Server address = [192.168.10.1] DHCP: NetBIOS Server address = [192.168.10.3] DHCP: Domain name = "cisco.com" DHCP: - - - - - - - - - - - - - - - - - - - - Frame 3 - DHCPREQUEST - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 3 [192.168.1.1] [192.168.2.2] 618 0:00:51.240 0.025.974 05/31/2001 07:02:54 AM DHCP: Request, Message type: DHCP Request DLC: ----- DLC Header ----- DLC: DLC: Frame 120 arrived at 07:02:54.7745; frame size is 618 (026A hex) bytes. DLC: Destination = Station 0005DC0BF2F4 DLC: Source = Station 003094248F72 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 604 bytes IP: Identification = 54 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3507 (correct) IP: Source address = [192.168.1.1] IP: Destination address = [192.168.2.2] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 584 UDP: Checksum = 4699 (correct) UDP: [576 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 1 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 1 DHCP: Transaction id = 000005F4 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [0.0.0.0] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 3 (DHCP Request) DHCP: Maximum message size = 1152 DHCP: Client identifier = 00636973636F2D303065302E316566322E633434312D4574302F30 DHCP: Server IP address = [192.168.2.2] DHCP: Request specific IP address = [192.168.1.2] DHCP: Request IP address lease time = 172571 (seconds) DHCP: Parameter Request List: 7 entries DHCP: 1 = Client's subnet mask DHCP: 6 = Domain name server DHCP: 15 = Domain name DHCP: 44 = NetBIOS over TCP/IP name server DHCP: 3 = Routers on the client's subnet DHCP: 33 = Static route DHCP: 150 = Unknown Option DHCP: Class identifier = 646F63736973312E30 DHCP: Option overload =3 (File and Sname fields hold options) DHCP: - - - - - - - - - - - - - - - - - - - - Frame 4 - DHCPACK - - - - - - - - - - - - - - - - - - - - Frame Status Source Address Dest. Address Size Rel. Time Delta Time Abs. Time Summary 4 [192.168.2.2] [192.168.1.1] 347 0:00:51.240 0.000.153 05/31/2001 07:02:54 AM DHCP: Request, Message type: DHCP Ack DLC: ----- DLC Header ----- DLC: DLC: Frame 121 arrived at 07:02:54.7746; frame size is 347 (015B hex) bytes. DLC: Destination = Station 003094248F72 DLC: Source = Station 0005DC0BF2F4 DLC: Ethertype = 0800 (IP) DLC: IP: ----- IP Header ----- IP: IP: Version = 4, header length = 20 bytes IP: Type of service = 00 IP: 000. .... = routine IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = ECT bit - transport protocol will ignore the CE bit IP: .... ...0 = CE bit - no congestion IP: Total length = 333 bytes IP: Identification = 42 IP: Flags = 0X IP: .0.. .... = may fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3622 (correct) IP: Source address = [192.168.2.2] IP: Destination address = [192.168.1.1] IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 67 (BootPs/DHCP) UDP: Destination port = 67 (BootPs/DHCP) UDP: Length = 313 UDP: Checksum = 7DF6 (correct) UDP: [305 byte(s) of data] UDP: DHCP: ----- DHCP Header ----- DHCP: DHCP: Boot record type = 2 (Request) DHCP: Hardware address type = 1 (10Mb Ethernet) DHCP: Hardware address length = 6 bytes DHCP: DHCP: Hops = 0 DHCP: Transaction id = 000005F4 DHCP: Elapsed boot time = 0 seconds DHCP: Flags = 8000 DHCP: 1... .... .... .... = Broadcast IP datagrams DHCP: Client self-assigned IP address = [0.0.0.0] DHCP: Client IP address = [192.168.1.2] DHCP: Next Server to use in bootstrap = [0.0.0.0] DHCP: Relay Agent = [192.168.1.1] DHCP: Client hardware address = 0005DCF2C441 DHCP: DHCP: Host name = "" DHCP: Boot file name = "" DHCP: DHCP: Vendor Information tag = 63825363 DHCP: Message Type = 5 (DHCP Ack) DHCP: Server IP address = [192.168.2.2] DHCP: Request IP address lease time = 172800 (seconds) DHCP: Address Renewal interval = 86400 (seconds) DHCP: Address Rebinding interval = 151200 (seconds) DHCP: Subnet mask = [255.255.255.0] DHCP: Domain Name Server address = [192.168.10.1] DHCP: Domain Name Server address = [192.168.10.2] DHCP: NetBIOS Server address = [192.168.10.1] DHCP: NetBIOS Server address = [192.168.10.3] DHCP: Domain name = "cisco.com" DHCP:
Il server e il client DHCP risiedono sullo stesso segmento LAN o sulla stessa VLAN; il client non riesce a ottenere un indirizzo IP da un server DHCP. È improbabile che la causa di un problema con il protocollo DHCP sia il router locale, è più probabile invece che siano i dispositivi che connettono il server DHCP e il client DHCP. Il problema potrebbe tuttavia essere il server o il client DHCP stesso. Questi moduli aiutano a risolvere il problema e individuare il dispositivo che lo ha causato.
Nota: Per configurare il server DHCP in base alle singole vlan, definire pool DHCP diversi per ciascuna VLAN che serva gli indirizzi DHCP ai client.
Quando il server e il client DHCP risiedono su segmenti LAN diversi o su VLAN diverse, il router funziona come un agente di inoltro DHCP/BootP ed è responsabile dell'inoltro della richiesta DHCPREQUEST al server DHCP. Per risolvere i problemi relativi all'agente di inoltro DHCP/BootP, al server DHCP e al client, sono necessari ulteriori passaggi. Se si monitorano questi moduli, è possibile individuare il dispositivo che ha causato il problema.
Alcuni indirizzi potrebbero essere ancora impegnati dai client, anche se sono stati rilasciati dal pool. Per verificarlo, usare il comando show ip dhcp conflict. Un conflitto di indirizzi si verifica quando due host usano lo stesso indirizzo IP. Al momento dell'assegnazione dell'indirizzo, il DHCP controlla se sono presenti conflitti utilizzando il comando ping e la funzionalità Gratuitous ARP.
Se viene rilevato un conflitto, l'indirizzo viene rimosso dal pool. L'indirizzo rimane assegnato finché l'amministratore non risolve il conflitto. Per risolvere questo problema, configurare il comando no ip dhcp conflict logging.
I problemi relativi al protocollo DHCP possono essere causati da motivi diversi. I più comuni sono i problemi di configurazione. Tuttavia, molti problemi DHCP possono essere causati da difetti software nei sistemi, dai driver della scheda di interfaccia di rete (NIC) o dagli agenti di inoltro DHCP/BootP configurati sui router. Considerate le varie aree potenzialmente problematiche, è necessario adottare un approccio sistematico alla risoluzione dei problemi.
Configurazione predefinita dello switch Catalyst
Configurazione dell'agente di inoltro DHCP/BootP
Problema di compatibilità della scheda NIC o problema della funzionalità DHCP
Scheda NIC difettosa o installazione del driver della scheda NIC errata
Interruzioni di rete intermittenti dovute a calcoli frequenti dello Spanning Tree
Comportamento del sistema operativo o difetto del software
Configurazione dell'ambito del server DHCP o difetto del software
Difetto software sul dispositivo Cisco Catalyst Switch o sull'agente di inoltro DHCP/BootP di Cisco IOS
Controllo Unicast Reverse Path Forwarding (uRPF) non riuscito perché l'offerta DHCP viene ricevuta su un'interfaccia diversa da quella prevista. Quando su un'interfaccia è abilitata la funzione Reverse Path Forwarding (RPF), un router Cisco può eliminare i pacchetti DHCP (Dynamic Host Configuration Protocol) e BOOTstrap Protocol (BOOTP) con indirizzi di origine 0.0.0.0 e indirizzi di destinazione 255.255.255.255. Il router può anche eliminare tutti i pacchetti IP con destinazione IP multicast sull'interfaccia. Questo problema è documentato nell' ID bug Cisco CSCdw31925
Nota: solo i client Cisco registrati possono accedere alle segnalazioni di bug.
L'agente database DHCP non è utilizzato e la registrazione dei conflitti DHCP è non disabilitata
Questa procedura è applicabile a tutti i case study.
Innanzitutto, verificare la connettività fisica di un client e di un server DHCP. Se si è connessi a uno switch Catalyst, verificare che il client e il server DHCP dispongano entrambi di connettività fisica. Per gli switch Cisco IOS come Catalyst 2900XL/3500XL/2950/3550, il comando equivalente per visualizzare lo stato della porta è show interface<interface>. Se lo stato dell'interfaccia è diverso da "<interface> is up, line protocol is up" (<interfaccia> attiva, protocollo di linea attivo), la porta non trasmette il traffico e di conseguenza neanche le richieste del client DHCP. Output dei comandi:
Switch#show interface fastEthernet 0/1 FastEthernet0/1 is up, line protocol is up Hardware is Fast Ethernet, address is 0030.94dc.acc1 (bia 0030.94dc.acc1)
Se la connessione fisica è stata verificata e non esiste alcun collegamento tra lo switch Catalyst e il client DHCP, consultare la sezione Risoluzione dei problemi di compatibilità tra i dispositivi Cisco Catalyst Switch e la scheda NICper risolvere i problemi di connettività del layer fisico.
Su alcuni switch Catalyst, le porte passano allo stato errdisabled come conseguenza di un numero eccessivo di errori del collegamento dati. Per ulteriori informazioni, fare riferimento all'articolo Ripristino di una porta disabilitata a causa di un errore sulle piattaforme Cisco IOS, in cui viene descritto lo stato errdisable, viene spiegato come effettuare un ripristino e vengono forniti alcuni esempi.
B. Configurare la postazione di lavoro client e l'indirizzo IP statico per testare la connettività di rete
Questa procedura è applicabile a tutti i case study.
Nelle procedure di risoluzione dei problemi relativi al protocollo DHCP, è importante configurare un indirizzo IP statico su una postazione di lavoro client al fine di verificare la connettività di rete. Se la postazione di lavoro non riesce a raggiungere le risorse di rete nonostante abbia un indirizzo IP configurato staticamente, la causa profonda del problema non è ascrivibile al protocollo DHCP. In questi casi, è necessario passare alle procedure di risoluzione dei problemi di connettività di rete.
Questa procedura è applicabile a tutti i case study.
Se il client DHCP non riesce a ottenere un indirizzo IP dal server DHCP all'avvio, è possibile forzare manualmente l'invio di una richiesta DHCP da parte del client. Seguire la procedura descritta di seguito per ottenere manualmente un indirizzo IP da un server DHCP nel sistema operativo indicato.
Microsoft Windows 95/98/ME:
Microsoft Windows NT/2000:
Se il client DHCP riesce a ottenere un indirizzo IP con un rinnovo manuale dell'indirizzo IP dopo che il PC ha completato il processo di avvio, molto probabilmente il problema è dovuto all'avvio del protocollo DHCP. Se il client DHCP è collegato a un dispositivo Cisco Catalyst Switch, la causa è molto probabilmente un problema di configurazione che riguarda la funzionalità PortFast del protocollo STP e/o il channeling e il trunking. Altre cause possono essere la scheda NIC e i problemi di avvio della porta dello switch. Rivedere i passaggi D ed E per escludere che i problemi di configurazione della porta dello switch e della scheda NIC siano la causa profonda del problema DHCP.
Se lo switch è un Catalyst 2900/4000/5000/6000, verificare che sulla porta sia stata abilitata la funzione STP PortFast e disabilitato il trunking/il channeling. Nella configurazione predefinita, la funzionalità STP PortFast è disabilitata e il trunking/il channeling è automatico, se applicabile. Sugli switch 2900XL/3500XL/2950/3550, è richiesta solo la configurazione della funzionalità STP PortFast. Queste modifiche alla configurazione risolvono i problemi più comuni dei client DHCP che si verificano durante l'installazione iniziale di uno switch Catalyst.
Per ulteriore documentazione sui requisiti di configurazione delle porte dello switch per il corretto funzionamento del protocollo DHCP quando collegato agli switch Catalyst, fare riferimento a Utilizzo di PortFast e di altri comandi per correggere i ritardi di connettività all'avvio della postazione di lavoro.
Dopo aver riletto il documento, continuare con la risoluzione dei problemi.
Se la configurazione dello switch Catalyst è corretta, è possibile che si sia verificato un problema di compatibilità software sullo switch Catalyst o sulla scheda NIC del client DHCP. Per procedere con la risoluzione dei problemi, rivedere l'articolo Risoluzione dei problemi di compatibilità tra switch Catalyst e schede NIC ed escludere eventuali problemi software dello switch Catalyst o della scheda NIC.
Per escludere correttamente eventuali problemi di compatibilità, è necessario conoscere il sistema operativo del client DHCP e le informazioni specifiche della scheda NIC, come il produttore, il modello e la versione del driver.
Quando il client si trova sulla stessa subnet o sulla stessa VLAN del server DHCP, è importante capire se il protocollo DHCP funziona correttamente o meno. Se il protocollo DHCP funziona correttamente sulla stessa subnet o sulla stessa VLAN del server DHCP, il problema è molto probabilmente dovuto all'agente di inoltro DHCP/BootP. Se il problema persiste anche dopo aver verificato il corretto funzionamento del protocollo DHCP sulla stessa subnet o sulla stessa VLAN del server DHCP, il problema potrebbe riguardare effettivamente il server DHCP.
Per verificare la configurazione:
Quando si configura l'agente di inoltro DHCP sul router, verificare che il comando ip helper-address si trovi sull'interfaccia corretta. Il comando ip helper-address deve essere presente sull'interfaccia in entrata delle postazioni di lavoro dei client DHCP e deve essere indirizzato al server DHCP corretto.
Verificare che il comando di configurazione globale no service dhcp non sia presente. Questo parametro di configurazione disabilita tutte le funzionalità di inoltro e del server DHCP sul router. Il comando di configurazione predefinito, , non viene visualizzato nella configurazione.service dhcp
Se il comando service dhcp non viene abilitato, i client non ricevono gli indirizzi IP dal server DHCP.
Nota: Nei router che eseguono versioni precedenti di Cisco IOS, il comando ip bootp server gestisce la funzione dell'agente di inoltro DHCP anziché il comando service dhcp. Pertanto su questi router è necessario abilitare il comando ip bootp server in caso il comando ip helper-address sia configurato in modo da inoltrare i pacchetti DHCP UDP broadcast e agire correttamente come agente di inoltro DHCP per conto del client DHCP.
no ip directed-broadcast
Il comando impedisce che i pacchetti broadcast indirizzati vengano convertiti in pacchetti broadcast fisici.no ip directed-broadcast
Nelle versioni software 12.0 e successive, questa è la configurazione predefinita.Quando i pacchetti DHCP broadcast vengono inoltrati all'indirizzo di broadcast della subnet del server DHCP, può verificarsi un problema software. Per risolvere un problema, provare a inoltrare i pacchetti DHCP UDP broadcast all'indirizzo IP del server DHCP:
version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption no service dhcp |
La funzione dell'agente di inoltro DHCP (opzione 82) permette agli agenti di inoltro DHCP (switch Catalyst) di includere informazioni su se stessi e sul client collegato quando inoltrano le richieste DHCP di un client DHCP a un server DHCP.
Il server DHCP può utilizzare queste informazioni per assegnare gli indirizzi IP, eseguire il controllo degli accessi e impostare la qualità del servizio (QoS) e le policy di sicurezza (o altre policy di assegnazione dei parametri) per ciascun abbonato della rete del provider di servizi. Quando lo snooping DHCP è abilitato su uno switch, abilita automaticamente l'opzione 82. Se il server DHCP non è configurato per gestire i pacchetti con l'opzione 82, cessa di allocare l'indirizzo alla richiesta. Per risolvere il problema, disabilitare l'opzione di identificazione del sottoscrittore (82) negli switch (agenti di inoltro) con il comando di configurazione globale,no ip dhcp relay information option.
Un agente del database DHCP è qualsiasi host, ad esempio un server FTP, TFTP o RCP, su cui viene memorizzato il database delle associazioni DHCP. È possibile configurare più agenti del database DHCP e configurare la frequenza di aggiornamento del database e la frequenza di trasferimento per ciascun agente. Utilizzare il comando ip dhcp database per configurare un agente di database e i relativi parametri.
Se si sceglie di non configurare un agente del database DHCP, disabilitare la registrazione dei conflitti di indirizzi DHCP sul server DHCP. Eseguire il comando noip dhcp conflict logging per disabilitare la registrazione dei conflitti degli indirizzi DHCP. Cancellare i conflitti registrati in precedenza con clear ip dhcp conflict.
Se la procedura per disabilitare la registrazione dei conflitti non riesce, viene visualizzato questo messaggio di errore:
%DHCPD-4-DECLINE_CONFLICT: DHCP address conflict: client
Quando sulla porta dello switch connessa al dispositivo Cisco IP Phone il protocollo CDP (Cisco Discovery Protocol) è disabilitato, il server DHCP non può assegnare un indirizzo IP appropriato al telefono. Il server DHCP tende ad assegnare l'indirizzo IP che appartiene alla VLAN/alla subnet dati della porta dello switch. Se il protocollo CDP è abilitato, lo switch è in grado di rilevare che il dispositivo Cisco IP Phone richiede il protocollo DHCP e può fornire le informazioni corrette sulla subnet. Il server DHCP è quindi in grado di assegnare un indirizzo IP dal pool della VLAN voce o della subnet. Non sono necessarie operazioni esplicite per associare il servizio DHCP alla VLAN voce.
Sui dispositivi Cisco Catalyst serie 6500 Switch, una SVI (in stato di arresto) viene creata automaticamente dopo aver configurato il protocollo DHCP in modo che effettui lo snooping su una VLAN. La presenza di questa SVI ha implicazioni dirette sul corretto funzionamento dello snooping del protocollo DHCP.
Sui Cisco Catalyst serie 6500 Switch con Cisco IOS nativo, lo snooping del protocollo DHCP viene implementato principalmente sul Route Processor (RP o MSFC) anziché sullo Switch Processor (SP o Supervisor). I router Cisco Catalyst serie 6500 intercettano i pacchetti nell'hardware con VACL che forniscono i pacchetti a una LTL (Local Target Logic) sottoscritta dall'RP. Una volta entrati nell'RP, i frame devono essere associati a un IDB di interfaccia L3 (SVI) prima di poter essere inoltrati allo snooping. Senza una SVI, questo IDB non esiste e i pacchetti vengono eliminati nell'RP.
Quando un client DHCP imposta il bit di broadcast in un pacchetto DHCP, il server DHCP e l'agente di inoltro inviano messaggi DHCP ai client con l'indirizzo di broadcast all-ones (255.255.255.255). Se il comando ip broadcast-address è stato configurato in modo che vengano inviati messaggi di broadcast sulla rete, i messaggi all-ones inviati dal protocollo DHCP vengono ignorati. Per porre rimedio a questa situazione, usare il comando ip dhcp limited-broadcast-address per verificare che i messaggi broadcast sulla rete non prendano il sopravvento sul comportamento predefinito del protocollo DHCP.
Alcuni client DHCP possono accettare solo messaggi broadcast all-ones e non sono in grado di acquisire un indirizzo DHCP a meno che questo comando non sia configurato sull'interfaccia del router collegata al client.
Verificare che il router riceva la richiesta DHCP con i comandi di debug
Sui router che supportano il software per l'elaborazione dei pacchetti DHCP, è possibile verificare se un router riceve la richiesta DHCP dal client. Il processo DHCP ha esito negativo se il router non riceve le richieste dal client. In questo passaggio, configurare un elenco degli accessi (access-list) per il debug dell'output. L'elenco degli accessi viene utilizzato solo per eseguire il debug di un comando e non interferisce con il router.
In modalità di configurazione globale, immettere il seguente elenco degli accessi:
access-list 100 permit ip host 0.0.0.0 host 255.255.255.255
In modalità di esecuzione, immettere questo comando di debug:
debug ip packet detail 100
Router#debug ip packet detail 100 IP packet debugging is on (detailed) for access list 100 Router# 00:16:46: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2 00:16:46: UDP src=68, dst=67 00:16:46: IP: s=0.0.0.0 (Ethernet4/0), d=255.255.255.255, len 604, rcvd 2 00:16:46: UDP src=68, dst=67
Questo esempio di output chiarisce come il router riceve attivamente le richieste DHCP dal client. L'output mostrato contiene solo un riepilogo del pacchetto. Pertanto, non è possibile determinare se il pacchetto è corretto. Tuttavia, il router ha ricevuto un pacchetto broadcast con le porte IP e UDP di origine e di destinazione corrette per il protocollo DHCP.
Verificare che il router riceva e inoltri la richiesta DHCP con il comando debug ip udp
Il comando debug ip udp può monitorare il percorso di una richiesta DHCP nel router. Tuttavia, in un ambiente di produzione questo debug interferisce con il corretto funzionamento, in quanto visualizza sulla console tutti i pacchetti UDP commutati che sono stati elaborati. Non utilizzare quindi questo comando di debug in un ambiente di produzione.
Avviso: Il comando debug ip udp è intrusivo e può causare un elevato utilizzo della CPU.
In modalità di esecuzione, immettere questo comando di debug: debug ip udp
Router#debug ip udp UDP packet debugging is on Router# 00:18:48: UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584 !--- Router receiving DHCPDISCOVER from DHCP client. 00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604 !--- Router forwarding DHCPDISCOVER unicast to DHCP server using DHCP/BootP Relay Agent source IP address. 00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313 !--- Router receiving DHCPOFFER from DHCP server directed to DHCP/BootP Relay Agent IP address. 00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333 !--- Router forwarding DHCPOFFER from DHCP server to DHCP client via DHCP/BootP Relay Agent. 00:18:48: UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584 !--- Router receiving DHCPREQUEST from DHCP client. 00:18:48: UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604 !--- Router forwarding DHCPDISCOVER unicast to DHCP server using DHCP/BootP Relay Agent source IP address. 00:18:48: UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=313 !--- Router receiving DHCPACK (or DHCPNAK) from DHCP directed to DHCP/BootP Relay Agent IP address. 00:18:48: UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=333 !--- Router forwarding DHCPACK (or DHCPNAK) to DHCP client via DHCP/BootP Relay Agent. 00:18:48: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32 !--- DHCP client verifying IP address not in use by sending ARP request for its own IP address. 00:18:50: UDP: rcvd src=192.168.1.2(520), dst=255.255.255.255(520), length=32 !--- DHCP client verifying IP address not in use by sending ARP request for its own IP address.
Verificare che il router riceva e inoltri la richiesta DHCP con il comando debug ip dhcp server packet
Se il router Cisco IOS ha una versione 12.0.xT o 12.1 e supporta la funzionalità del server DHCP di Cisco IOS, è possibile usare il comando debug ip dhcp server packet. Questo debug è stato progettato per essere utilizzato con la funzione del server DHCP di Cisco IOS e per risolvere i problemi della funzione dell'agente di inoltro DHCP/BootP. Come spiegato precedentemente, i debug del router non permettono di stabilire con esattezza il problema in quanto non restituiscono l'intero pacchetto. Tuttavia, i debug consentono di fare deduzioni riguardo all'elaborazione DHCP. In modalità di esecuzione, immettere questo comando debug:
debug ip dhcp server packet
Router#debug ip dhcp server packet 00:20:54: DHCPD: setting giaddr to 192.168.1.1. !--- Router received DHCPDISCOVER/REQUEST/INRORM and setting Gateway IP address to 192.168.1.1 for forwarding. 00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63.. !--- BOOTREQUEST includes DHCPDISCOVER, DHCPREQUEST, and DHCPINFORM. !--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 indicates client identifier. 00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441. !--- BOOTREPLY includes DHCPOFFER and DHCPNAK. !--- Client's MAC address is 00e0.1ef2.c441. 00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441. !--- Router is forwarding DHCPOFFER or DHCPNAK broadcast on local LAN interface. 00:20:54: DHCPD: setting giaddr to 192.168.1.1. !--- Router received DHCPDISCOVER/REQUEST/INFORM and set Gateway IP address to 192.168.1.1 for forwarding. 00:20:54: DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3065.302e.3165.6632.2e63.. !--- BOOTREQUEST includes DHCPDISCOVER, DHCPREQUEST, and DHCPINFORM. !--- 0063.6973.636f.2d30.3065.302e.3165.6632.2e63 indicates client identifier. 00:20:54: DHCPD: forwarding BOOTREPLY to client 00e0.1ef2.c441. !--- BOOTREPLY includes DHCPOFFER and DHCPNAK. !--- Client's MAC address is 00e0.1ef2.c441. 00:20:54: DHCPD: broadcasting BOOTREPLY to client 00e0.1ef2.c441. !--- Router is forwarding DHCPOFFER or DHCPNAK broadcast on local LAN interface.
Esecuzione di più debug contemporaneamente
Quando si eseguono più debug contemporaneamente, è possibile ottenere una buona quantità di informazioni sul funzionamento dell'agente di inoltro DHCP/BootP e del server. Se si usa quanto descritto sopra per la risoluzione dei problemi, è possibile trarre conclusioni su dove la funzionalità dell'agente di inoltro DHCP/BootP non funziona correttamente.
IP: s=0.0.0.0 (Ethernet0), d=255.255.255.255, len 604, rcvd 2 UDP src=68, dst=67 UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584 DHCPD: setting giaddr to 192.168.1.1. UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604 IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet1), len 604, sending UDP src=67, dst=67 DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3030.302e.3030.3030.2e30.3030.312d.4574.30 forwarded to 192.168.2.2. IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4 UDP src=67, dst=67 UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=308 DHCPD: forwarding BOOTREPLY to client 0000.0000.0001. DHCPD: broadcasting BOOTREPLY to client 0000.0000.0001. UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=328 IP: s=0.0.0.0 (Ethernet0), d=255.255.255.255, len 604, rcvd 2 UDP src=68, dst=67 UDP: rcvd src=0.0.0.0(68), dst=255.255.255.255(67), length=584 DHCPD: setting giaddr to 192.168.1.1. UDP: sent src=192.168.1.1(67), dst=192.168.2.2(67), length=604 IP: s=192.168.1.1 (local), d=192.168.2.2 (Ethernet1), len 604, sending UDP src=67, dst=67 DHCPD: BOOTREQUEST from 0063.6973.636f.2d30.3030.302e.3030.3030.2e30.3030.312d.4574.30 forwarded to 192.168.2.2. IP: s=192.168.2.2 (Ethernet1), d=192.168.1.1, len 328, rcvd 4 UDP src=67, dst=67 UDP: rcvd src=192.168.2.2(67), dst=192.168.1.1(67), length=308 DHCPD: forwarding BOOTREPLY to client 0000.0000.0001. DHCPD: broadcasting BOOTREPLY to client 0000.0000.0001. UDP: sent src=0.0.0.0(67), dst=255.255.255.255(68), length=328.
Traccia dello sniffer e causa principale del problema DHCP
Rivedere le sezioni Decodifica della traccia dello sniffer quando client e server DHCP sono separati da un router configurato come agente di inoltro DHCP e Decodifica della traccia dello sniffer quando client e server DHCP sono separati da un router configurato come agente di inoltro DHCP
per decifrare le tracce dei pacchetti DHCP.
Per informazioni su come ottenere le tracce dello sniffer con la funzione Switched Port Analyzer (SPAN) sugli switch Catalyst, fare riferimento a Esempio di configurazione di Catalyst Switched Port Analyzer (SPAN).
Metodo alternativo di decodifica dei pacchetti con debug sul router
Con il comando debug ip packet detail dump <acl> su un router Cisco, è possibile visualizzare un intero pacchetto in formato esadecimale nel log di sistema o nell'interfaccia a riga di comando (CLI). Rivedere le sezioni Verificare che il router riceva la richiesta DHCP con i comandi di debug e Verificare che il router riceva e inoltri la richiesta DHCP al server DHCP con i comandi di debug e aggiungere la parola chiave dump all'elenco degli accessi per ottenere le stesse informazioni di debug, ma con i dettagli del pacchetto in formato esadecimale. Per determinarne il contenuto, il pacchetto deve essere convertito. Un esempio è riportato nell'Appendice A.
Il database del server DHCP è organizzato con una struttura ad albero. La radice dell'albero è il pool di indirizzi per le reti naturali, i rami sono i pool di indirizzi delle subnet e le foglie sono le associazioni manuali con i client. Le subnet ereditano i parametri di rete e i client ereditano i parametri di subnet. Pertanto, i parametri comuni, ad esempio il nome di dominio, devono essere configurati al livello più alto (rete o subnet) dell'albero.
Per ulteriori informazioni su come configurare il protocollo DHCP e i comandi associati, fare riferimento all'Elenco delle attività di configurazione del protocollo DHCP.
version 12.1 ! service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname Router ! enable password cisco ip subnet-zero no ip domain-lookup ip dhcp excluded-address 10.10.1.1 10.10.1.199 !--- Address range excluded from DHCP pools. ip dhcp pool test_dhcp !--- DHCP pool (scope) name is test_dhcp. network 10.10.1.0 255.255.255.0 !--- DHCP pool (address will be assigned in this range) for associated Gateway IP address. default-router 10.10.1.1 !--- DHCP option for default gateway. dns-server 10.30.1.1 !--- DHCP option for DNS server(s). netbios-name-server 10.40.1.1 !--- DHCP option for NetBIOS name server(s) (WINS). lease 0 0 1 !--- Lease time. interface Ethernet0 description DHCP Client Network ip address 10.10.1.1 255.255.255.0 no ip directed-broadcast ! interface Ethernet1 description Server Network ip address 10.10.2.1 255.255.255.0 no ip directed-broadcast ! line con 0 transport input none line aux 0 transport input all line vty 0 4 login ! end |
Nota: Si noti che il comando subnet prefix-length non è essenziale per il normale funzionamento del pool DHCP. L'uso di questo comando è previsto negli scenari in cui sono necessari pool di assegnazione delle subnet; per ulteriori informazioni su questo comando, fare riferimento alla sezione Funzionamento del server di assegnazione delle subnet nel documento Configurazione del gestore del pool di indirizzi su richiesta del server DHCP.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
22-Sep-2023 |
Certificazione |
1.0 |
07-Feb-2014 |
Versione iniziale |