====== Analyser une panne de serveur DHCP ======
Si vos postes clients n'arrivent plus à récupérer une adresse IP via DHCP votre serveur est peut-être en panne, ou un équipement réseau interdit peut-être le trafic DHCP…
Avant tout, lisez la documentation générale sur les principes du DHCP :
* [[https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol]] et
* [[https://fr.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|https://fr.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol]]
Le protocole DHCP utilise les ports 67 et 68 en UDP.
* Vérifier que le service dhcp "tourne" sur le serveur
ps ax | grep dhcpd
devrait vous retourner une ligne d'information au sujet du processus dhcp serveur :
23943 ? Ss 0:00 /usr/sbin/dhcpd3 -q -pf /var/run/dhcp3-server/dhcpd.pid -cf /etc/dhcp3/dhcpd.conf eth0
* Relancer le processus dhcp s'il n'est pas lancé
/etc/init.d/dhcp3-server restart
Vérifiez ensuite que le process tourne bien … avec la commande précédente.
* Analyser le fichier syslog pour "voir" ce qui se passe
tail -f /var/log/syslog
Cette commande ne vous rendra pas la main, elle affiche en temps réel tout ce qui s'ajoute dans le fichier log. Une fois cette commande lancée, vous pouvez par exemple relancer le service dhcp dans un autre terminal de commande : vous verrez alors apparaître les lignes concernant ce service qui redémarre. S'il y a un problème les informations affichées devraient vous aider à trouver la solution
Aug 24 12:50:34 servecole dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Aug 24 12:50:34 servecole dhcpd: Internet Systems Consortium DHCP Server V3.1.3
Aug 24 12:50:34 servecole dhcpd: Copyright 2004-2009 Internet Systems Consortium.
Aug 24 12:50:34 servecole dhcpd: All rights reserved.
Aug 24 12:50:34 servecole dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Aug 24 12:50:36 servecole dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Aug 24 12:50:36 servecole dhcpd: Internet Systems Consortium DHCP Server V3.1.3
Aug 24 12:50:36 servecole dhcpd: Copyright 2004-2009 Internet Systems Consortium.
Aug 24 12:50:36 servecole dhcpd: All rights reserved.
Aug 24 12:50:36 servecole dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Aug 24 12:50:36 servecole dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Aug 24 12:50:36 servecole dhcpd: Internet Systems Consortium DHCP Server V3.1.3
Aug 24 12:50:36 servecole dhcpd: Copyright 2004-2009 Internet Systems Consortium.
Aug 24 12:50:36 servecole dhcpd: All rights reserved.
Aug 24 12:50:36 servecole dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Aug 24 12:50:36 servecole dhcpd: Wrote 0 class decls to leases file.
Aug 24 12:50:36 servecole dhcpd: Wrote 0 deleted host decls to leases file.
Aug 24 12:50:36 servecole dhcpd: Wrote 0 new dynamic host decls to leases file.
Aug 24 12:50:36 servecole dhcpd: Wrote 0 leases to leases file.
Il en sera de même lorsqu'un ordinateur fera une requête DHCP sur le réseau, vous verrez des lignes ressemblant à celles-ci dans le fichier log :
Aug 23 14:17:03 servecole dhcpd: DHCPDISCOVER from 74:27:ea:c8:f6:6d via eth0
Aug 23 14:17:03 servecole dhcpd: DHCPOFFER on 192.168.10.84 to 74:27:ea:c8:f6:6d via eth0
Aug 23 14:17:03 servecole dhcpd: DHCPREQUEST for 192.168.10.84 (192.168.10.1) from 74:27:ea:c8:f6:6d via eth0
Aug 23 14:17:03 servecole dhcpd: DHCPACK on 192.168.10.84 to 74:27:ea:c8:f6:6d via eth0
Ce qui peut se comprendre par : « À 14h17 et 03 secondes, le poste dont l'adresse MAC est 74:27:ea:c8:f6:6d a fait une demande DHCP (DHCPDISCOVER). Le serveur lui a proposé l'adresse IP 192.168.10.84 (DHCPOFFER) que le client a confirmé par un DHCPREQUEST qui a été accepté par le serveur via le DHCPACK. » Relisez le principe de gestion du dhcp proposé en début de cet article si ce n'est pas assez clair.
* Si vous avez des DHCPDISCOVER ou des DHCPREQUEST (message en provenance du poste client), c'est que la DEMANDE dhcp arrive bien sur le serveur.
* Si vous avez des DHCPOFFER ou des DHCPACK (message du serveur à destination du client), c'est que la RÉPONSE dhcp est bien envoyée.
À vous de déduire ce qui ne marche pas, un switch qui filtre des ports UDP, un câble défectueux, un équipement réseau particulier…