Eine hackige (aber effektive) Möglichkeit, dhclient auf vielen Linux-Plattformen zu debuggen, besteht darin, das Bash-Tracing in / sbin / dhclient-script zu aktivieren .
dhclient führt dieses Skript auf den meisten Betriebssystemvarianten aus, die ich überprüft habe (RedHat, Debian usw.).
Durch einfaches Hinzufügen -x
zum shebang (erste Zeile) in diesem Skript kann jede Zeile zur Konsole zurückverfolgt werden, z.
#!/bin/bash -x
Dann kannst du zum Beispiel rennen
dhclient -r #release lease
dhclient #re-acquire lease
Und Sie sollten viele Ausgaben sehen, nicht nur von dhclient-script, sondern von allen .d
in / etc / dhcp * enthaltenen Skripten.
Die Trace-Ausgabe sollte es Ihnen ermöglichen, herauszufinden, was passiert und welche Entscheidungen der Code trifft (beziehen Sie sich auf das Skript selbst, wenn Sie sich die Ausgabe ansehen).
Normalerweise können Sie die Eingaben (z. B. Parameter wie IP, GATEWAY usw.) ableiten, die das Skript von dieser Ausgabe erhalten hat. Andernfalls können Sie dem Skript vor dem Beenden vorübergehend Folgendes hinzufügen:
env | logger -t dhclient-debugging
Überprüfen Sie anschließend Ihr Protokoll, nachdem Sie dhclient ausgeführt haben (/ var / log / messages oder / var / log / syslog).