Посмотреть логи dhcp linux
Добрый день! Уважаемые читатели и гости одного из популярнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали тему по отключению защитника Windows 8.1. Сегодня мы разберем интересную тему по системному администрированию, а именно, как и где посмотреть историю аренды IP-адресов на сервере DHCP в Windows. Я расскажу вам сценарии, при которых эти знания окажутся для вас весьма полезными и необходимыми, да и вообще инженеры очень редко смотрят и изучают логи DHCP сервера.
Постановка задачи
И так у вас развернут DHCP сервер на Windows. В какой-то момент вам потребовалось выяснить, кем был зарезервирован IP-адрес, например несколько дней назад. Когда у вас время аренды большое, это сделать проще, если настроено резервирование, то это еще проще, но мы рассмотрим, что у вас время аренды, пусть будет сутки и резервирования нет. Благодаря моей инструкции вы сможете вычислить компьютер и mac-адрес устройства, кто получал нужный нам ip-адрес.
Как найти историю аренды ip-адресов DHCP
Откройте оснастку DHCP, и откройте свойства вашего пула IPV6 или IPV6. Убедитесь, что у вас включена функция «Вести журнал аудита DHCP«, если нет то включаем ее.
На вкладке «Дополнительно» вы можете посмотреть куда сохраняется журнал с событиями сервера. По умолчанию, это C:\Windows\system32\dhcp.
Переходим в каталог C:\Windows\system32\dhcp. Тут будут нужные нам файлы DhcpSrvLog.log. таких файлов будет 7, на каждый день недели.
Открыв файл вам сразу выскочит подсказка по кодам событий:
- 00 Ведение журнала начато.
- 01 Ведение журнала остановлено.
- 02 Ведение журнала временно приостановлено из-за нехватки места на диске.
- 10 Клиенту выдан новый IP-адрес.
- 11 Аренда продлена клиентом.
- 12 Аренда отменена клиентом.
- 13 IP-адрес уже используется в сети.
- 14 Запрос на аренду не может быть удовлетворен, так как исчерпан пул адресов этой области.
- 15 В аренде отказано.
- 16 Аренда удалена.
- 17 Срок аренды истек, а DNS-записи для истекших аренд не удалены.
- 18 Срок аренды истек, и DNS-записи удалены.
- 20 Клиенту выдан BOOTP-адрес.
- 21 Клиенту выдан динамический BOOTP-адрес.
- 22 Не удалось удовлетворить запрос на выдачу BOOTP-адреса, так как исчерпан пул адресов для BOOTP.
- 23 IP-адрес BOOTP удален, так как он не используется.
- 24 Начата очистка IP-адресов.
- 25 Статистика очистки IP-адресов.
- 30 Запрос на обновление DNS к именованному DNS-серверу.
- 31 Сбой обновления DNS.
- 32 Успешное обновление DNS.
- 33 Пакет отброшен в соответствии с политикой NAP.
- 34 Сбой запроса на обновление DNS. Превышено ограничение для очереди запросов на обновление DNS.
- 35 Сбой запроса на обновление DNS.
- 36 из-за несоответствия хэша ИД клиента или того, что сервер находится в режиме ожидания обработки отказа.
- 50+ Коды выше 50 используются для сведений о выявленных неавторизованных серверах.
- 11000 Обращение DHCPv6.
- 11001 Объявление DHCPv6.
- 11002 Запрос DHCPv6.
- 11003 Подтверждение DHCPv6.
- 11004 Обновление DHCPv6.
- 11005 Повторная привязка DHCPv6.
- 11006 Отклонение DHCPv6.
- 11007 Освобождение DHCPv6.
- 11008 Запрос информации DHCPv6.
- 11009 Заполнение области DHCPv6.
- 11010 Запуск DHCPv6.
- 11011 Остановка DHCPv6.
- 11012 Приостановка журнала аудита DHCPv6.
- 11013 Файл журнала DHCPv6.
- 11014 Недопустимый DHCPv6-адрес.
- 11015 DHCPv6-адрес уже используется.
- 11016 DHCPv6-клиент удален.
- 11017 DNS-запись DHCPv6 не удалена.
- 11018 Срок действия DHCPv6 истек.
- 11019 Устаревшие и удаленные аренды DHCPv6.
- 11020 Начало очистки базы данных DHCPv6.
- 11021 Окончание очистки базы данных DHCPv6.
- 11022 Запрос обновления DNS для IPv6.
- 11023 Сбой обновления DNS для IPv6.
- 11024 Успешное обновление DNS для IPv6.
- 11028 Сбой запроса обновления DNS для IPv6. Превышен предел очереди запросов на обновление DNS.
- 11029 Сбой запроса обновления DNS для IPv6.
- 11030 Записи DHCPv6-клиента без отслеживания состояния очищены.
- 11031 Запись DHCPv6-клиента без отслеживания состояния очищена, так как для нее истек интервал очистки.
- 11032 Запрос информации DHCPV6 с IPv6-клиента без отслеживания состояния.
Вот для примера, как выглядит продление аренды адреса.
Источник
Как посмотреть, что делает DHCP-клиент?
В случае, если есть существенные различия между Linux: я заинтересован в Debian 8.1 (минимальная установка по умолчанию amd64).
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-клиента:
Хакерский (но эффективный) способ отладки dhclient на многих платформах Linux — включить трассировку bash в / sbin / dhclient-script .
dhclient запускает этот скрипт на большинстве вариантов ОС, которые я проверял (RedHat, Debian и т. д.).
Простое добавление -x к шебангу (первая строка) в этом скрипте должно включить трассировку каждой строки в консоли, например:
Тогда вы можете запустить, например,
И вы должны увидеть много выходных данных, не только из dhclient-script, но и из всех включенных .d скриптов в / etc / dhcp *.
Вывод трассировки должен позволить вам выяснить, что происходит и какие решения принимает код (обращайтесь к самому сценарию, просматривая вывод).
Обычно вы можете вывести входные данные (например, параметры, включая IP, GATEWAY и т. Д.) Сценария, полученного из этих выходных данных, но если нет, вы можете временно добавить что-то подобное в сценарий непосредственно перед выходом:
Затем проверьте ваш журнал после запуска dhclient (/ var / log / messages или / var / log / syslog)
Пожалуйста, найдите ответ в строке.
Клиент dhcp в Linux записывает какие-либо логи?
Если нет, можно ли включить логи и как?
Если он пишет логи, где их можно найти?
- Как выглядит типичный журнал клиента 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
Где я могу найти исходный код клиента DHCP?
Источник
Как посмотреть, что делает DHCP-клиент?
В случае, если есть существенные различия между Linux: я заинтересован в Debian 8.1 (минимальная установка по умолчанию amd64).
3 ответа 3
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-клиента:
Хакерский (но эффективный) способ отладки dhclient на многих платформах Linux — включить трассировку bash в /sbin/dhclient-script.
dhclient запускает этот скрипт на большинстве вариантов ОС, которые я проверял (RedHat, Debian и т. д.).
Простое добавление -x к шебангу (первая строка) в этом скрипте должно включить трассировку каждой строки в консоли, например:
Тогда вы можете запустить, например,
И вы должны увидеть много выходных данных, не только из dhclient-script, но и из всех включенных .d скриптов в /etc /dhcp *.
Вывод трассировки должен позволить вам выяснить, что происходит и какие решения принимает код (обращайтесь к самому сценарию, просматривая вывод).
Обычно вы можете вывести входные данные (например, параметры, включая IP, GATEWAY и т.д.), Полученный сценарием из этих выходных данных, но если нет, вы можете временно добавить что-то подобное в сценарий непосредственно перед выходом:
Затем проверьте ваш журнал после запуска dhclient (/var/log/messages или /var/log/syslog)
Источник
Лог файлы Linux по порядку
Невозможно представить себе пользователя и администратора сервера, или даже рабочей станции на основе Linux, который никогда не читал лог файлы. Операционная система и работающие приложения постоянно создают различные типы сообщений, которые регистрируются в различных файлах журналов. Умение определить нужный файл журнала и что искать в нем поможет существенно сэкономить время и быстрее устранить ошибку.
Журналирование является основным источником информации о работе системы и ее ошибках. В этом кратком руководстве рассмотрим основные аспекты журналирования операционной системы, структуру каталогов, программы для чтения и обзора логов.
Основные лог файлы
Все файлы журналов, можно отнести к одной из следующих категорий:
Большинство же лог файлов содержится в директории /var/log .
- /var/log/syslog или /var/log/messages содержит глобальный системный журнал, в котором пишутся сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и много другого.
- /var/log/auth.log или /var/log/secure — информация об авторизации пользователей, включая удачные и неудачные попытки входа в систему, а также задействованные механизмы аутентификации.
- /var/log/dmesg — драйвера устройств. Одноименной командой можно просмотреть вывод содержимого файла. Размер журнала ограничен, когда файл достигнет своего предела, старые сообщения будут перезаписаны более новыми. Задав ключ —level= можно отфильтровать вывод по критерию значимости.
- /var/log/alternatives.log — Вывод программы update-alternatives , в котором находятся символические ссылки на команды или библиотеки по умолчанию.
- /var/log/anaconda.log — Записи, зарегистрированные во время установки системы.
- /var/log/audit — Записи, созданные службой аудита auditd .
- /var/log/boot.log — Информация, которая пишется при загрузке операционной системы.
- /var/log/cron — Отчет службы crond об исполняемых командах и сообщения от самих команд.
- /var/log/cups — Все, что связано с печатью и принтерами.
- /var/log/faillog — Неудачные попытки входа в систему. Очень полезно при проверке угроз в системе безопасности, хакерских атаках, попыток взлома методом перебора. Прочитать содержимое можно с помощью команды faillog .
- var/log/kern.log — Журнал содержит сообщения от ядра и предупреждения, которые могут быть полезны при устранении ошибок пользовательских модулей встроенных в ядро.
- /var/log/maillog/ или /var/log/mail.log — Журнал почтового сервера, используемого на ОС.
- /var/log/pm-powersave.log — Сообщения службы экономии заряда батареи.
- /var/log/samba/ — Логи файлового сервера Samba , который используется для доступа к общим папкам Windows и предоставления доступа пользователям Windows к общим папкам Linux.
- /var/log/spooler — Для представителей старой школы, содержит сообщения USENET. Чаще всего бывает пустым и заброшенным.
- /var/log/Xorg.0.log — Логи X сервера. Чаще всего бесполезны, но если в них есть строки начинающиеся с EE, то следует обратить на них внимание.
Для каждого дистрибутива будет отдельный журнал менеджера пакетов.
- /var/log/yum.log — Для программ установленных с помощью Yum в RedHat Linux.
- /var/log/emerge.log — Для ebuild -ов установленных из Portage с помощью emerge в Gentoo Linux.
- /var/log/dpkg.log — Для программ установленных с помощью dpkg в Debian Linux и всем семействе родственных дистрибутивах.
И немного бинарных журналов учета пользовательских сессий.
- /var/log/lastlog — Последняя сессия пользователей. Прочитать можно командой last .
- /var/log/tallylog — Аудит неудачных попыток входа в систему. Вывод на экран с помощью утилиты pam_tally2 .
- /var/log/btmp — Еже один журнал записи неудачных попыток входа в систему. Просто так, на всякий случай, если вы еще не догадались где следует искать следы активности взломщиков.
- /var/log/utmp — Список входов пользователей в систему на данный момент.
- /var/log/wtmp — Еще один журнал записи входа пользователей в систему. Вывод на экран командой utmpdump .
И другие журналы
Так как операционная система, даже такая замечательная как Linux, сама по себе никакой ощутимой пользы не несет в себе, то скорее всего на сервере или рабочей станции будет крутится база данных, веб сервер, разнообразные приложения. Каждое приложения или служба может иметь свой собственный файл или каталог журналов событий и ошибок. Всех их естественно невозможно перечислить, лишь некоторые.
- /var/log/mysql/ — Лог базы данных MySQL.
- /var/log/httpd/ или /var/log/apache2/ — Лог веб сервера Apache, журнал доступа находится в access_log , а ошибки — в error_log .
- /var/log/lighthttpd/ — Лог веб сервера lighttpd.
В домашнем каталоге пользователя могут находится журналы графических приложений, DE.
/.xsession-errors — Вывод stderr графических приложений X11.
/.xfce4-session.verbose-log — Сообщения рабочего стола XFCE4.
Чем просматривать — lnav
Почти все знают об утилите less и команде tail -f . Также для этих целей сгодится редактор vim и файловый менеджер Midnight Commander. У всех есть свои недостатки: less неважно обрабатывает журналы с длинными строками, принимая их за бинарники. Midnight Commander годится только для беглого просмотра, когда нет необходимости искать по сложному шаблону и переходить помногу взад и вперед между совпадениями. Редактор vim понимает и подсвечивает синтаксис множества форматов, но если журнал часто обновляется, то появляются отвлекающие внимания сообщения об изменениях в файле. Впрочем это легко можно обойти с помощью .
Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту — lnav, в расшифровке Log File Navigator.
Установка пакета как обычно одной командой.
Навигатор журналов lnav понимает ряд форматов файлов.
- Access_log веб сервера.
- CUPS page_log
- Syslog
- glog
- dpkg.log
- strace
- Произвольные записи с временными отметками
- gzip, bzip
- Журнал VMWare ESXi/vCenter
Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.
Программа умеет напрямую открывать архивный файл.
Показывает гистограмму информативных сообщений, предупреждений и ошибок, если нажать клавишу . Это с моего syslog-а.
Кроме этого поддерживается подсветка синтаксиса, дополнение по табу и разные полезности в статусной строке. К недостаткам можно отнести нестабильность поведения и зависания. Надеюсь lnav будет активно развиваться, очень полезная программа на мой взгляд.
Источник