- Windows dhcp сервер логи
- Постановка задачи
- Как найти историю аренды ip-адресов DHCP
- Где лежит лог dhcp сервера
- 62.3. Windows DHCP server | Log Collection Solutions
- 62.3. Windows DHCP server
- 62.3.1. DHCP server audit logging
- 62.3.2. DHCP server logs in Windows Event Log
- Наблюдаем за новыми арендами адресов на DHCP сервере с помощью PowerShell
Windows dhcp сервер логи
Добрый день! Уважаемые читатели и гости одного из популярнейших 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 сервера
Список форумов SYSAdmins.RU -> WINDOWS |
Автор | |||
---|---|---|---|
frie21 Участник форума Зарегистрирован: 08.09.2008
|
| ||
Вернуться к началу |
| ||
Зарегистрируйтесь и реклама исчезнет! | |||
SergeiS Активный участник Зарегистрирован: 07.04.2006 |
| ||
Вернуться к началу |
| ||
frie21 Участник форума Зарегистрирован: 08.09.2008 62.3. Windows DHCP server | Log Collection Solutions62.3. Windows DHCP serverDHCP Server events are written to DHCP audit log files (if configured) and to the Windows Event Log. This section provides details about configuring logging and collecting logs with NXLog. | The following sections have been tested on Windows Server 2016. |
62.3.1. DHCP server audit logging
The Windows DHCP Server provides an audit logging feature that writes server activity to log files. NXLog can be configured to read and parse these logs.
The log files are named DhcpSrvLog- .log for IPv4 and DhcpV6SrvLog- .log for IPv6. For example, Thursday’s log files are DhcpSrvLog-Thu.log and DhcpV6SrvLog-Thu.log .
The DHCP audit log can be configured with PowerShell or the DHCP Management MMC snap-in.
62.3.1.1. Configuring via PowerShell
To view the current DHCP audit log configuration, run the following command (see Get-DhcpServerAuditLog on Microsoft Docs).
To set the audit log configuration, run this command (see Set-DhcpServerAuditLog on Microsoft Docs).
The DHCP server must be restarted for the configuration changes to take effect.
62.3.1.2. Configuring with the DHCP Management Console
Follow these steps to configure the DHCP audit log. Any changes to the audit log settings apply to both IPv4 and IPv6, once the DHCP server has been restarted.
Run the DHCP MMC snap-in ( dhcpmgmt.msc ), expand the server for which to configure logging, and click on IPv4.
Right-click on IPv4 and click Properties. Note that the context menu is not fully populated until after the IPv4 menu has been expanded at least once.
Make sure Enable DHCP audit logging is checked.
Open the Advanced tab, change the Audit log file path, and click OK.
Restart the DHCP server by right-clicking the server and clicking All Tasks › Restart .
62.3.1.3. Collecting DHCP server audit logs
The DHCP audit logs are stored in CSV format with a large free-form header containing a list of event ID descriptions and other details.
This configuration uses a short batch/PowerShell polyglot script with the include_stdout directive to fetch the DHCP audit log location. The im_file module reads from the files and the xm_csv module parses the lines into fields. Any line that does not match the /^\d+,/ regular expression is discarded with the drop() procedure (all the header lines are dropped). The event ID and QResult codes are resolved automatically, with corresponding $Message and $QMessage fields added where applicable.
62.3.2. DHCP server logs in Windows Event Log
Events are also written to three logs in the Windows Event Log. To make sure the required logs are enabled, open Event Viewer ( eventvwr ) and check the logs under Applications and Services Logs › Microsoft › Windows › DHCP-Server . To enable a log, right-click on it and click Enable Log.
Alternatively, the following PowerShell script will check all three logs, enabling if necessary.
This configuration uses the im_msvistalog module to collect DHCP Server events from the Windows Event Log DhcpAdminEvents , FilterNotifications , and Operational logs.
Наблюдаем за новыми арендами адресов на DHCP сервере с помощью PowerShell
Хочу рассказать об одном из способов мониторить новые аренды адресов на Windows DHCP сервере со множеством скопов. Задача была следующая: находить новые аренды и пробегать список глазами на предмет неугодных хостов с последующим их баном.
Для решения мы создадим базу SQLite и будем сохранять в ней информацию о существующих арендах, а затем, с помощью запроса, сравнивать таблицу, полученную ранее (например, вчера или неделю назад) с актуальными данными.
В начале хочу отметить, что я не являюсь программистом и, возможно, представленный здесь код не очень эффективен, но он решает задачу. В скрипте использованы командлеты, появившиеся впервые в PowerShell 3.0, а работа проверена на Windows Server 2012 R2, в качестве DHCP сервера выступил Windows Server 2008 R2.
Чтобы использовать SQLite, нам понадобятся две библиотеки: System.Data.SQLite.dll и SQLite.Interop.dll. Скачать их можно здесь в составе System.Data.SQLite. Нам нужна не-bundle версия. На моем компьютере установлена версия фреймворка 4.5, поэтому я выбрал sqlite-netFx45-setup-x64-2012-1.0.96.0.exe
Подключаем библиотеку, в данном случае dll находятся в одной папке со скриптом:
Для удобства оборачиваем существующие методы в функции скрипта:
Опрашиваем DHCP сервер на предмет актуальных аренд. Если при запуске не был указан параметр -IncludeReservations, пропускаем резервирования:
Создаем базу или устанавливаем соединение с уже существующей, а также создаем экземпляр объекта SQLite.SQLiteCommand:
Создаем «сегодняшнюю» таблицу, с помощью запроса:
Заполняем ее полученными с сервера значениями. Ранее определенная функция str() возвращает пустую строку вместо null:
Выбираем две последние по именам (они же даты) таблицы, чтобы сравнить их содержимое:
Выводим результат в консоль:
Пример выводимой таблицы:
Закрываем соединение с БД и уничтожаем объекты:
Полученный результат можно, например, отправлять на почту, а сам скрипт запускать по расписанию.