Uma maneira hacky (mas eficaz) de depurar o dhclient em muitas plataformas Linux é habilitar o rastreamento bash no / sbin / dhclient-script .
O dhclient executa esse script na maioria das variantes de SO que eu verifiquei (RedHat, Debian, etc).
Simplesmente adicionar -x
ao shebang (primeira linha) nesse script deve permitir o rastreamento de cada linha para o console, por exemplo:
#!/bin/bash -x
Então você pode executar, por exemplo
dhclient -r #release lease
dhclient #re-acquire lease
E você deve ver muita saída, não apenas do dhclient-script, mas de todos os .d
scripts incluídos no / etc / dhcp *.
A saída de rastreio deve permitir que você descubra o que está acontecendo e que decisões o código está tomando (faça referência ao próprio script ao visualizar a saída).
Geralmente, você pode deduzir as entradas (por exemplo, parâmetros incluindo IP, GATEWAY etc.) que o script recebeu desta saída, mas, se não, você pode adicionar temporariamente algo assim ao script imediatamente antes da saída:
env | logger -t dhclient-debugging
Em seguida, verifique seu log após executar o dhclient (/ var / log / messages ou / var / log / syslog)