Wenn der Dynamic Host Configuration Protocol (DHCP)-Server ausgeführt wird, werden einige Leases als nicht verfügbar angezeigt. Es gibt mehrere Gründe, die fast immer klar in den DHCP-Protokollen angegeben werden:
Ping, bevor das Angebot aktiviert ist.
Der DHCP-Server erhielt eine DHCPDECLINE-Nachricht von einem DHCP-Client, an den er eine IP-Adresse geleast hatte, die seiner Meinung nach eine gute ist.
Der DHCP-Server des Cisco Network Registrar (CNR) sieht eine Nachricht, die an einen anderen DHCP-Server weitergeleitet wird.
Die schnelle Behebung besteht darin, die Leasing-Verträge zur Verfügung zu stellen. Dies wird nicht empfohlen, da eine Untersuchung erforderlich ist, um zu ermitteln, warum die Leasingverträge als nicht verfügbar eingestuft wurden. Rufen Sie das Verzeichnis CNR-Protokolle auf, und suchen Sie nach den DHCP-Protokollen. Der Server macht deutlich, warum die IP-Adresse als nicht verfügbar gekennzeichnet ist.
Die Leser dieses Dokuments sollten folgende Themen kennen:
Wie DHCP funktioniert
CNR-Befehlszeilenschnittstelle (nrcmd)
CNR GUI-Benutzeroberfläche
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Cisco Network Registrar 5.0.X
Windows 2000 und Solaris 7
Alle CNR-Versionen und -Plattformen
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Bevor Sie einem Client eine IP-Adresse zuweisen, können Sie festlegen, dass der DHCP-Server die ICMP-Echomeldungsfunktion (Internet Control Message Protocol) (das Ping-Dienstprogramm) verwendet, um festzustellen, ob eine Antwort auf diese Adresse vorliegt. Wenn der CNR-Server eine Antwort auf den Ping-Befehl erhält, markiert der DHCP-Server diese Adresse als nicht verfügbar und stellt dem Client eine andere IP-Adresse zur Verfügung. Die Verwendung von Ping kann verhindern, dass zwei Clients dieselbe IP-Adresse verwenden. Um Ping vor dem Angebot auf dem CNR-Server zu aktivieren, lesen Sie den Abschnitt "Ping a Host Before Offering an Address" (Ein Host anpingen, bevor eine Adresse angeboten wird) unter Konfigurieren von DHCP-Bereichen und -Leases.
Eine Antwort auf einen Ping kann auf eine statisch konfigurierte IP auf einem Client oder auf zwischengeschaltete Geräte (Router, Switches) zurückzuführen sein, die auf Pings für Adressen im Netzwerk, für die sie zuständig sind, nicht angemessen reagieren.
Informationen zur Bereitstellung dieser Leasing-Optionen finden Sie unter Erzwingen der Leasingverfügbarkeit.
Eine IP-Adresse kann als nicht verfügbar gekennzeichnet werden, wenn der DHCP-Server eine DHCPDECLINE-Nachricht von einem Client empfängt, an den er eine IP-Adresse geleast hatte, die er für eine gute IP-Adresse hielt.
Dies geschieht, weil einige Clients eine ARP-Anfrage (Address Resolution Protocol) für die IP-Adresse ihres lokalen LAN-Segments senden. Bei einer Antwort gibt der DHCP-Client die IP-Adresse mit einer DHCPDECLINE an den DHCP-Server zurück und führt dann einen weiteren DHCPDISCOVER-Vorgang aus, um eine neue IP-Adresse abzurufen. In diesem Fall gibt der Client, wie beim Ping vor dem Angebotsfall, an, dass ein aktiver Client die IP-Adresse verwendet und möglicherweise statisch konfiguriert ist. Der DHCP-Server markiert die IP-Adresse als nicht verfügbar.
Dies wird häufig von Clients verursacht, die nicht eindeutige Client-IDs konfiguriert haben. Da der DHCP-Server dieses Feld zur Unterscheidung von Clients verwendet, kann es zu doppelten Adresszuweisungen kommen. Die Lösung besteht darin, MAC-Adresse nur als Client-ID zuzuweisen.
CNR kann eine der folgenden Methoden konfigurieren, um den Client zu unterscheiden:
Nach Client-ID. Die Client-ID wird im Allgemeinen vom Client bereitgestellt. Wenn der Client jedoch keine Client-ID bereitstellt, erstellt der DHCP-Server eine eindeutige ID, indem er die eindeutige MAC-Adresse mit einem vorangestellten Hardware-Typ = 1 neu formatiert. (Dies ist die Standardkonfiguration gemäß RFC.)
Nur über MAC-Adresse. Diese Funktion ist auf dem Server standardmäßig deaktiviert. (Die Prüfsumme der MAC-Adresse wird hinzugefügt, um dieses Objekt von der tatsächlichen MAC-Adresse zu unterscheiden.) Sie können es mit dem folgenden Befehl aktivieren:
nrcmd> dhcp enable Mac-address-only
Diese Konfiguration veranlasst den DHCP-Server, die MAC-Adresse des Clients als einzige Client-ID zu verwenden und ignoriert die Client-ID, die vom Client bereitgestellt wird. Sie können dieses Argument verwenden, um alle Clients, die Ihren DHCP-Server verwenden, einheitlich zu identifizieren.
Hinweis: Sie müssen diese Funktion konfigurieren, bevor alle Clients als auf dem Server konfiguriert gelten, da diese neue Client-ID mit rein MAC-Adresse von der Standard-synthetisierten Client-ID abweicht. Wenn diese Option in einem Produktionsnetzwerk aktiviert ist, werden keine bestehenden Kunden während des Verlängerungsprozesses als sich selbst angesehen, sie werden nicht bestätigt (NAK) und zu einem New Lease gezwungen. Dadurch werden die derzeit als Leasing (In-Use-Leasing) angesehenen Leasingverträge bis zum Ablauf der Laufzeit verknüpft. Daher werden im Netzwerk während des Aktivierungszyklus doppelt so viele Adressen benötigt.
Um diese Leasingverträge verfügbar zu machen, befolgen Sie die Anweisungen unter Erzwingen der Leasingverfügbarkeit.
Der DHCP-Server markiert eine nicht verfügbare IP-Adresse, wenn ein anderer DHCP-Server diese Lease verteilt.
Alle DHCPREQUEST-Nachrichten werden als Teil des anfänglichen DISCOVER/OFFER/REQUEST/ACK-Zyklus gesendet. Der DHCP-Server kann Meldungen sehen, die an andere DHCP-Server weitergeleitet werden, und kann erkennen, dass eine Nachricht vom Inhalt der Server-ID-Option im Paket an ihn weitergeleitet wird.
Wenn der CNR-DHCP-Server eine Nachricht sieht, die an einen anderen DHCP-Server weitergeleitet wird, die IP-Adresse, auf die sich diese Nachricht bezieht, jedoch von diesem DHCP-Server gesteuert wird, kennzeichnet er diese IP-Adresse als nicht verfügbar. Dieser DHCP-Server ist so konfiguriert, dass er den Adressbereich steuert. Da jedoch ein anderer DHCP-Server den gleichen Adressraum verwaltet, muss der andere Server falsch konfiguriert werden.
Dieses Verhalten wird bei der Migration von einem kontrollierenden DHCP-Server zu einem anderen mit einer anderen IP-Adresse (und nicht als DHCP-Failover-Partner konfiguriert, der für diese Adressen bekannt und autorisiert ist) beobachtet. In CNR 5.0.x und höher können Sie dieses Verhalten deaktivieren, um die einfache Migration des Adressbereichs zu einem anderen kontrollierenden DHCP-Server mit dem folgenden Befehl zu ermöglichen:
nrcmd> dhcp set ignore-requests-for-other-servers=true
Um diese Leasingverträge verfügbar zu machen, befolgen Sie die Anweisungen unter Erzwingen der Leasingverfügbarkeit.
Sie können die Verfügbarkeit eines derzeit von einem Host gehaltenen Leasingverhältnisses erzwingen. Bitten Sie den Benutzer, den Leasing-Vertrag freizugeben oder Ihnen zu erlauben, bevor Sie dessen Verfügbarkeit erzwingen. Der DHCP-Server muss nicht neu geladen werden, damit die Änderung wirksam wird.
Gehen Sie folgendermaßen vor:
Wählen Sie im Dialogfeld Bereichseigenschaften auf der Registerkarte Leasingverträge den Leasingvertrag aus, den Sie erzwingen möchten.
Doppelklicken Sie auf die Adresse, um das Dialogfeld Leasingeigenschaften zu öffnen.
Klicken Sie auf Verfügbar.
Klicken Sie auf OK.
Verwenden Sie den Befehl lease <ip address> force-available, um die aktuell gehaltene Leasingverfügbarkeit zu erzwingen.
nrcmd> lease 192.168.1.21 force-available
Sie können auch alle nicht verfügbaren Leasing-Verträge in einem Gültigkeitsbereich verfügbar machen, indem Sie den Befehl scope <scope name> clearUnavailable verwenden.
nrcmd> scope scope1 clearUnavailable
Hinweis: Der Befehl scope <scope name> clearUnavailable ist nur in CNR-Versionen 5.x und höher verfügbar.
Gehen Sie zu DHCP > Scopes.
Für den Bereich, der den Leasing-Zeitraum enthält, klicken Sie auf das Symbol Leases (die Brille).
Klicken Sie in der Leasingliste auf den Leasingvertrag, den Sie bereitstellen möchten.
Wenn im Fenster Leasingeigenschaften angezeigt werden, klicken Sie auf Verfügbare Kraft.
Stellen Sie fest, wann der Leasingvertrag nicht mehr verfügbar ist:
Verwenden Sie diesen Befehl, um zu bestimmen, wann der Leasing-Vertrag nicht verfügbar gemacht wurde:
nrcmd> lease ip-address get start-time-of-state
Deaktivieren eines Leasingvertrags:
Um einen Client aus einem Leasing zu verschieben, können Sie festlegen, dass der Leasing-Zeitraum deaktiviert wird. Wenn das Lease verfügbar ist, deaktivieren Sie es, um zu verhindern, dass CNR es an einen Client weitergibt. Wenn das Leasing aktiv ist (im Besitz eines Kunden), deaktivieren Sie das Leasing. Dies verhindert, dass der Kunde das Lease verlängern und an einen anderen Client freigeben kann. Sie können einen Leasingvertrag nur deaktivieren, wenn der Server funktioniert. CNR deaktiviert den Leasing-Vorgang sofort. Sie müssen den DHCP-Server nicht neu laden. Wenn der Leasing-Vertrag verfügbar ist, ist er bei der Deaktivierung des Leasingvertrags nicht mehr verfügbar. Wenn sie aktiv ist, steht sie für eine Verlängerung oder einen Leasing-Zeitraum nicht zur Verfügung.
Gesamtzahl der verfügbaren Adressen:
Die Gesamtzahl der Adressen im Gültigkeitsbereich entspricht der Summe der folgenden Adressen: kostenlos + dynamisch geleast + reserviert + nicht verfügbar + deaktiviert + sonstige verfügbar.