Хакерский (но эффективный) способ отладки dhclient на многих платформах Linux - включить трассировку bash в / sbin / dhclient-script .
dhclient запускает этот скрипт на большинстве вариантов ОС, которые я проверял (RedHat, Debian и т. д.).
Простое добавление -x
к шебангу (первая строка) в этом скрипте должно включить трассировку каждой строки в консоли, например:
#!/bin/bash -x
Тогда вы можете запустить, например,
dhclient -r #release lease
dhclient #re-acquire lease
И вы должны увидеть много выходных данных, не только из dhclient-script, но и из всех включенных .d
скриптов в / etc / dhcp *.
Вывод трассировки должен позволить вам выяснить, что происходит и какие решения принимает код (обращайтесь к самому сценарию, просматривая вывод).
Обычно вы можете вывести входные данные (например, параметры, включая IP, GATEWAY и т. Д.) Сценария, полученного из этих выходных данных, но если нет, вы можете временно добавить что-то подобное в сценарий непосредственно перед выходом:
env | logger -t dhclient-debugging
Затем проверьте ваш журнал после запуска dhclient (/ var / log / messages или / var / log / syslog)