Quando il server DHCP (Dynamic Host Configuration Protocol) è in esecuzione, alcuni lease risultano non disponibili. I motivi sono diversi e vengono quasi sempre indicati chiaramente nei log DHCP:
Ping prima dell'abilitazione dell'offerta.
Il server DHCP ha ricevuto un messaggio DHCP DECLINE da un client DHCP a cui era stato assegnato in lease quello che riteneva un indirizzo IP valido.
Il server DHCP Cisco Network Registrar (CNR) riceve un messaggio che viene indirizzato a un altro server DHCP.
La soluzione rapida consiste nel forzare i lease affinché diventino disponibili. Questa operazione non è consigliata, in quanto è necessario esaminare il motivo per cui i lease sono stati contrassegnati come non disponibili. Andare alla directory dei log di CNR e cercare i log DHCP. Il server indica chiaramente il motivo per cui l'indirizzo IP è contrassegnato come non disponibile.
Questo documento è utile per conoscere i seguenti argomenti:
Funzionamento di DHCP
Interfaccia della riga di comando CNR (nrcmd)
Interfaccia utente GUI CNR
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Cisco Network Registrar 5.0.X
Windows 2000 e Solaris 7
Tutte le versioni e le piattaforme CNR
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.
Prima di assegnare un indirizzo IP a un client, è possibile fare in modo che il server DHCP utilizzi la funzionalità per i messaggi echo del protocollo Internet Control Message Protocol (ICMP) (utilità ping) per determinare se è disponibile una risposta a tale indirizzo. Se il server CNR riceve una risposta al ping, il server DHCP lo contrassegna come non disponibile e offre al client un indirizzo IP diverso. L'uso del comando ping può evitare che due client utilizzino lo stesso indirizzo IP. Per abilitare il comando Ping prima dell'offerta sul server CNR, consultare la sezione "Ping a Host Before Offering an Address" in Configurazione degli ambiti e dei lease DHCP.
La risposta al comando ping potrebbe essere causata da un IP configurato staticamente su un client o da dispositivi intermedi (router, switch) che rispondono in modo errato ai ping degli indirizzi della rete di cui sono responsabili.
Per rendere disponibili questi lease, vedere Forzatura della disponibilità dei lease.
Un indirizzo IP può essere contrassegnato come non disponibile se il server DHCP riceve un messaggio DHCPDECLINE da un client a cui aveva concesso in lease quello che riteneva un indirizzo IP valido.
Ciò si verifica perché alcuni client inviano una richiesta ARP (Address Resolution Protocol) per l'indirizzo IP sul relativo segmento LAN locale. In caso di risposta, il client DHCP restituisce l'indirizzo IP al server DHCP con un comando DHCPDECLINE, quindi esegue un'altra operazione DHCPDISCOVER per ottenere un nuovo indirizzo IP. In questo caso, come nel caso del comando ping prima dell'offerta, il client indica che è presente un client attivo che utilizza l'indirizzo IP, probabilmente configurato in modo statico. Il server DHCP quindi contrassegna l'indirizzo IP come non disponibile.
Questo problema è spesso causato dai client che hanno configurato identificatori client non univoci. Poiché il server DHCP utilizza questo campo per distinguere i client, è possibile che l'allocazione degli indirizzi sia duplicata. La soluzione consiste nell'assegnare mac-address-only come identificatore del client.
CNR è in grado di configurare uno dei seguenti modi per distinguere il client:
Per ID client. L'ID client viene in genere fornito dal client. Tuttavia, se il client non fornisce un ID client, il server DHCP ne crea uno univoco utilizzando un riformato dell'indirizzo MAC univoco con un Tipo di hardware anteposto = 1. Si tratta della configurazione predefinita, come specificato in RFC.
Solo per indirizzo MAC. Questa funzionalità è disattivata per impostazione predefinita sul server. Il checksum dell'indirizzo MAC viene aggiunto per distinguere questo oggetto dall'indirizzo MAC effettivo. Per attivarlo, utilizzare il comando:
nrcmd> dhcp enable Mac-address-only
In base a questa configurazione, il server DHCP utilizza l'indirizzo MAC del client come unico identificatore client e ignora l'ID client fornito dal client. È possibile utilizzare questo argomento per disporre di un metodo unico e coerente per identificare tutti i client che utilizzano il server DHCP.
Nota: è necessario configurare questa funzione prima che i client vengano considerati configurati sul server, poiché il nuovo ID client con solo indirizzo Mac è diverso dall'ID client sintetizzato predefinito. Se questa opzione è abilitata su una rete di produzione, nessun client esistente viene considerato come se stesso durante il processo di rinnovo, non viene riconosciuto (NAK) e viene forzato a un nuovo lease. In questo modo vengono vincolati i leasing attualmente considerati in leasing (in uso) fino alla loro scadenza. Pertanto, durante il ciclo di abilitazione di questa funzionalità, in una rete è necessario un numero di indirizzi doppio.
Per rendere disponibili questi lease, seguire le istruzioni riportate in Forzatura della disponibilità dei lease.
Il server DHCP contrassegna un indirizzo IP come non disponibile se rileva la presenza di un altro server DHCP che distribuisce il lease.
Tutti i messaggi DHCPREQUEST vengono trasmessi come parte del ciclo iniziale DISCOVER/offer/REQUEST/ACK. Il server DHCP può visualizzare messaggi indirizzati ad altri server DHCP e può identificare che un messaggio viene indirizzato a tale server dal contenuto dell'opzione server-id nel pacchetto.
Se il server DHCP CNR vede un messaggio indirizzato a un altro server DHCP, ma l'indirizzo IP a cui si riferisce il messaggio è controllato da questo server DHCP, l'indirizzo IP non è disponibile. Questo server DHCP è configurato per controllare lo spazio degli indirizzi, ma poiché rileva che un altro server DHCP gestisce lo stesso spazio degli indirizzi, è necessario che l'altro server non sia configurato correttamente.
Questo comportamento si verifica quando si esegue la migrazione da un server DHCP di controllo a un altro con un indirizzo IP diverso (e non configurato come partner di failover DHCP noto e autorizzato per questi indirizzi). In CNR 5.0.x e versioni successive, è possibile disattivare questo comportamento per facilitare la migrazione dello spazio degli indirizzi a un altro server DHCP di controllo con il comando:
nrcmd> dhcp set ignore-requests-for-other-servers=true
Per rendere disponibili questi lease, seguire le istruzioni riportate in Forzatura della disponibilità dei lease.
È possibile forzare la disponibilità di un leasing attualmente detenuto da un host. Prima di forzare la disponibilità, richiedere all'utente di rilasciare il leasing o di autorizzarlo. Non è necessario ricaricare il server DHCP per rendere effettiva la modifica.
Attenersi alla procedura seguente:
Dalla scheda Lease della finestra di dialogo Proprietà ambito, selezionare il lease che si desidera forzare.
Fare doppio clic sull'indirizzo per aprire la finestra di dialogo Proprietà lease.
Fare clic su Forza disponibile.
Fare clic su OK.
Utilizzare il comando lease <indirizzo ip>force-available per forzare il lease attualmente disponibile.
nrcmd> lease 192.168.1.21 force-available
È inoltre possibile rendere disponibili tutti i lease non disponibili in un ambito utilizzando il comando scope <nome ambito> clearUnavailable.
nrcmd> scope scope1 clearUnavailable
Nota: il comando scope <scope name> clearUnavailable è disponibile solo nelle versioni CNR 5.x e successive.
Selezionare DHCP > Scopes
Per l'ambito contenente il lease, fare clic sull'icona lease (gli occhiali).
Nell'elenco dei lease fare clic sul lease che si desidera rendere disponibile.
Nella finestra vengono visualizzate le proprietà del lease, fare clic su Forza disponibili.
Determinare quando il leasing non è più disponibile:
Utilizzare questo comando per determinare quando il lease è stato reso non disponibile:
nrcmd> lease ip-address get start-time-of-state
Disattivare un lease:
Per spostare un cliente da un leasing, è possibile scegliere di disattivare il lease. Se il leasing è disponibile, disattivarlo per evitare che CNR lo conceda a un cliente. Se il leasing è attivo (detenuto da un cliente), disattivarlo. In questo modo il client non potrà rinnovare il lease e rilasciarlo a un altro client. È possibile disattivare un lease solo quando il server funziona. CNR disattiva immediatamente il leasing; non è necessario ricaricare il server DHCP. Se il leasing è disponibile, quando lo si disattiva diventa non disponibile; se è attivo, non è più disponibile per il rinnovo o per qualsiasi leasing iniziale.
Numero totale di indirizzi disponibili:
Il numero totale di indirizzi nell'intervallo di ambito è uguale alla somma dei seguenti: gratuito + con leasing dinamico + riservato + non disponibile + disattivato + altro disponibile.