Comment voir ce que fait le client DHCP?


14
  • Le client DHCP sur Linux écrit-il des journaux?
  • Sinon, les journaux peuvent-ils être activés et comment?
  • S'il écrit des journaux, où les trouver?
  • À quoi ressemble un journal typique d'un client DHCP lors de l'obtention d'IP et de serveurs de noms à partir d'un serveur DHCP?
  • Où puis-je trouver le code source du client DHCP?

Dans le cas où il existe des différences pertinentes entre Linux: Je suis intéressé par Debian 8.1 (installation minimale par défaut amd64).


1
Vous devrez être plus précis que "le client DHCP sur Linux". Il existe de nombreux clients DHCP différents pour Linux et ils se connectent tous de différentes manières. Il y en a probablement un par défaut pour Debian 8.1 bien que je ne me souvienne pas de quoi il s'agit.
qasdfdsaq

Client DHCP Internet Systems Consortium 4.3.1 Copyright 2004-2014 Internet Systems Consortium. Tous les droits sont réservés. Pour plus d'informations, veuillez visiter isc.org/software/dhcp
Gustave

Réponses:


7

Le client DHCP d'ISC est généralement appelé dhclientdans la plupart des distributions Linux. De man dhclient:

Le client n'imprime normalement aucune sortie pendant sa séquence de démarrage. Il peut être fait pour émettre des messages verbeux affichant les événements de séquence de démarrage jusqu'à ce qu'il ait acquis une adresse en fournissant l'argument de ligne de commande -v. Dans les deux cas, le client consigne les messages à l'aide de la fonction syslog (3).

Il existe deux façons de lire votre journal système. Sur la plupart des systèmes qui utilisent systemd, vous devez utiliser journalctl, alors que cat /var/log/syslogc'est valable pour les systèmes qui utilisent toujours un système init traditionnel.

Par conséquent, si votre système utilise la fonction de journalisation de systemd, vous pouvez utiliser journalctl | grep -Ei 'dhcp'pour obtenir les journaux du client DHCP. Sinon, entrez cat /var/log/syslog | grep -Ei 'dhcp'.

Voici à quoi ressemble généralement mon journal client DHCP:

Jul 20 14:17:39 trueclient1 NetworkManager[2622]: <info> (wlan1): canceled DHCP transaction, DHCP client pid 3325
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> Activation (wlan1) Beginning DHCPv4 transaction (timeout in 45 seconds)
Jul 20 14:17:42 trueclient1 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Jul 20 14:17:42 trueclient1 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed nbi -> preinit
Jul 20 14:17:42 trueclient1 dhclient: DHCPREQUEST on wlan1 to 255.255.255.255 port 67
Jul 20 14:17:42 trueclient1 dhclient: DHCPACK from 10.8.8.1
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed preinit -> reboot

2
Sur les travaux de journalisation Debian 8.1, sur le serveur ubuntu-14.04.2, les entrées se trouvent dans / var / log / syslog. Merci. Mais: il n'y a que très peu d'entrées, par exemple seule l'adresse IP est enregistrée, les serveurs DNS ne le sont pas. Est-il possible de configurer une sortie plus détaillée?
Gustave

3

Un moyen hacky (mais efficace) de déboguer dhclient sur de nombreuses plates-formes Linux consiste à activer le suivi bash dans / sbin / dhclient-script .

dhclient exécute ce script sur la plupart des variantes de système d'exploitation que j'ai vérifiées (RedHat, Debian, etc.).

Un simple ajout -xau shebang (première ligne) dans ce script devrait permettre de suivre chaque ligne sur la console, par exemple:

#!/bin/bash -x

Ensuite, vous pouvez exécuter, par exemple

dhclient -r #release lease
dhclient #re-acquire lease

Et vous devriez voir beaucoup de résultats, non seulement de dhclient-script, mais de tous les .dscripts inclus dans / etc / dhcp *.

La sortie de trace devrait vous permettre de comprendre ce qui se passe et quelles décisions le code prend (référencez le script lui-même lorsque vous regardez la sortie).

Vous pouvez généralement déduire les entrées (par exemple les paramètres incluant IP, GATEWAY, etc.) du script reçu de cette sortie, mais sinon, vous pouvez temporairement ajouter quelque chose comme ça au script juste avant la sortie:

   env | logger -t dhclient-debugging

Vérifiez ensuite votre journal après avoir exécuté dhclient (/ var / log / messages ou / var / log / syslog)


-3

Veuillez trouver la réponse en ligne.

  • Le client DHCP sur Linux écrit-il des journaux?


    Oui.

  • Sinon, les journaux peuvent-ils être activés et comment?


 1. Edit dhcpd.conf and add this line
  log-facility local7;

 2. Edit syslog.conf and append 
  local7.* /var/log/dhcpd.log


  • S'il écrit des journaux, où les trouver?

    /var/log/dhcpd.log


  • À quoi ressemble un journal typique d'un client DHCP lors de l'obtention d'IP et de serveurs de noms à partir d'un serveur DHCP?


galaxy dhcpd: DHCPDISCOVER de 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPOFFER sur 192.168.1.5 à 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPREQUEST pour 192.168.1.5 (192.168 .1.1) de 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPACK sur 192.168.1.5 à 00: 0d: 62: d7: a0: 12 via eth0

  • Où puis-je trouver le code source du client DHCP?


    Lien 1
    Lien 2


2
L'OP parle de client DHCP . DHCPD est un démon de serveur DHCP.
Larssend

Il ne semble pas y avoir de fichier nommé dhcpd.conf sur mon système. Il existe un fichier /etc/dhcp/dhclient.conf. Il n'y a pas de fichier syslog.conf, mais un fichier /etc/rsyslog.conf. J'ai apporté les modifications de configuration à ces fichiers, redémarré rsyslog, arrêté eth0, puis réactivé. Mais aucun fichier journal n'apparaît. Je reçois des messages DHCP sur la console. Même après un redémarrage de la machine, je ne reçois aucun message de journal.
Gustave
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.