Guide d'administration système : services IP

Chapitre 17 Résolution des problèmes DHCP (référence)

Ce chapitre vous aide à résoudre les problèmes que vous êtes susceptible de rencontrer lors de la configuration d'un serveur ou d'un client DHCP. Il propose également différentes solutions possibles aux problèmes d'utilisation de DHCP une fois la configuration terminée.

Il contient les informations suivantes :

Reportez-vous au Chapitre 14Configuration du service DHCP (tâches) pour plus d'informations sur la configuration de votre serveur DHCP. Pour plus d'informations sur la configuration de votre client DHCP, reportez-vous à la section Activation et désactivation d'un client DHCP Oracle Solaris.

Résolution des problèmes de serveur DHCP

Il existe deux grandes catégories de problèmes en matière de configuration du serveur :

Problèmes liés à NIS+ et au magasin de données DHCP

Si vous utilisez NIS+ en guise de magasin de données DHCP, voici les trois grands types de problème que vous êtes susceptible de rencontrer :

Impossible de sélectionner NIS+ comme magasin de données DHCP

Si vous essayez d'utiliser NIS+ comme magasin de données, il est possible que le gestionnaire DHCP ne vous propose pas ce choix. Si vous exécutez la commande dhcpconfig, vous risquez d'obtenir un message précisant que NIS+ ne semble ni être installé, ni en service. Ces deux symptômes signifient simplement que NIS+ n'a pas été configuré pour ce serveur, même si ce système d'information est pourtant utilisé sur le réseau. Pour pouvoir sélectionner NIS+ comme magasin de données, il convient de configurer le système serveur en tant que client NIS+.

Avant de définir le système serveur DHCP en tant que client NIS+, assurez-vous que les conditions suivantes sont réunies :

La section Setting Up NIS+ Client Machines du System Administration Guide: Naming and Directory Services (NIS+) explique de façon détaillée comment configurer un client NIS+.

NIS+ n'est pas configuré correctement pour le magasin de données DHCP

Lorsque vous utilisez le système d'information NIS+ avec DHCP, des erreurs risquent de produire si des modifications ont été apportées à NIS+. En effet, les changements peuvent provoquer des problèmes de configuration. Les explications suivantes vous aideront à déterminer l'origine de ces problèmes et d'y apporter des solutions.

Problème :

L'objet root n'existe pas dans le domaine NIS+.

Solution :

Tapez la commande suivante\~:

/usr/lib/nis/nisstat

Cette commande affiche des statistiques pour le domaine. Si l'objet root n'existe pas, aucune statistique n'est établie.

Configurez le domaine NIS+ à l'aide du System Administration Guide: Naming and Directory Services (NIS+) .

Problème :

NIS+ n'est pas pris en compte avec les informations passwd et publickey .

Solution :

Tapez la commande suivante pour afficher le fichier de configuration correspondant au commutateur du service de noms :

cat /etc/nsswitch.conf

Vérifiez les entrées passwd et publickey pour le mot-clé “nisplus”. Pour plus d'informations sur le commutateur du service de noms, reportez-vous au System Administration Guide: Naming and Directory Services (NIS+).

Problème :

Le nom de domaine est vide.

Solution :

Tapez la commande suivante\~:

domainname

Si la commande renvoie une chaîne vide, cela signifie qu'aucun nom de domaine n'a été défini pour le domaine. Utilisez des fichiers locaux pour votre magasin de données ou configurez un domaine NIS+ pour votre réseau. Reportez-vous au System Administration Guide: Naming and Directory Services (NIS+) .

Problème :

Le fichier NIS_COLD_START n'existe pas.

Solution :

Tapez la commande suivante sur le système serveur pour vérifier si le fichier existe :

cat /var/nis/NIS_COLD_START

Utilisez des fichiers locaux pour votre magasin de données ou créez un client NIS+. Reportez-vous au System Administration Guide: Naming and Directory Services (NIS+) .

Problèmes d'accès à NIS+ pour le magasin de données DHCP

Des problèmes d'accès à NIS+ risquent de générer des messages d'erreur relatifs à des informations d'identification DES incorrectes ou des autorisations de mise à jour de tables ou d'objets NIS+ non appropriées. Aidez-vous des explications suivantes pour déterminer la cause des erreurs d'accès NIS+ obtenues.

Problème :

Le système serveur DHCP ne dispose pas d'un droit de création sur l'objet org_dir dans le domaine NIS+.

Solution :

Tapez la commande suivante\~:


nisls -ld org_dir

Les droits d'accès sont présentés sous la forme r---rmcdrmcdr---. Les autorisations s'appliquent respectivement à personne, au propriétaire, au groupe et à tous. Le propriétaire de l'objet est indiqué à la suite.

En principe, l'objet répertoire org_dir garantit des droits complets à la fois au propriétaire et au groupe. Les droits complets offrent les possibilités suivantes : lecture, modification, création et destruction. L'objet répertoire org_dir accorde uniquement un accès en lecture aux classes world et nobody.

Le nom du serveur DHCP doit correspondre au propriétaire de l'objet org_dir ou à l'entité principale du groupe. Le groupe doit bénéficier d'un droit de création. Répertoriez les informations du groupe à l'aide de la commande :


nisls -ldg org_dir

Servez-vous de la commande nischmod pour changer les autorisations de org_dir, si cela est nécessaire. Pour accorder un droit de création au groupe, par exemple, tapez la commande suivante :


nischmod g+c org_dir

Pour plus d'informations, reportez-vous à la page de manuel nischmod(1).

Problème :

Le serveur DHCP ne dispose pas des droits d'accès lui permettant de créer une table sous l'objet org_dir.

Ce problème signifie généralement que le nom principal du système serveur n'est pas un membre du groupe propriétaire pour l'objet org_dir ou qu'aucun groupe propriétaire n'existe.

Solution :

Tapez la commande suivante pour identifier le nom du groupe propriétaire :


niscat -o org_dir

Recherchez une ligne similaire à la ligne suivante :

Group : "admin.example.com."

Affichez la liste des noms principaux dans le groupe à l'aide de la commande suivante :


nisgrpadm -l groupname

La commande suivante établit, par exemple, la liste des noms principaux du groupe admin.example.com :

nisgrpadm -l admin.example.com

Le nom du système serveur doit être répertorié comme un membre explicite du groupe ou faire partie des membres implicites du groupe. Si besoin est, ajoutez le nom du système serveur au groupe à l'aide de la commande nisgrpadm.

Pour inclure, par exemple, le nom du serveur pacific au groupe admin.example.com, tapez la commande suivante :


nisgrpadm -a admin.example.com pacific.example.com

Pour plus d'informations, reportez-vous à la page de manuel nisgrpadm(1).

Problème :

Le serveur DHCP ne dispose pas d'informations d'identification DES (Data Encryption Standard) valides dans la table NIS+ cred.

Solution :

En cas de problème d'identification, un message d'erreur indique que l'utilisateur ne possède pas d'informations d'identification DES dans le service de noms NIS+.

Servez-vous de la commande nisaddcred pour ajouter des informations d'identification de sécurité pour le système serveur DHCP.

L'exemple suivant montre comment ajouter des informations d'identification DES pour le système mercury dans le domaine example.com  :


nisaddcred -p unix.mercury@example.com \
-P mercury.example.com. DES example.com.

La commande invite l'utilisateur à spécifier le mot de passe root nécessaire à la création d'une clé secrète chiffrée.

Pour plus d'informations, reportez-vous à la page de manuel nisaddcred(1M).

Erreurs d'allocation d'adresses IP dans DHCP

Lorsqu'un client essaie d'obtenir ou de valider une adresse IP, il est possible que des erreurs soient consignées dans syslog ou dans la sortie du mode de débogage du serveur. Vous trouverez les causes et solutions possibles de ces problèmes dans la liste de messages d'erreur suivante.


There is no n.n.n.n dhcp-network table for DHCP client's network

Origine :

Un client demande une adresse IP spécifique ou cherche à prolonger le bail de son adresse IP actuelle. Le serveur DHCP ne parvient pas à trouver la table de réseau DHCP pour cette adresse.

Solution :

Il est possible que la table de réseau DHCP ait été supprimée par accident. Vous pouvez reconstituer la table de réseau en ajoutant à nouveau le réseau à l'aide du gestionnaire DHCP ou de la commande dhcpconfig.


ICMP ECHO reply to OFFER candidate: n.n.n.n, disabling

Origine :

L'adresse IP proposée à un client DHCP est déjà utilisée. Ce problème risque de se produire lorsque plusieurs serveurs DHCP sont propriétaires de l'adresse ou si l'adresse a été configurée manuellement pour un client réseau non DHCP.

Solution :

Identifiez le véritable propriétaire de l'adresse. Corrigez la base de données du serveur DHCP ou la configuration réseau de l'hôte.


ICMP ECHO reply to OFFER candidate: n.n.n.n. No corresponding dhcp network record.

Origine :

L'adresse IP proposée à un client DHCP ne possède pas d'enregistrement dans une table du réseau. Cette erreur indique que l'enregistrement de l'adresse IP a été supprimé de la table du réseau DHCP après la sélection de l'adresse. Elle peut survenir uniquement pendant la brève période qui précède la vérification des adresses en double.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour afficher la table du réseau DHCP. Si l'adresse IP n'y figure pas, créez-la à l'aide du gestionnaire DHCP en choisissant la commande Create dans le menu Edit de l'onglet Addresse. Vous pouvez également générer l'adresse IP au moyen de la commande pntadm.


DHCP network record for n.n.n.nis unavailable, ignoring request.

Origine :

Comme l'enregistrement correspondant à l'adresse IP demandée ne figure pas dans la table de réseau DHCP, le serveur abandonne la requête.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour afficher la table du réseau DHCP. Si l'adresse IP n'y figure pas, créez-la à l'aide du gestionnaire DHCP en choisissant la commande Create dans le menu Edit de l'onglet Addresse. Vous pouvez également générer l'adresse au moyen de la commande pntadm.


n.n.n.n currently marked as unusable.

Origine :

Il est impossible d'offrir l'adresse IP demandée, car elle est marquée comme inutilisable dans la table du réseau.

Solution :

Vous pouvez utiliser le gestionnaire DHCP ou la commande pntadm afin de rendre l'adresse utilisable.


n.n.n.n was manually allocated. No dynamic address will be allocated.

Origine :

Une adresse allouée de façon manuelle a été assignée à l'ID de client. Or, cette adresse est marquée comme inutilisable. Le serveur ne peut pas allouer une autre adresse à ce client.

Solution :

Vous pouvez utiliser le gestionnaire DHCP ou de la commande pntadm pour rendre l'adresse utilisable ou allouer manuellement une autre adresse au client.


Manual allocation (n.n.n.n, client ID) has n other records. Should have 0.

Origine :

Plusieurs adresses IP ont été assignées manuellement au client possédant l'ID de client spécifié. Une seule adresse doit être attribuée au client. Le serveur sélectionne la dernière adresse assignée manuellement qu'il trouve dans la table de réseau.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour modifier les adresses IP en vue de supprimer les allocations manuelles supplémentaires.


No more IP addresses on n.n.n.nnetwork.

Origine :

Toutes les adresses IP gérées actuellement par DHCP sur le réseau spécifié ont été allouées.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour définir de nouvelles adresses IP pour ce réseau.


Client: clientid lease on n.n.n.n expired.

Origine :

Le bail n'était pas négociable et a expiré.

Solution :

Le client doit redémarrer automatiquement le protocole pour obtenir un nouveau bail.


Offer expired for client: n.n.n.n

Origine :

Le serveur propose une adresse IP au client, mais comme le client n'a pas répondu assez vite, l'offre a expiré.

Solution :

Le client doit émettre automatiquement un nouveau message de découverte. Si ce message n'aboutit pas non plus, augmentez le délai d'expiration des offres dans la mémoire cache du serveur DHCP. Choisissez Modify dans le menu Service du gestionnaire DHCP.


Client: clientid REQUEST is missing requested IP option.

Origine :

Comme la requête du client ne correspondait pas à l'adresse IP proposée, le serveur DHCP a ignoré la demande. Cela peut se produire lorsque vous utilisez un client DHCP tiers non conforme au protocole DHCP mis à jour (RFC 2131).

Solution :

Mettez à jour le logiciel client.


Client: clientid is trying to renew n.n.n.n, an IP address it has not leased.

Origine :

L'adresse IP pour ce client dans la table de réseau DHCP ne correspond pas à l'adresse IP que le client a spécifiée dans sa demande de renouvellement. Le serveur DHCP ne peut donc pas renouveler le bail de l'adresse IP. Ce problème peut se produire lorsque vous supprimez l'enregistrement d'un client alors que ce dernier fait encore usage de l'adresse IP.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour examiner la table de réseau et corriger l'enregistrement du client, si besoin est. L'ID de client doit être lié à l'adresse IP indiquée. Si ce n'est pas le cas, modifiez les propriétés de l'adresse pour ajouter l'ID de client.


Client: clientid is trying to verify unrecorded address: n.n.n.n, ignored.

Origine :

Le client spécifié n'a pas été enregistré dans la table de réseau DHCP avec cette adresse. La requête est donc ignorée par ce serveur DHCP.

Il est possible qu'un autre serveur DHCP sur le réseau ait assigné l'adresse à ce client ou que vous ayez supprimé l'enregistrement du client alors qu'il continuait à utiliser l'adresse IP.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour examiner la table de réseau sur ce serveur et sur tous les autres serveurs DHCP du réseau. Apportez les corrections nécessaires.

Vous pouvez également laisser le bail expirer. Le client effectue automatiquement une demande de renouvellement.

Pour que le client obtienne immédiatement un nouveau bail, redémarrez le protocole DHCP sur le client en tapant les commandes suivantes :


ifconfig interface dhcp release
ifconfig interface dhcp start

Résolution des problèmes de configuration d'un client DHCP

Il existe deux grandes catégories de problèmes avec un client DHCP :

Problèmes de communication avec le serveur DHCP

Cette section décrit les problèmes que vous risquez de rencontrer lors de l'ajout de clients DHCP au réseau.

Après avoir activé le logiciel client et redémarré le système, le client essaie d'établir une liaison avec le serveur DHCP afin de connaître sa configuration réseau. S'il n'y parvient pas, voici les messages d'erreur que vous êtes susceptible d'obtenir :


DHCP or BOOTP server not responding 

    Pour déterminer l'origine du problème, vous devez réunir les éléments de diagnostic nécessaires à partir du client et du serveur. Les tâches suivantes vous seront très utiles à ce titre :

  1. Exécution du client DHCP en mode de débogage

  2. Exécution du serveur DHCP en mode de débogage

  3. Contrôle du trafic sur le réseau DHCP à l'aide de snoop

Vous pouvez réaliser ces tâches ensemble ou indépendamment les unes des autres.

Les informations que vous collectez permettent de savoir si le problème est lié au client, au serveur ou à un agent de relais. Une fois l'origine du problème identifiée, vous pourrez appliquer la solution qui convient.

ProcedureExécution du client DHCP en mode de débogage

Si le client n'est pas un client DHCP Oracle Solaris, reportez-vous à la documentation du client pour savoir comment exécuter le client en mode de débogage.

Si vous disposez d'un client DHCP Solaris, procédez de la façon suivante :

  1. Connectez-vous au système client DHCP en tant que superutilisateur.

  2. Détruisez le démon client DHCP.


    # pkill -x dhcpagent
    
  3. Redémarrez le démon en mode de débogage.


    # /sbin/dhcpagent -d1 -f &
    

    Le commutateur -d fait passer le client DHCP en mode de débogage avec un détail de niveau 1. Le commutateur -f permet de diriger la sortie vers la console au lieu de syslog.

  4. Configurez l'interface en vue de lancer la négociation DHCP.


    # ifconfig interface dhcp start
    

    Remplacez interface par le nom de l'interface réseau du client, tel que ge0.

    En mode de débogage, le démon du client affiche les messages à l'écran pendant l'exécution des requêtes DHCP. Pour plus d'informations sur la sortie du mode de débogage client, reportez-vous à la section Sortie du client DHCP en mode de débogage.

ProcedureExécution du serveur DHCP en mode de débogage

  1. Connectez-vous au système serveur en tant que superutilisateur.

  2. Arrêtez temporairement le serveur DHCP.


    # svcadm disable -t svc:/network/dhcp-server
    

    Vous pouvez également arrêter le serveur à l'aide du gestionnaire DHCP ou de la commande dhcpconfig.

  3. Redémarrez le démon en mode de débogage.


    # /usr/lib/inet/in.dhcpd -d -v
    

    N'oubliez pas d'insérer les options de ligne de commande in.dhcpd que vous utilisez normalement lors de l'exécution du démon. Si vous lancez, par exemple, le démon en tant qu'agent de relais BOOTP, pensez à associer l'option -r à la commande in.dhcpd -d -v.

    En mode de débogage, le démon affiche les messages à l'écran pendant le traitement des requêtes DHCP ou BOOTP. Pour plus d'informations sur la sortie du mode de débogage serveur, reportez-vous à la section Sortie du serveur DHCP en mode de débogage .

ProcedureContrôle du trafic sur le réseau DHCP à l'aide de snoop

  1. Connectez-vous au système serveur DHCP en tant que superutilisateur.

  2. Lancez la commande snoop pour commencer le suivi du trafic sur le réseau via l'interface réseau du serveur.


    # /usr/sbin/snoop -d interface -o snoop-output-filename udp port 67 or udp port 68
    

    Par exemple, vous entrez la commande suivante :


    #  /usr/sbin/snoop -d hme0 -o /tmp/snoop.output udp port 67 or udp port 68
    

    snoop continue à contrôler l'interface tant que vous n'arrêtez pas snoop en appuyant sur Contrôle-C une fois que vous avez collecté les informations requises.

  3. Initialisez le système client ou relancez dhcpagent sur le système client.

    La section Exécution du client DHCP en mode de débogage explique comment redémarrer dhcpagent.

  4. Exécutez snoop sur le système serveur pour afficher les paquets du réseau consignés dans le fichier de sortie :


    # /usr/sbin/snoop -i snoop-output-filename -x0 -v
    

    Par exemple, vous entrez la commande suivante :

    # /usr/sbin/snoop -i /tmp/snoop.output -x0 -v
    
Voir aussi

Pour savoir comment interpréter la sortie, reportez-vous à la section Sortie snoop DHCP.

Sortie du client DHCP en mode de débogage

L'exemple suivant présente une sortie normale correspondant à la situation suivante : un client DHCP en mode de débogage envoie sa requête DHCP et reçoit ses données de configuration à partir d'un serveur DHCP.


Exemple 17–1 Sortie normale du client DHCP en mode de débogage


/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter) 
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: insert_ifs: hme0: sdumax 1500, optmax 1260, hwtype 1, hwlen 6 
/sbin/dhcpagent: debug: insert_ifs: inserted interface hme0 
/sbin/dhcpagent: debug: register_acknak: registered acknak id 5 
/sbin/dhcpagent: debug: unregister_acknak: unregistered acknak id 5 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x26018 (ARP reply filter)
/sbin/dhcpagent: info: setting IP netmask on hme0 to 255.255.192.0 
/sbin/dhcpagent: info: setting IP address on hme0 to 10.23.3.233 
/sbin/dhcpagent: info: setting broadcast address on hme0 to 10.23.63.255 
/sbin/dhcpagent: info: added default router 10.23.0.1 on hme0 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x28054 (blackhole filter) 
/sbin/dhcpagent: debug: configure_if: bound ifsp->if_sock_ip_fd 
/sbin/dhcpagent: info: hme0 acquired lease, expires Tue Aug 10 16:18:33 2006 
/sbin/dhcpagent: info: hme0 begins renewal at Tue Aug 10 15:49:44 2006 
/sbin/dhcpagent: info: hme0 begins rebinding at Tue Aug 10 16:11:03 2006

Si le client ne parvient pas à joindre le serveur DHCP, il est possible que la sortie du mode de débogage affichée à l'écran soit similaire à la sortie illustrée dans l'exemple qui suit.


Exemple 17–2 Sortie signalant un problème du client DHCP en mode de débogage


/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter)
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
 

Si vous voyez ce message, cela signifie que la requête du client n'a jamais atteint le serveur ou que le serveur n'est pas en mesure d'envoyer une réponse au client. Exécutez snoop sur le serveur comme indiqué à la section Contrôle du trafic sur le réseau DHCP à l'aide de snoop afin de déterminer si des paquets provenant du client sont parvenus au serveur.

Sortie du serveur DHCP en mode de débogage

La sortie normale du serveur en mode de débogage présente les informations de configuration du serveur suivies des données relatives à chaque interface réseau au démarrage du démon. À l'issue du démarrage du démon, la sortie du mode de débogage affiche les informations relatives aux requêtes traitées par le démon. L'Exemple 17–3 illustre la sortie du mode de débogage pour un serveur DHCP venant d'être démarré. Le serveur prolonge le bail pour un client utilisant une adresse appartenant à un autre serveur DHCP qui ne répond pas.


Exemple 17–3 Sortie normale pour le serveur DHCP en mode de débogage


Daemon Version: 3.1  
Maximum relay hops: 4  
Transaction logging to console enabled.  
Run mode is: DHCP Server Mode.  
Datastore: nisplus  
Path: org_dir.dhcp.test..:dhcp.test..:$ 
DHCP offer TTL: 10  
Ethers compatibility enabled.  
BOOTP compatibility enabled.  
ICMP validation timeout: 1000 milliseconds, Attempts: 2.  
Monitor (0005/hme0) started...  
Thread Id: 0005 - Monitoring Interface: hme0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.21.255.255 
Netmask: 255.255.0.0  
Address: 10.21.0.2  
Monitor (0006/nf0) started...  
Thread Id: 0006 - Monitoring Interface: nf0 *****  
MTU: 4352      Type: DLPI  
Broadcast: 10.22.255.255  
Netmask: 255.255.0.0  
Address: 10.22.0.1  
Monitor (0007/qfe0) started...  
Thread Id: 0007 - Monitoring Interface: qfe0 *****  
MTU: 1500      Type: DLPI   
Broadcast: 10.23.63.255  
Netmask: 255.255.192.0  
Address: 10.23.0.1  
Read 33 entries from DHCP macro database on Tue Aug 10 15:10:27 2006 
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4 
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4  
Datagram received on network device: qfe0  
Client: 0800201DBA3A is requesting verification of address owned by 10.21.0.4  
Datagram received on network device: qfe0  
Client: 0800201DBA3A maps to IP: 10.23.3.233  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A  
DHCP EXTEND 0934312543 0934316143 10.23.3.233 10.21.0.2 
          0800201DBA3A SUNW.Ultra-5_10 0800201DBA3A

L'Exemple 17–4 illustre la sortie du mode de débogage d'un démon DHCP exécuté en tant qu'agent de relais BOOTP. L'agent transfère les requêtes d'un client vers un serveur DHCP et relaie les réponses du serveur au client.


Exemple 17–4 Sortie normale d'un agent de relais BOOTP en mode de débogage


Relay destination: 10.21.0.4 (blue-servr2)     network: 10.21.0.0  
Daemon Version: 3.1  
Maximum relay hops: 4  
Transaction logging to console enabled.  
Run mode is: Relay Agent Mode.  
Monitor (0005/hme0) started...  
Thread Id: 0005 - Monitoring Interface: hme0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.21.255.255  
Netmask: 255.255.0.0  
Address: 10.21.0.2  
Monitor (0006/nf0) started...  
Thread Id: 0006 - Monitoring Interface: nf0 *****  
MTU: 4352      Type: DLPI  
Broadcast: 10.22.255.255  
Netmask: 255.255.0.0  
Address: 10.22.0.1  
Monitor (0007/qfe0) started...  
Thread Id: 0007 - Monitoring Interface: qfe0 *****  
MTU: 1500      Type: DLPI  
Broadcast: 10.23.63.255  
Netmask: 255.255.192.0  
Address: 10.23.0.1  
Relaying request 0800201DBA3A to 10.21.0.4, server port.  
BOOTP RELAY-SRVR 0934297685 0000000000 0.0.0.0 10.21.0.4 0800201DBA3A 
N/A 0800201DBA3A  
Packet received from relay agent: 10.23.0.1  
Relaying reply to client 0800201DBA3A  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A  
BOOTP RELAY-CLNT 0934297688 0000000000 10.23.0.1 10.23.3.233 0800201DBA3A 
N/A 0800201DBA3A  
Relaying request 0800201DBA3A to 10.21.0.4, server port.  
BOOTP RELAY-SRVR 0934297689 0000000000 0.0.0.0 10.21.0.4 0800201DBA3A 
N/A 0800201DBA3A  
Packet received from relay agent: 10.23.0.1  
Relaying reply to client 0800201DBA3A  
Unicasting datagram to 10.23.3.233 address.  
Adding ARP entry: 10.23.3.233 == 0800201DBA3A 
 

Si vous constatez un problème avec DHCP, voici les avertissements ou messages d'erreur susceptibles d'être affichés dans la sortie du mode de débogage. Recherchez la solution appropriée dans la liste des messages d'erreur DHCP.


ICMP ECHO reply to OFFER candidate: adresse_ip disabling

Origine :

Avant de proposer une adresse IP à un client, le serveur DHCP effectue un test ping lors de l'envoi de l'adresse pour s'assurer que l'adresse n'est pas déjà utilisée. Si un client répond, cela signifie que l'adresse est effectivement utilisée.

Solution :

Vérifiez si l'adresse que vous avez configurée est libre. Vous pouvez, pour ce faire, exécuter la commande ping. Pour plus d'informations, reportez-vous à la page de manuel ping(1M).


No more IP addresses on adresse-réseau network.

Origine :

Aucune adresse IP n'est disponible dans la table de réseau DHCP associée au réseau du client.

Solution :

Créez d'autres d'adresses IP avec le gestionnaire DHCP ou à l'aide de la commande pntadm. Si le démon DHCP est chargé de contrôler plusieurs sous-réseaux, assurez-vous que les adresses supplémentaires s'appliquent au sous-réseau où figure le client. Pour plus d'informations, reportez-vous à la section Ajout d'adresses IP au service DHCP.


No more IP addresses for adresse-réseau network when you are running the DHCP daemon in BOOTP compatibility mode.

Origine :

BOOTP n'applique pas de durée de bail. Aussi, le serveur DHCP recherche des adresses libres dont l'indicateur BOOTP permet leur allocation aux clients BOOTP.

Solution :

Servez-vous du gestionnaire DHCP pour allouer des adresses BOOTP. Voir Prise en charge des clients BOOTP via le service DHCP (liste des tâches).


Demande d'accès à une base de données réseau inexistante : nom-base-de-données dans le magasin de données : magasin-de-données.

Origine :

Lors de la configuration du serveur DHCP, la table de réseau DHCP d'un sous-réseau n'a pas été créée.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour créer la table de réseau DHCP et définir de nouvelles adresses IP. Voir Ajout de réseaux DHCP.


There is no nom-table dhcp-network table for DHCP client's network.

Origine :

Lors de la configuration du serveur DHCP, la table de réseau DHCP d'un sous-réseau n'a pas été créée.

Solution :

Servez-vous du gestionnaire DHCP ou de la commande pntadm pour créer la table de réseau DHCP et définir de nouvelles adresses IP. Voir Ajout de réseaux DHCP.


Client using non_RFC1048 BOOTP cookie.

Origine :

Un périphérique du réseau essaie d'accéder à une implémentation non prise en charge de BOOTP.

Solution :

Ignorez ce message, sauf si vous avez besoin de configurer ce périphérique. Pour savoir comment prendre en charge ce périphérique, reportez-vous à la section Prise en charge des clients BOOTP via le service DHCP (liste des tâches).

Sortie snoop DHCP

Dans la sortie snoop, assurez-vous que les paquets sont échangés entre le système client DHCP et le système serveur DHCP. L'adresse IP pour chaque système est indiquée dans chaque paquet. Les adresses IP des routeurs ou des agents de relais dans le chemin du paquet sont également mentionnées. Si vous constatez que les systèmes n'échangent pas de paquets, il est probable que le système client ne soit pas en mesure d'établir le contact avec le système serveur. Le problème se produit donc à un niveau inférieur.

Pour évaluer la sortie snoop, vous devez connaître le comportement normal de la commande. Vous devez, par exemple, savoir si la requête transite par un agent de relais BOOTP. Il est essentiel, en outre, de connaître les adresses MAC et l'adresse IP des systèmes impliqués de façon à déterminer si ces valeurs sont celles que vous attendiez. S'il existe plusieurs interfaces réseau, vous devez également connaître leurs adresses.

L'exemple suivant présente une sortie snoop normale pour un accusé de réception DHCP transmis depuis le serveur DHCP sur blue-servr2 à destination d'un client dont l'adresse MAC est 8:0:20:8e:f3:7e . Dans l'accusé de réception, le serveur alloue au client l'adresse IP 192.168.252.6 et le nom d'hôte white-6. Y figurent également un certain nombre d'options de réseau standard et plusieurs options spécifiques au fournisseur pour le client.


Exemple 17–5 Exemple de sortie snoop pour un paquet


ETHER:  ----- Ether Header ----- 
ETHER:   
ETHER:  Packet 26 arrived at 14:43:19.14 
ETHER:  Packet size = 540 bytes 
ETHER:  Destination = 8:0:20:8e:f3:7e, Sun 
ETHER:  Source      = 8:0:20:1e:31:c1, Sun 
ETHER:  Ethertype = 0800 (IP) 
ETHER:  
IP:   ----- IP Header ----- 
IP:    
IP:   Version = 4 
IP:   Header length = 20 bytes 
IP:   Type of service = 0x00 
IP:         xxx. .... = 0 (precedence) 
IP:         ...0 .... = normal delay 
IP:         .... 0... = normal throughput 
IP:         .... .0.. = normal reliability 
IP:   Total length = 526 bytes 
IP:   Identification = 64667 
IP:   Flags = 0x4 IP:         .1.. .... = do not fragment 
IP:         ..0. .... = last fragment 
IP:   Fragment offset = 0 bytes 
IP:   Time to live = 254 seconds/hops 
IP:   Protocol = 17 (UDP) 
IP:   Header checksum = 157a 
IP:   Source address = 10.21.0.4, blue-servr2 
IP:   Destination address = 192.168.252.6, white-6 
IP:   No options 
IP:   UDP:  ----- UDP Header ----- 
UDP:   
UDP:  Source port = 67 
UDP:  Destination port = 68 (BOOTPC) 
UDP:  Length = 506  
UDP:  Checksum = 5D4C  
UDP:  
DHCP: ----- Dynamic Host Configuration Protocol ----- 
DHCP:  
DHCP: Hardware address type (htype) =  1 (Ethernet (10Mb)) 
DHCP: Hardware address length (hlen) = 6 octets 
DHCP: Relay agent hops = 0 
DHCP: Transaction ID = 0x2e210f17 
DHCP: Time since boot = 0 seconds 
DHCP: Flags = 0x0000 
DHCP: Client address (ciaddr) = 0.0.0.0 
DHCP: Your client address (yiaddr) = 192.168.252.6 
DHCP: Next server address (siaddr) = 10.21.0.2 
DHCP: Relay agent address (giaddr) = 0.0.0.0 
DHCP: Client hardware address (chaddr) = 08:00:20:11:E0:1B 
DHCP:  
DHCP: ----- (Options) field options ----- 
DHCP:  
DHCP: Message type = DHCPACK 
DHCP: DHCP Server Identifier = 10.21.0.4 
DHCP: Subnet Mask = 255.255.255.0 
DHCP: Router at = 192.168.252.1 
DHCP: Broadcast Address = 192.168.252.255 
DHCP: NISPLUS Domainname = dhcp.test 
DHCP: IP Address Lease Time = 3600 seconds 
DHCP: UTC Time Offset = -14400 seconds 
DHCP: RFC868 Time Servers at = 10.21.0.4 
DHCP: DNS Domain Name = sem.example.com 
DHCP: DNS Servers at = 10.21.0.1 
DHCP: Client Hostname = white-6 
DHCP: Vendor-specific Options (166 total octets): 
DHCP:   (02) 04 octets  0x8194AE1B (unprintable) 
DHCP:   (03) 08 octets  "pacific" 
DHCP:   (10) 04 octets  0x8194AE1B (unprintable) 
DHCP:   (11) 08 octets  "pacific" 
DHCP:   (15) 05 octets  "xterm" 
DHCP:   (04) 53 octets  "/export/s2/base.s2s/latest/Solaris_8/Tools/Boot" 
DHCP:   (12) 32 octets  "/export/s2/base.s2s/latest" 
DHCP:   (07) 27 octets  "/platform/sun4u/kernel/unix" 
DHCP:   (08) 07 octets  "EST5EDT" 
  0: 0800 208e f37e 0800 201e 31c1 0800 4500    .. .ó~.. .1...E.
 16: 020e fc9b 4000 fe11 157a ac15 0004 c0a8    ....@....z......           
 32: fc06 0043 0044 01fa 5d4c 0201 0600 2e21    ...C.D..]L.....!           
 48: 0f17 0000 0000 0000 0000 c0a8 fc06 ac15    ................           
 64: 0002 0000 0000 0800 2011 e01b 0000 0000    ........ .......           
 80: 0000 0000 0000 0000 0000 0000 0000 0000    ................           
 96: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
112: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
128: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
144: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
160: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
176: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
192: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
208: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
224: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
240: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
256: 0000 0000 0000 0000 0000 0000 0000 0000    ................          
272: 0000 0000 0000 6382 5363 3501 0536 04ac    ......c.Sc5..6..          
288: 1500 0401 04ff ffff 0003 04c0 a8fc 011c    ................          
304: 04c0 a8fc ff40 0964 6863 702e 7465 7374    .....@.dhcp.test          
320: 3304 0000 0e10 0204 ffff c7c0 0404 ac15    3...............          
336: 0004 0f10 736e 742e 6561 7374 2e73 756e    ....sem.example.          
352: 2e63 6f6d 0604 ac15 0001 0c07 7768 6974    com.........whit          
368: 652d 362b a602 0481 94ae 1b03 0861 746c    e-6+.........pac          
384: 616e 7469 630a 0481 94ae 1b0b 0861 746c    ific.........pac          
400: 616e 7469 630f 0578 7465 726d 0435 2f65    ific...xterm.5/e          
416: 7870 6f72 742f 7332 382f 6261 7365 2e73    xport/sx2/bcvf.s          
432: 3238 735f 776f 732f 6c61 7465 7374 2f53    2xs_btf/latest/S          
448: 6f6c 6172 6973 5f38 2f54 6f6f 6c73 2f42    olaris_x/Tools/B          
464: 6f6f 740c 202f 6578 706f 7274 2f73 3238    oot. /export/s2x          
480: 2f62 6173 652e 7332 3873 5f77 6f73 2f6c    /bcvf.s2xs_btf/l         
496: 6174 6573 7407 1b2f 706c 6174 666f 726d    atest../platform          
512: 2f73 756e 346d 2f6b 6572 6e65 6c2f 756e    /sun4u/kernel/un          
528: 6978 0807 4553 5435 4544 54ff              ix..EST5EDT.  

Problèmes liés à des données de configuration DHCP inexactes

Si un client DHCP reçoit des informations de configuration de réseau inexactes, examinez les données du serveur DHCP. Vérifiez les valeurs des options dans les macros traitées par le serveur DHCP pour ce client. Il est possible, par exemple, que le nom du domaine NIS ou l'adresse IP du routeur soient incorrects.

Pour déterminer la source des erreurs, appliquez la procédure suivante :

Problèmes liés aux noms d'hôtes fournis par les clients DHCP

Cette section décrit les problèmes posés parfois par les clients DHCP qui fournissent leurs propres noms d'hôtes en vue de les enregistrer auprès du DNS.

Le client DHCP ne demande par de nom d'hôte

Si votre client n'est pas un client DHCP Oracle Solaris, reportez-vous à la documentation du client pour savoir comment configurer le client afin de demander un nom d'hôte. Pour les clients DHCP Oracle Solaris, reportez-vous à la section Activation d'un client DHCPv4 Oracle Solaris pour une demande de nom d'hôte spécifique.

Le client DHCP n'obtient pas le nom d'hôte demandé

La liste suivante récapitule les différents problèmes qu'un client risque d'avoir pour obtenir le nom d'hôte demandé et suggère les solutions appropriées.

Problème :

Le client a accepté une offre d'un serveur DHCP qui n'émet pas de mises à jour DNS.

Solution :

Si le client a accès à deux serveurs DHCP, ils doivent tous les deux être configurés pour fournir des mises à jour DNS. Pour plus d'informations sur la configuration du serveur DHCP et du serveur DNS, reportez-vous à la section Activation des mises à jour DNS dynamiques par un serveur DHCP.

Pour savoir si le serveur DHCP est configuré pour fournir des mises à jour DNS :

  1. Déterminez l'adresse IP du serveur DHCP du client. Sur le système client, utilisez snoop ou une autre application afin de capturer les paquets du réseau. Pour ce faire, reportez-vous à la section Contrôle du trafic sur le réseau DHCP à l'aide de snoop et effectuez la procédure sur le client au lieu du serveur. Dans la sortie snoop, examinez l'identificateur du serveur DHCP pour connaître l'adresse IP du serveur.

  2. Connectez-vous au système serveur DHCP pour vérifier si système est configuré pour assurer des mises à jour DNS. Tapez la commande suivante en tant que superutilisateur :

    dhcpconfig -P

    Si UPDATE_TIMEOUT est répertorié comme un paramètre serveur, cela signifie que le serveur DHCP est configuré pour proposer des mises à jour DNS.

  3. Sur le serveur DNS, ouvrez le fichier /etc/named.conf. Recherchez le mot-clé allow-update dans la section zone du domaine approprié. Si le serveur autorise des mises à jour DNS par le serveur DHCP, l'adresse IP du serveur DHCP est indiquée dans le mot-clé allow-update.

Problème :

Le client utilise l'option FQDN pour spécifier le nom d'hôte. Le service DHCP Oracle Solaris ne prend actuellement pas en charge l'option FQDN, car elle ne fait pas officiellement partie du protocole DHCP.

Solution :

Sur le serveur, utilisez snoop ou une autre application afin de capturer les paquets du réseau. Pour ce faire, reportez-vous à la section Contrôle du trafic sur le réseau DHCP à l'aide de snoop. Dans la sortie snoop, recherchez l'option FQDN dans un des paquets provenant du client.

Configurez le client pour qu'il spécifie le nom d'hôte au moyen de l'option Hostname. Hostname a le code d'option 12. Reportez-vous à documentation du client pour obtenir des instructions.

Pour les clients DHCP Oracle Solaris, reportez-vous à la section Activation d'un client DHCPv4 Oracle Solaris pour une demande de nom d'hôte spécifique.

Problème :

Le serveur DHCP qui propose une adresse au client ne connaît pas le domaine DNS du client.

Solution :

Sur le serveur DHCP, recherchez l'option DNSdmain avec une valeur valide. Donnez à l'option DNSdmain un nom de domaine DNS correct au sein d'une macro traitée pour ce client. DNSdmain figure généralement dans la macro de réseau. Pour savoir comment changer les valeurs des options dans une macro, reportez-vous à la section Modification des macros DHCP.

Problème :

Le nom d'hôte demandé par le client correspond à une adresse IP non gérée par le serveur DHCP. Le serveur DHCP Oracle Solaris n'effectue aucune mise à jour DNS pour les adresses IP non gérées par ce dernier.

Solution :

Vérifiez si syslog contient l'un des messages suivants émis par le serveur DHCP :

Configurez le client pour qu'il demande un autre nom. Reportez-vous à la section Activation d'un client DHCPv4 Oracle Solaris pour une demande de nom d'hôte spécifique. Choisissez un nom mappé vers une adresse gérée par le serveur DHCP. Les mappages d'adresses sont répertoriés dans l'onglet Addresses du gestionnaire DHCP. Une autre solution consiste à choisir une adresse non mappée vers une adresse IP.

Problème :

Le nom d'hôte demandé par le client correspond à une adresse IP qui n'est pas disponible actuellement. Il est possible que l'adresse soit en service, allouée à un autre client ou en cours de proposition à un autre client.

Solution :

Vérifiez si syslog contient le message suivant émis par le serveur DHCP : ICMP ECHO reply to OFFER candidate: n.n.n.n.

Configurez le client pour qu'il choisisse un nom correspondant à une autre adresse IP. Vous pouvez également récupérer l'adresse à partir du client qui utilise l'adresse en question.

Problème :

Le serveur DNS n'est pas configuré pour accepter les mises à jour à partir du serveur DHCP.

Solution :

Examinez le contenu du fichier /etc/named.conf sur le serveur DNS. Recherchez l'adresse IP du serveur DHCP indiquée dans le mot-clé allow-update dans la section zone correspondant au domaine du serveur DHCP. Si l'adresse IP n'y figure pas, cela signifie que le serveur DNS n'est pas configuré pour accepter les mises à jour à partir du serveur DHCP.

Pour plus d'informations sur la configuration du serveur DNS, reportez-vous à la section Activation de la mise à jour DNS dynamique pour les clients DHCP.

Si le serveur DHCP dispose de plusieurs interfaces, vous devrez éventuellement configurer le serveur DNS afin qu'il accepte les mises à jour provenant de toutes les adresses du serveur DHCP. Activez le débogage sur le serveur DNS pour vérifier si les mises à jour parviennent au serveur DNS. Si le serveur DNS reçoit des demandes de mise à jour, examinez la sortie du mode de débogage pour identifier l'origine du problème. Pour plus d'informations sur le mode de débogage DNS, reportez-vous à la page de manuel in.named.1M.

Problème :

Les mises à jour DNS n'ont peut-être pas été réalisées dans le temps imparti. Les serveurs DHCP ne renvoient pas les noms d'hôtes aux clients si les mises à jour DNS n'ont pas été effectuées dans les délais prévus. Les tentatives de mise à jour DNS continuent néanmoins.

Solution :

Servez-vous de la commande nslookup pour déterminer si les mises à jour ont été accomplies correctement. Voir la page de manuel nslookup(1M).

Supposons, par exemple, que le domaine DNS soit hills.example.org et que l'adresse IP du serveur DNS soit 10.76.178.11. Le nom d'hôte que le client souhaite enregistrer est cathedral. Voici la commande qui permettrait de savoir si cathedral a été enregistré auprès de ce serveur DNS :

nslookup cathedral.hills.example.org 10.76.178.11

Si les mises à jour ont été menées à terme, mais pas dans le temps imparti, il convient d'augmenter le délai fixé. Voir Activation de la mise à jour DNS dynamique pour les clients DHCP. Lors de cette procédure, augmentez le délai d'attente (en secondes) des réponses provenant du serveur DNS avant expiration.