Un modo complicato (ma efficace) per eseguire il debug di dhclient su molte piattaforme Linux è abilitare la traccia bash in / sbin / dhclient-script .
dhclient esegue quello script sulla maggior parte delle varianti del sistema operativo che ho controllato (RedHat, Debian, ecc.).
La semplice aggiunta -x
allo shebang (prima riga) in quello script dovrebbe consentire di tracciare ciascuna riga sulla console, ad esempio:
#!/bin/bash -x
Quindi puoi eseguire, ad esempio
dhclient -r #release lease
dhclient #re-acquire lease
E dovresti vedere un sacco di output, non solo da dhclient-script, ma da tutti gli .d
script inclusi in / etc / dhcp *.
L'output di traccia dovrebbe consentire di capire cosa sta succedendo e quali decisioni sta prendendo il codice (fare riferimento allo script stesso quando si guarda all'output).
Di solito è possibile dedurre gli input (ad esempio parametri tra cui IP, GATEWAY, ecc.) Che lo script ha ricevuto da questo output, ma in caso contrario, è possibile aggiungere temporaneamente qualcosa di simile allo script appena prima dell'uscita:
env | logger -t dhclient-debugging
Quindi controlla il log dopo aver eseguito dhclient (/ var / log / messages o / var / log / syslog)