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 -x
au 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 .d
scripts 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)