Una forma hacky (pero efectiva) de depurar dhclient en muchas plataformas Linux es habilitar el rastreo bash en / sbin / dhclient-script .
dhclient ejecuta ese script en la mayoría de las variantes del sistema operativo que he comprobado (RedHat, Debian, etc.).
Simplemente agregar -x
al shebang (primera línea) en ese script debería permitir el seguimiento de cada línea a la consola, por ejemplo:
#!/bin/bash -x
Entonces puedes correr, por ejemplo
dhclient -r #release lease
dhclient #re-acquire lease
Y debería ver muchos resultados, no solo de dhclient-script, sino de todos los .d
scripts incluidos en / etc / dhcp *.
La salida de rastreo debe permitirle descubrir qué está sucediendo y qué decisiones está tomando el código (consulte el script en sí mismo al mirar la salida).
Por lo general, puede deducir las entradas (por ejemplo, parámetros que incluyen IP, GATEWAY, etc.) que el script recibió de esta salida, pero si no, puede agregar temporalmente algo como esto al script justo antes de la salida:
env | logger -t dhclient-debugging
Luego verifique su registro después de ejecutar dhclient (/ var / log / messages o / var / log / syslog)