13
  • Клиент dhcp в Linux записывает какие-либо логи?
  • Если нет, можно ли включить логи и как?
  • Если он пишет логи, где их можно найти?
  • Как выглядит типичный журнал клиента dhcp при получении IP-адресов и серверов имен с DHCP-сервера?
  • Где я могу найти исходный код клиента DHCP?

В случае, если есть существенные различия между Linux: я заинтересован в Debian 8.1 (минимальная установка по умолчанию amd64).

3 ответа3

5

DHCP-клиент ISC обычно называется dhclient в большинстве дистрибутивов Linux. От man dhclient:

Клиент обычно не выводит выходные данные во время своей последовательности запуска. Это может быть сделано для генерации подробных сообщений, отображающих события последовательности запуска, пока он не получит адрес, предоставив аргумент командной строки -v. В любом случае клиент регистрирует сообщения, используя средство syslog(3).

Есть два возможных способа прочитать системный журнал. В большинстве систем, которые используют systemd, вы должны использовать journalctl , тогда как cat /var/log/syslog подходит для систем, в которых все еще используется традиционная система инициализации.

Поэтому, если ваша система использует средства ведения журнала systemd, вы можете использовать journalctl | grep -Ei 'dhcp' для получения логов DHCP-клиента. В противном случае введите cat /var/log/syslog | grep -Ei 'dhcp' .

Вот как обычно выглядит мой журнал DHCP-клиента:

Jul 20 14:17:39 trueclient1 NetworkManager[2622]: <info> (wlan1): canceled DHCP transaction, DHCP client pid 3325
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> Activation (wlan1) Beginning DHCPv4 transaction (timeout in 45 seconds)
Jul 20 14:17:42 trueclient1 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Jul 20 14:17:42 trueclient1 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed nbi -> preinit
Jul 20 14:17:42 trueclient1 dhclient: DHCPREQUEST on wlan1 to 255.255.255.255 port 67
Jul 20 14:17:42 trueclient1 dhclient: DHCPACK from 10.8.8.1
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed preinit -> reboot
1

Хакерский (но эффективный) способ отладки 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)

-3

Пожалуйста, найдите ответ в строке.

  • Клиент dhcp в Linux записывает какие-либо логи?


    Да, это так.

  • Если нет, можно ли включить логи и как?


 1. Edit dhcpd.conf and add this line
  log-facility local7;

 2. Edit syslog.conf and append 
  local7.* /var/log/dhcpd.log


  • Если он пишет логи, где их можно найти?

    /var/log/dhcpd.log


  • Как выглядит типичный журнал клиента dhcp при получении IP-адресов и серверов имен с DHCP-сервера?


galaxy dhcpd: DHCPDISCOVER от 00: 0d: 62: d7: a0: 12 через eth0
galaxy dhcpd: DHCPOFFER с 192.168.1.5 до 00: 0d: 62: d7: a0: 12 через eth0
galaxy dhcpd: DHCPREQUEST для 192.168.1.5 (192.168.1.1) с 00: 0d: 62: d7: a0: 12 через eth0
galaxy dhcpd: DHCPACK с 192.168.1.5 до 00: 0d: 62: d7: a0: 12 через eth0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .