Lorsque le serveur DHCP (Dynamic Host Configuration Protocol) s'exécute, certains baux apparaissent comme non disponibles. Il y a plusieurs raisons, presque toujours clairement indiquées dans les journaux DHCP :
Ping avant l'activation de l'offre.
Le serveur DHCP a reçu un message DHCPDECLINE d'un client DHCP auquel il avait loué ce qu'il pensait être une bonne adresse IP.
Le serveur DHCP de Cisco Network Registrar (CNR) voit un message dirigé vers un autre serveur DHCP.
La solution rapide consiste à forcer la disponibilité des baux. Cela n'est pas recommandé, car une enquête est nécessaire pour déterminer pourquoi les baux ont été marqués comme non disponibles. Accédez au répertoire des journaux CNR et recherchez les journaux DHCP. Le serveur indique clairement pourquoi l'adresse IP est marquée comme non disponible.
Les lecteurs de ce document devraient avoir connaissance des sujets suivants :
Fonctionnement du protocole DHCP
Interface de ligne de commande CNR (nrcmd)
Interface utilisateur de l'interface utilisateur CNR
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
Cisco Network Registrar 5.0.X
Windows 2000 et Solaris 7
Toutes les versions et plates-formes CNR
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Avant d'attribuer une adresse IP à un client, vous pouvez demander au serveur DHCP d'utiliser la fonction de message d'écho ICMP (Internet Control Message Protocol) (utilitaire ping) pour déterminer s'il y a une réponse à cette adresse. Si le serveur CNR obtient une réponse à la requête ping, le serveur DHCP marque cette adresse comme non disponible et offre une adresse IP différente au client. L'utilisation de ping peut empêcher deux clients d'utiliser la même adresse IP. Pour activer Ping avant l'offre sur le serveur CNR, reportez-vous à la section « Ping a Host Before Offering an Address » de Configuration des étendues et des baux DHCP.
Une réponse à une requête ping peut être due à une adresse IP configurée de manière statique sur un client ou par des périphériques intermédiaires (routeurs, commutateurs) qui répondent de manière inappropriée aux requêtes ping pour les adresses du réseau dont ils sont responsables.
Pour rendre ces baux disponibles, reportez-vous à Disponibilité forcée des baux.
Une adresse IP peut être marquée comme non disponible si le serveur DHCP reçoit un message DHCPDECLINE d'un client auquel il avait loué ce qu'il pensait être une bonne adresse IP.
Cela se produit parce que certains clients envoient une requête ARP (Address Resolution Protocol) pour l'adresse IP sur son segment de réseau local. S'il y a une réponse, le client DHCP retourne l'adresse IP au serveur DHCP avec une DHCPDECLINE, puis effectue une autre opération DHCPDISCOVER pour obtenir une nouvelle adresse IP. Dans ce cas, comme le cas ping avant offre, le client indique qu'il y a un client actif utilisant l'adresse IP, peut-être configurée de manière statique. Le serveur DHCP marque ensuite l'adresse IP comme indisponible.
Cela est fréquemment dû aux clients qui ont configuré des identificateurs de client non uniques. Comme le serveur DHCP utilise ce champ pour distinguer les clients, il se peut que des adresses soient attribuées en double. La solution consiste à attribuer mac-address-only comme identificateur client.
CNR peut configurer l'une ou l'autre des méthodes suivantes pour distinguer le client :
Par ID client. L'ID client est généralement fourni par le client. Cependant, si un ID de client n'est pas fourni par le client, le serveur DHCP en crée un unique à l'aide d'un reformatage de l'adresse MAC unique avec un type matériel préétabli = 1. (Il s'agit de la configuration par défaut spécifiée par RFC.)
Par adresse MAC uniquement. Cette fonctionnalité est désactivée par défaut sur le serveur. (La somme de contrôle de l'adresse MAC est ajoutée pour distinguer cet objet de l'adresse MAC réelle). Vous pouvez l'activer à l'aide de la commande suivante :
nrcmd> dhcp enable Mac-address-only
Cette configuration fait que le serveur DHCP utilise l'adresse MAC du client comme seul identificateur de client et ignore l'ID de client fourni par le client. Vous pouvez utiliser cet argument pour disposer d'une manière unique et cohérente d'identifier tous les clients qui utilisent votre serveur DHCP.
Remarque : Vous devez configurer cette fonctionnalité avant de considérer que des clients sont configurés sur le serveur, car ce nouvel ID client avec adresse MAC uniquement est différent de l'ID client synthétisé par défaut. Si cette option est activée sur un réseau de production, aucun client existant n'est considéré comme lui-même au cours du processus de renouvellement, il n'est pas reconnu (NAK) et forcé à un nouveau contrat de location. Cela lie les baux actuellement considérés comme loués (en service) jusqu'à leur expiration. Par conséquent, deux fois plus d’adresses sont nécessaires sur un réseau au cours du cycle d’activation de cette fonctionnalité.
Pour rendre ces baux disponibles, suivez les instructions de la section Disponibilité forcée des baux.
Le serveur DHCP marque une adresse IP indisponible s'il remarque qu'un autre serveur DHCP distribue ce bail.
Tous les messages DHCPREQUEST sont diffusés dans le cadre du cycle initial DISCOVER/OFFER/REQUEST/ACK. Le serveur DHCP peut voir les messages dirigés vers d'autres serveurs DHCP et peut identifier qu'un message lui est dirigé par le contenu de l'option server-id du paquet.
Si le serveur DHCP CNR voit un message qui est dirigé vers un autre serveur DHCP, mais que l'adresse IP à laquelle ce message fait référence est contrôlée par ce serveur DHCP, alors il marque cette adresse IP indisponible. Ce serveur DHCP est configuré pour contrôler l'espace d'adressage, mais comme il remarque qu'un autre serveur DHCP gère le même espace d'adressage, l'autre serveur doit être mal configuré.
Ce comportement est observé lors de la migration d'un serveur DHCP de contrôle à un autre avec une adresse IP différente (et non configuré en tant que partenaire de basculement DHCP connu et autorisé pour ces adresses). Dans CNR 5.0.x et versions ultérieures, vous pouvez désactiver ce comportement pour faciliter la migration de l'espace d'adressage vers un autre serveur DHCP de contrôle à l'aide de la commande suivante :
nrcmd> dhcp set ignore-requests-for-other-servers=true
Pour rendre ces baux disponibles, suivez les instructions de la section Disponibilité forcée des baux.
Vous pouvez forcer la disponibilité d'un bail actuellement détenu par un hôte. Demandez à l'utilisateur de libérer le bail ou de vous autoriser avant de forcer sa disponibilité. Vous n'avez pas besoin de recharger le serveur DHCP pour que la modification prenne effet.
Suivez ces étapes :
Dans l'onglet Leases de la boîte de dialogue Propriétés de l'étendue, sélectionnez le bail que vous voulez forcer.
Double-cliquez sur l'adresse pour ouvrir la boîte de dialogue Propriétés du bail.
Cliquez sur Forcer disponible.
Click OK.
Utilisez la commande lease <ip address> force-available pour forcer le bail actuellement détenu disponible.
nrcmd> lease 192.168.1.21 force-available
Vous pouvez également rendre tous les baux non disponibles dans une étendue disponible à l'aide de la commande scope <scope name> clearUnavailable.
nrcmd> scope scope1 clearUnavailable
Remarque : La commande scope <scope name> clearUnavailable est uniquement disponible dans CNR versions 5.x et ultérieures.
Accédez à DHCP > Scopes
Pour l'étendue contenant le bail, cliquez sur l'icône baux (les lunettes).
Dans la liste des baux, cliquez sur le bail que vous voulez rendre disponible.
Une fois que la fenêtre affiche les propriétés du bail, cliquez sur Forcer disponible.
Déterminez quand le bail est devenu indisponible :
Utilisez cette commande pour déterminer quand le bail a été rendu indisponible :
nrcmd> lease ip-address get start-time-of-state
Désactiver un bail :
Pour retirer un client d'un bail, vous pouvez choisir de désactiver le bail. Si le bail est disponible, désactivez-le pour empêcher le CN de le donner à un client. Si le bail est actif (détenu par un client), désactivez-le. Cela empêche le client de renouveler le bail et de le remettre à un autre client. Vous ne pouvez désactiver un bail que lorsque le serveur fonctionne. Le CN désactive immédiatement le bail; vous n'avez pas besoin de recharger le serveur DHCP. Si le bail est disponible, lorsque vous désactivez le bail, il devient indisponible ; s'il est actif, il devient indisponible pour le renouvellement ou tout bail initial.
Nombre total d'adresses disponibles :
Le nombre total d’adresses dans la plage d’étendue est égal à la somme de ces adresses : gratuit + dynamiquement loué + réservé + non disponible + désactivé + autre disponible.