In questo documento vengono fornite le linee guida per la configurazione di un server DHCP Cisco IOS® Classic / IOS XE IPv4, con l'obiettivo di fornire un servizio coerente e affidabile.
Configurare un pool generale per ogni subnet che richiede il servizio DHCP. Il pool generale fornisce indirizzi IP e altre informazioni a client non server, ad esempio guest e telefoni wireless. In questo esempio, il servizio DHCP viene fornito per una subnet 10.10.10.0 /24, con 62 indirizzi riservati ai binding statici e gli altri 193 indirizzi in un pool (da 10.10.10.63 a 10.10.10.254). La durata del lease è di 6 ore e vengono forniti gli indirizzi del server DNS Cisco Umbrella.
router(config)#ip dhcp exclude-address 10.10.10.1 10.10.10.10.62
pool dhcp ip BIGPOOL
rete 10.10.10.0 255.255.255.0
default-router 10.10.10.1
dns-server 208.67.222.222.208.67.220.220
leasing 0 6
Nota: Il server DHCP deve disporre di un'interfaccia di layer 3 (ad esempio, SVI) nella subnet, in modo da poter visualizzare il traffico DHCP.
Nota: Se il sistema Cisco IOS che fornisce il servizio DHCP è esso stesso un client DHCP per il proprio uplink di rete, è possibile usare il comando "import all" nel pool per importare le informazioni sul server DNS e altre opzioni.
Se il comando ping-check è configurato, il server DHCP, prima di OFFRIRE un nuovo indirizzo DHCP a un client, tenterà di eseguire il ping di tale indirizzo per verificare se è utilizzato da un altro dispositivo. In questo esempio, il server invierà fino a tre pacchetti ping, con un timeout di 400 millisecondi per ciascuno, prima di inviare una nuova OFFERTA. Questo richiederà un ritardo di 1,2 secondi tra il DISCOVER e l'OFFERTA, quindi nelle applicazioni ad alta criticità di tempo, dove l'assegnazione degli indirizzi è strettamente controllata, si potrebbe desiderare di disabilitarla con "ip dhcp ping packets 0", a maggior rischio di avere più dispositivi che tentano di usare lo stesso indirizzo IP.
router(config)#ip dhcp ping packets 3
router(config)#ip dhcp ping timeout 400
Nota: Il comando ping-check ha causato problemi di scalabilità del server DHCP prima del commit dell'ID bug Cisco CSCdp35267
in Cisco IOS Classic 15.0(1)M e Cisco bug ID CSCua63083
in Cisco IOS XE 16.1.1. In particolare, il software Cisco IOS XE 3.xE "Nova" nei precedenti switch Catalyst non dispone del miglioramento della scalabilità, quindi queste piattaforme non devono essere utilizzate per i servizi DHCP su larga scala.
router(config)#ip dhcp memory
Con DHCP memorizza, dopo che un lease da un pool è scaduto, l'indirizzo torna nel pool, ma il server "ricorda" l'ultima volta che è stato utilizzato e l'ultimo ID client / indirizzo hardware a cui è stato assegnato quell'indirizzo IP. L'indirizzo non verrà riassegnato a un client diverso finché la voce non corrisponderà all'indirizzo utilizzato meno di recente nel pool. In questo modo si evitano i conflitti e si possono utilizzare come record cronologici dei client DHCP.
I binding memorizzati nel pool possono essere visualizzati con il comando "show ip dhcp binding [memorizzato]". Esempio:
router#show ip dhcp binding memorizzato
Associazioni ricordate da tutti i pool non associati a VRF:
Indirizzo IP ID client/Tipo di scadenza lease Interfaccia stato
Indirizzo hardware/
Nome utente
10.10.10.123 0146.81df.f153.fe 27 giu 2026 01:47 PM Memorizzata Vlan terminata102
10.10.10.124.01e2.2e0b.baf5.4a Lug 30 2026 07:50 AM Memorizzata Vlan terminata102
10.10.10.125.0146.8f75.339a.66 Lug 25 2026 06:17 AM Memorizzata Vlan Terminata102
Per le apparecchiature di infrastruttura, come gli switch LAN e i punti di accesso, è buona norma assegnare binding DHCP fissi. Anche se gli indirizzi IP dell'apparecchiatura sono configurati in modo statico, è comunque possibile impostare un binding DHCP statico, anche solo per assicurarsi che l'indirizzo non venga utilizzato da un client DHCP diverso.
Configurare innanzitutto un intervallo di indirizzi esclusi per le associazioni fisse. Tutte le associazioni fisse e le assegnazioni di indirizzi statici devono essere incluse in questo intervallo.
Per ogni dispositivo con un binding fisso, configurare una voce del pool DHCP come segue:
router(config)#ip dhcp pool ARON-X1
host 10.10.10.42 255.255.255.0
identificatore del client: 01e2.2e0b.baf5.4a
Per la maggior parte dei dispositivi, l'identificatore del client sarà il relativo indirizzo MAC dell'interfaccia, preceduto da un ottetto 0x01. Tuttavia, alcuni dispositivi richiederanno un indirizzo DHCP usando solo l'indirizzo-hardware:
router(config)#ip dhcp pool BedroomEchoDot
host 10.10.10.24 255.255.255.0
indirizzo-hardware 66.db.f5b3.e85f
Per individuare l'identificativo del client di un determinato client, è possibile lasciare che estragga un indirizzo dal pool generale, scoprire l'indirizzo di cui dispone e quindi esaminare la tabella di associazione del pool:
router#show ip dhcp binding | includi automatico
10.10.10.137.0196.8eac.8963.b4 Ago 04 2026 05:03 PM Automatico
Eliminare quindi l'associazione automatica in modo da poter configurare l'associazione statica:
router#clear ip dhcp binding 10.10.10.137
Le opzioni DHCP specifiche del client possono essere configurate nel binding statico. Se l'indirizzo nell'associazione statica si trova nella stessa subnet di un ambito di "rete" in un pool generale, le opzioni di tale pool verranno fornite al client dell'associazione statica.
Per garantire l'affidabilità del servizio DHCP durante i ricaricamenti del server, è molto importante eseguire il backup dei binding dinamici in un file di database. In caso contrario, dopo il ricaricamento, il server non sarà a conoscenza dei lease esistenti che aveva distribuito e quindi probabilmente assegnerà indirizzi IP che sono già in uso da altri client. Ciò vale anche se il ping-check è attivo, in quanto alcuni dispositivi non rispondono alle richieste ECHO ICMP.
router(config)#ip dhcp database flash:/dhcp-bindings.db
Al riavvio, il server DHCP leggerà i binding DHCP dal file di backup.
Il database DHCP può essere archiviato su un server di rete e può essere spostato da un server DHCP all'altro per una migrazione senza problemi, ma tali utilizzi esulano dall'ambito di questo articolo.
Per visualizzare il numero di associazioni assegnate/disponibili in un determinato pool:
router#show ip dhcp pool BIGPOOL
POOL DI RISORSE BIG:
Marchio di utilizzo (alto/basso): 100 / 0
Dimensioni subnet (prima/successiva): 0 / 0
Totale indirizzi: 254
Indirizzi in lease: 61
Indirizzi esclusi: 62
Indirizzi ricordati: 77
Evento in sospeso: nessuna
1 subnet è attualmente nel pool:
Intervallo indirizzi IP indice corrente concessi in lease/esclusi/totale
10.10.10.160 10.10.10.1 - 10.10.10.254 61 / 62 / 254
Il numero di indirizzi disponibili sarà il totale - (In leasing + Escluso), quindi 123 in questo caso (254 - (61+62)).
Questi comandi possono essere utilizzati per eseguire il debug del server DHCP Cisco IOS:
router#debug ip dhcp server packet
router#debug ip dhcp server events
L'acquisizione di pacchetti della transazione DHCP può essere utile, ad esempio eseguendo un'operazione SPAN o Embedded Packet Capture.
Vedere: Risoluzione dei problemi relativi a DHCP nelle reti aziendali.
Vedere il capitolo Configurazione del server DHCP Cisco IOS XE nella Guida alla configurazione dell'indirizzamento IP di IOS XE.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
1.0 |
06-Aug-2026
|
Versione iniziale |