Як побачити, що робить клієнт DHCP?


14
  • Чи пише клієнт dhcp в Linux будь-які журнали?
  • Якщо ні, чи можна ввімкнути журнали та як?
  • Якщо він пише журнали, де їх можна знайти?
  • Як виглядає типовий журнал клієнта dhcp при отриманні IP-серверів та серверів імен з сервера DHCP?
  • Де я можу знайти вихідний код клієнта DHCP?

У випадку, якщо між Linuxes є відповідні відмінності: мене цікавить Debian 8.1 (мінімальна установка amd64).


1
Вам потрібно буде бути більш конкретним, ніж "клієнт dhcp в Linux". Для Linux існує багато різних клієнтів dhcp, і всі вони входять у різні способи. Напевно, Debian 8.1 є типовим, хоча я не можу згадати, що це таке.
qasdfdsaq

Клієнт Інтернет-систем DHCP 4.3.1 Авторські права 2004-2014 Консорціум Інтернет-систем. Всі права захищені. Для отримання інформації, відвідайте isc.org/software/dhcp
Gustave

Відповіді:


7

DHCP-клієнт ISC зазвичай викликається dhclientв більшості дистрибутивів Linux. Від man dhclient:

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

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

Отже, якщо ваша система використовує засоби реєстрації 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

2
На Debian 8.1 journalctl працює, на ubuntu-14.04.2-сервері записи знаходяться в / var / log / syslog. Спасибі. Але: записів лише дуже мало, наприклад, записується лише IP-адреса, DNS-сервери - ні. Чи можна налаштувати більше багатослівного виводу?
Густав

3

Хитрий (але ефективний) спосіб налагодження dhclient на багатьох платформах Linux полягає в тому, щоб увімкнути баш-трасування в / sbin / dhclient-script .

dhclient запускає цей скрипт у більшості перевірених варіантів ОС (RedHat, Debian тощо).

Просто додавання -xдо shebang (перший рядок) у цьому сценарії повинно включати відстеження кожного рядка до консолі, наприклад:

#!/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?


галактика dhcpd: DHCPDISCOVER від 00: 0d: 62: d7: a0: 12 через eth0
галактику dhcpd: DHCPOFFER на 192.168.1.5 до 00: 0d: 62: d7: a0: 12 через eth0
галактику dhcpd: DHCPREQUEST за 192.168.1.5 (192.168 .1.1) від 00: 0d: 62: d7: a0: 12 через
galaxy galaxy eth0 dhcpd: DHCPACK на 192.168.1.5 до 00: 0d: 62: d7: a0: 12 через eth0


2
ОП говорить про клієнта DHCP . DHCPD - демон сервера DHCP.
Ларссенд

Здається, у моїй системі немає файлу з іменем dhcpd.conf. Є файл /etc/dhcp/dhclient.conf. Існує не файл syslog.conf, а файл /etc/rsyslog.conf. Я змінив конфігурацію цих файлів, перезапустив rsyslog, вимкнув eth0, знову ввімкнув його. Але файл журналу не відображається. Я отримую кілька повідомлень DHCP на консолі. Навіть після перезавантаження машини я не отримую жодних журнальних повідомлень.
Густав
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.