Ошибка при обращении к базе данных dhcp

Имеется виртуальный DC Windows server 2012 R2. Резервного DC пока что нет.
На физическом диске где он размещен много хлама, как результат не доглядел виртуалка приостановилась. Почистил место перезапустил виртуалку. Теперь нормально DHCP сервер не работает. Не возможно получить IP адрес по DHCP с этого сервера, невозможно зарезервировать IP адрес. При этом те адреса которые были зарезервированы ранее работают нормально, НО если удалить адрес из резервации то он перейдет в BAD_ADRESS а затем по истечению срока аренды как и для остальных компов я не смогу получить с него адрес либо зарезервировать.
Ошибка при попытке вручную резервировать адрес:
Ошибка при обращении к базе данных DHCP, дополнительные сведения об этой ошибке содержатся в журнале событий DHCP-сервера.

В журнале «журналы приложений и служб-> microsoft->DHCP Server-> Microsoft-Windows-DHCP Server Events/admin «:
Событие 20287
Запрос DHCP-клиента из 00155D000290 был отброшен, так как в применимых диапазонах IP-адресов области или суперобласти Scope1 нет доступных IP-адресов. Причиной этого может быть отсутствие доступных IP-адресов в диапазонах IP-адресов политики

В общих журналах, журнале «Приложение»:
Событие 11
Возможная утечка памяти. Приложение («C:\Windows\system32\mmc.exe» «C:\Windows\system32\dhcpmgmt.msc» ) (PID: 2572) передало указатель, не допускающий значения NULL, в RPC для параметра [out], помеченного [allocate(all_nodes)]. параметры [allocate(all_nodes)] всегда перераспределяются; если исходный указатель содержит адрес допустимой памяти, произойдет ее утечка. Вызов поступил на интерфейс с UUID ({6bffd098-a112-3610-9833-46c3f874532d}), Номер метода (18). Действие пользователя: Обратитесь к поставщику за обновленной версией приложения.

Событие 6005 (х3 но может быть связано с DHCP сервером соыбите)
Подписчик уведомлений winlogon тратит слишком много времени на обработку события уведомления (CreateSession).

В общих журналах, журнале «Система»:
Событие 1041
Служба DHCP не обслуживает клиентов DHCPv4, поскольку ни один активный сетевой интерфейс не имеет статически настроенного IPv4-адреса либо активных интерфейсов нет.

Событие 1059
Служба DHCP не смогла обнаружить папку для авторизации сервера.

Событие 1342
В диапазоне IP-адресов области Scope1 нет доступных IP-адресов.

Событие 1063
Для аренды области или суперобласти «Scope1» нет IP-адреса.

Событие 1056 (выполнял рекомендацию netsh dhcp server set dnscredentials — не помогло)
Служба DHCP обнаружила, что она запущена на контроллере домена (DC) и не имеет учетных данных, настроенных для использования с динамическими DNS-регистрациями, производимыми службой DHCP. Подобная конфигурация безопасности не рекомендуется. Учетные данные динамических DNS-регистраций можно настроить с помощью утилиты командной строки «netsh dhcp server set dnscredentials» или с помощью программы администрирования DHCP.

Событие 1065
Были удалены некоторые потерянные элементы конфигурации из-за удаления класса или определения параметра. Проверьте конфигурацию сервера.

Короче всё весело я х3 что делать. Бэкапа dhcp базы отдельного нету. Бэкапа виртуалки тоже нету. Что произойдет если я деактивирую и активирую скобу? Надо ли в таком случае заново выполнять резервирование и настройки, или не поможет? Второй вариант переустановить роль DHCP сервера?

Обновлено 17.04.2019

dhcp logoДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Ранее мы с вами говорили про принципы работы DHCP протокола и разбирали его поэтапно. В сегодняшней заметке, мне бы хотелось осветить вопрос по защите и безопасности DHCP сервера, и речь пойдет, о авторизации и решения проблем с ней. Ситуаций в жизни бывает много, так что как говорится прокачаем свой навык траблшутинга. Уверен, что мой скромный опыт будет кому-то полезен.

Когда вы устанавливаете Active Directory в своей компании, то у вас появляется тройка ролей, которые очень часто идут вместе, я говорю про AD, DNS и DHCP. Эта тройка позволяет системному администратору получить все прелести и преимущества доменной структуры. Очень важным аспектом любой современной IT инфраструктуры, является аспекты безопасности и в случае DHCP, это очень актуально. Небольшое воспоминание из практики. Когда я еще только начинал свой путь инженера, то я плохо разбирался в сетевых протоколах и технологиях, знал так сказать азы. Я знал, что у нас в окружении установлен Windows DHCP сервер и, что он сам раздает ip-адреса. В один из рабочих дней мне позвонил менеджер и сказал, что у него пропал интернет и доступ к сетевым шарам.

Когда я к нему подошел, то стал проводить сетевую диагностику, где одним из этапов было вычисление полученного ip-адреса. Какого же было мое удивление, когда я за место диапазона 192.168.100.0 увидел диапазон адресов 192.168.1.0. Я точно знал, что на моем DHCP сервере такой области нет. В итоге оказалось, что один из программистов принес WIFI роутер в то время, это было диковинкой, а так как мозги данного устройства работали на Linux платформе, то его DHCP сервер отрабатывал быстрее, чем в Windows сервере, что в итоге вело к выдаче адресов из другой области. Вот для предотвращения таких вещей и есть авторизация DHCP сервера.

У каждого вендора своя технология авторизация данного сервиса, например в Cisco оборудовании есть технология DHCP snooping, которая делит порты на которых работает служба на да типа, на которых, это можно делать и на которых нельзя. Там где нельзя, все пакеты с DHCP сервиса будут дропаться. В Windows среде есть авторизация сервера в инфраструктуре Active Directory. Вся соль в том, чтобы если в сети появится Windows DHCP сервер и он не будет авторизован в Active Directory, то его скоупы просто не заработают и выдачи ip-адресов не будет.

Требования к серверу перед авторизацией

Авторизация DHCP сервера является обязательной процедурой и требует соблюдения некоторых вещей:

  • Ваш сервер DHCP должен быть членом Active Directory
  • У вас должны быть права на авторизацию его в AD, администратор предприятия или делегированная группа.
  • Не должно быть проблем с созданием и редактированием атрибутов и классов в схеме Active Directory

Интересные моменты

  • Сервер DHCP проверяет свою авторизацию в AD DS каждый час. Он использует протокол LDAP [MS-ADTS] для связи с Active Directory и проверки, авторизован ли он для обслуживания IP-адресов.
  • При установке в среде с несколькими лесами DHCP-серверы запрашивают авторизацию изнутри. После авторизации серверы DHCP в среде с несколькими лесами сдают в аренду IP-адреса всем доступным клиентам.
  • Если вы устанавливаете роль DHCP на контроллере домена, сервер автоматически авторизуется. Если вы устанавливаете его на рядовой сервер, вам нужно будет вручную выполнить процесс авторизации одним из следующих способов.
  • Если в сети появится DHCP сервер, отличный от Windows платформы, то он сможет раздавать IP-адреса и авторизация ему не потребуется. Чтобы этого избежать нужны технологии на подобии DHCP snooping и системы анализа трафика.

Методы авторизации DHCP в Active Directory

Давайте теперь поговорим, о методах которые смогут добавить ваш DHCP сервер, как доверенный в раздел конфигурации базы данных Active Directory.

  • Авторизация после установки из оснастки в мастере
  • Из оснастки, после всех настроек
  • Авторизация после установки роли, через PowerShell
  • Авторизация сервиса после установки роли через командную строку и утилиту netsh

Я покажу его на примере Windows Server 2019, когда вы установили роль DHCP, вас попросят закончить настройку. В итоге у вас откроется окно мастера, где вас попросят авторизовать в Active Directory, обращаю внимание, что вы на этом этапе можете ее пропустить. Напоминаю, что права должны быть минимум администратора домена или аналогично делегированные.

авторизации DHCP Windows server 2019

Второй метод авторизации DHCP

Вторым методом я могу выделить возможность, произвести авторизацию сервиса в AD в самой оснастке, после настройки области IPV4 или IPV6. Для этого нажмите в оснастке по самому корню правым кликом и выберите в контекстном меню пункт «Авторизовать».

авторизации DHCP в Active Directory-01

Так же в данной оснастке можно авторизовать и удаленный сервер, для этого щелкните правым кликом по корню и выберите пункт «Список авторизованных серверов».

Список авторизованных серверов

В окне «Список авторизованных серверов» нажмите кнопку «Авторизовать». У вас откроется дополнительное окно, где можно указать DNS имя или IP-адрес. Я впишу мой второй дополнительный сервер с ip-адресом 192.168.31.3.

авторизации DHCP в Active Directory-05
Произойдет поиск роли DHCP на данном сервере. Если она там есть то появится дополнительное окно, где нужно нажать «ОК».

авторизация удаленного DHCP сервера

Все сервер у вас должен появится в списке авторизованных.

Авторизовать DHCP-сервер с помощью Netsh

Откройте командную строку с правами администратора и введите следующую команду для авторизации DHCP-сервера.

Команда показывает мои текущие авторизованные серверы в домене, как видим у меня он один dc01/root/pyatilistnik.org. В окне «Управление авторизованными серверами» его видно. Далее авторизуем новый сервер svt2019s01.root.pyatilistnik.org с ip-адресом 192.168.31.3

netsh dhcp add server svt2019s01.root.pyatilistnik.org 192.168.31.3

После этого я сделал вывод списка авторизованных DHCP и вижу, что их теперь два.

Авторизация dhcp в Active Directory через netsh

Авторизовать DHCP-сервер с помощью PowerShell

Естественно я не могу обойти стороной любимый язык PowerShell, так как он с поставленной задачей справляется на 5+. Откройте свой PowerShell в режиме администратора и выведите для начала список текущих DHCP адресов в домене.

Вижу, что в данный момент он один.

Список dhcp серверов через PowerShell

Теперь, чтобы добавить второй сервер, выполните команду:

Add-DhcpServerInDC -DnsName «svt2019s01.root.pyatilistnik.org» -IPAddress 192.168.31.3

авторизация dhcp через powershell

Как деактивировать DHCP сервер

Логично предположить, что методов деактивации тоже четыре.

  • Из оснастки DHCP сервера, для этого правым кликом по названию сервера и из контекстного меню выбираем пункт «Запретить».

Запретить dhcp сервер в домене

  • Второй метод деактивации — это из окна «Управление авторизованными серверами», выбираем нужный и нажимаем кнопку «Запретить»

Запретить dhcp сервер в AD

  • Третий метод запретить конкретный сервис, это утилита командной строки netsh.

netsh dhcp delete server svt2019s01.root.pyatilistnik.org 192.168.31.3

  • Последний метод деактивации, это в PowerShell

Remove-DhcpServerInDC -DnsName «svt2019s01.root.pyatilistnik.org -IPAddress 192.168.31.3

Где прописывается DHCP в конфигурации Active Directory

Теперь хочу вам показать, где в классах и с какими атрибутами прописываются записи авторизованных DHCP серверов. Откройте редактор атрибутов AD и зайдите в раздел конфигурации. Перейдите по пути: CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org. В данном контейнере вы увидите записи ваших авторизованных DHCP сервисов и очень важную запись CN=DhcpRoot, если ее нет, то это плохо.

Когда вы пытаетесь авторизовать сервер, то первым делом проверяется наличие записи CN=DhcpRoot ,и если она не найдена, то вы не сможете завершить вашу операцию

список dhcp в конфигурации ad

Когда вы успешно авторизовываете ваш сервис в Active Directory, то он должен создать запись класса dHCPClass в CN должно быть его имя и различающееся имя (distinguished name). Если зайти в свойства любой записи сервиса, то вы обнаружите атрибут dhcpServer, тут должен быть прописан ip-адрес и его DNS-имя.

dhcpserver атрибут

Во времена Windows 2000, атрибут dhcpServer должен был заполняться у записи CN=DhcpRoot в соответстующем атрибуте, с Windows Server 2003, перестало записываться (https://blogs.technet.microsoft.com/askpfeplat/2015/06/22/windows-server-dhcp-server-migration-two-issues-from-the-field/). Так же записи из контейнера CN=Services AD — сайты и службы (Active Directory Site and Service)вы можете посмотреть и из оснастки.  Единственное, вам нужно включить опцию «Показать узел служб»

Показать узел служб

В итоге у вас появится контейнер «Services», далее «NetServices», в котором вы увидите весь список.

Бывают ситуации, что непрофессиональный администратор выключил и удалил сервер DHCP, заменив его на другой, и не деактивировал старый, в результате он будет числиться как потерявшийся, и чтобы его убрать из списка, вам нужно удалить в данном контейнере его запись

dhcpServer в ad службы и сайты

Из-за не правильной деактивации DHCP или восстановлении сервера из резервной копии приличной давности, он у вас может не запускать и при попытке пройти авторизацию написать «Параметр задан неверно»

Параметр задан неверно

В таких случаях вам нужно проверять наличие CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org записи вашего сервера. Если ее нет, то придется создать ее с нуля. Через правый клик создаем новый объект AD.

Создание объекта в конфигурации AD

Выбираем класс объекта dhcpServer.

Создание объекта dhcpServer

Прописываем Common-name вашего сервера.

Common-name в dhcpServer

dhcp-Unique-key ставим 0.

dhcp-Unique-key

dhcp-type ставим 1.

dhcp-type

В dhcp-identification прописываем distinguished name сервера.

dhcp-identification

После создания записи, попробуйте перезапустить DHCP на нужно сервере. Если не поможет, то удаляете данную запись, и заново пробуете его авторизовать, бывает помогает.

Как дать права на авторизацию DHCP сервера

На сколько мне известно, чтобы у вас была возможность авторизовывать серверы DHCP, то вы должны быть администратором предприятия (Enterprise Admin). Понятно, что в данной группе должно быть минимум людей. Вы можете делегировать данные права, любой группе или пользователю. Для этого, в оснастке Active Directory — сайты и службы с включенной опцией «Показать узел служб» вы нажимаете правым кликом по контейнеру NetServices  и выбираете пункт делегирование управления.

Делегирование управления dhcp

На первом шаге, вам необходимо указать пользователя или группу, для которой будут выданы права на управление DHCP авторизацией.

Выбор группы для делегирования dhcp

Выбираем создание особой задачи для делегирования.

Особая задача по делегированию

Оставляем пункт «Этой папкой, существующими в ней объектами и созданием новых объектов в этой папке»

Делегирование авторизации DHCP в AD-01

На следующем шаге, даем полные права. После этого у нужной группы появится возможность авторизовывать сервера DHCP в вашем домене Active Directory.

Делегирование авторизации DHCP в AD-02

На этом я хочу закончить эту статью, она получилась и так очень длинной. Если у вас остались вопросы, то пишите их в комментариях, я на них постараюсь ответить. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org,

Имеется виртуальный DC Windows server 2012 R2. Резервного DC пока что нет.
На физическом диске где он размещен много хлама, как результат не доглядел виртуалка приостановилась. Почистил место перезапустил виртуалку. Теперь нормально DHCP сервер не работает. Не возможно получить IP адрес по DHCP с этого сервера, невозможно зарезервировать IP адрес. При этом те адреса которые были зарезервированы ранее работают нормально, НО если удалить адрес из резервации то он перейдет в BAD_ADRESS а затем по истечению срока аренды как и для остальных компов я не смогу получить с него адрес либо зарезервировать.
Ошибка при попытке вручную резервировать адрес:
Ошибка при обращении к базе данных DHCP, дополнительные сведения об этой ошибке содержатся в журнале событий DHCP-сервера.

В журнале «журналы приложений и служб-> microsoft->DHCP Server-> Microsoft-Windows-DHCP Server Events/admin «:
Событие 20287
Запрос DHCP-клиента из 00155D000290 был отброшен, так как в применимых диапазонах IP-адресов области или суперобласти Scope1 нет доступных IP-адресов. Причиной этого может быть отсутствие доступных IP-адресов в диапазонах IP-адресов политики

В общих журналах, журнале «Приложение»:
Событие 11
Возможная утечка памяти. Приложение («C:Windowssystem32mmc.exe» «C:Windowssystem32dhcpmgmt.msc» ) (PID: 2572) передало указатель, не допускающий значения NULL, в RPC для параметра [out], помеченного [allocate(all_nodes)]. параметры [allocate(all_nodes)] всегда перераспределяются; если исходный указатель содержит адрес допустимой памяти, произойдет ее утечка. Вызов поступил на интерфейс с UUID ({6bffd098-a112-3610-9833-46c3f874532d}), Номер метода (18). Действие пользователя: Обратитесь к поставщику за обновленной версией приложения.

Событие 6005 (х3 но может быть связано с DHCP сервером соыбите)
Подписчик уведомлений winlogon тратит слишком много времени на обработку события уведомления (CreateSession).

В общих журналах, журнале «Система»:
Событие 1041
Служба DHCP не обслуживает клиентов DHCPv4, поскольку ни один активный сетевой интерфейс не имеет статически настроенного IPv4-адреса либо активных интерфейсов нет.

Событие 1059
Служба DHCP не смогла обнаружить папку для авторизации сервера.

Событие 1342
В диапазоне IP-адресов области Scope1 нет доступных IP-адресов.

Событие 1063
Для аренды области или суперобласти «Scope1» нет IP-адреса.

Событие 1056 (выполнял рекомендацию netsh dhcp server set dnscredentials — не помогло)
Служба DHCP обнаружила, что она запущена на контроллере домена (DC) и не имеет учетных данных, настроенных для использования с динамическими DNS-регистрациями, производимыми службой DHCP. Подобная конфигурация безопасности не рекомендуется. Учетные данные динамических DNS-регистраций можно настроить с помощью утилиты командной строки «netsh dhcp server set dnscredentials» или с помощью программы администрирования DHCP.

Событие 1065
Были удалены некоторые потерянные элементы конфигурации из-за удаления класса или определения параметра. Проверьте конфигурацию сервера.

Короче всё весело я х3 что делать. Бэкапа dhcp базы отдельного нету. Бэкапа виртуалки тоже нету. Что произойдет если я деактивирую и активирую скобу? Надо ли в таком случае заново выполнять резервирование и настройки, или не поможет? Второй вариант переустановить роль DHCP сервера?

Студворк — интернет-сервис помощи студентам

Добрый день! Помогите решить проблему с DHCP. Есть 1 сеть, сервер на win 2003 sp2. Решили обновить сервер. На другой сервер поставил win 2008 r2. (AD не поднимал) Стал настраивать DHCP на новом сервере и вылетели следующие ошибки:
1) 1004 «Служба DHCP не смогла инициализировать базу данных. Произошла следующая ошибка: Ошибка при обращении к базе данных DHCP; дополнительные сведения об этой ошибке содержатся в журнале событий DHCP-cервера.»
2) 1018 «Служба DHCP не смогла восстановить базу данных. Произошла следующая ошибка:
Ошибка при обращении к базе данных DHCP; дополнительные сведения об этой ошибке содержатся в журнале событий DHCP-cервера»
3) 1008 «Служба DHCP завершает свою работу из-за следующей ошибки:
Служба DHCP/BINL не авторизована в домене службы каталогов «2A040000» (IP-адрес сервера»
Службу удалял, заново устанавливал – результат такой же. Как устранить проблему?

Like this post? Please share to your friends:
  • Ошибка при открытии tcp портов 1389 1390
  • Ошибка при оплате штрафа на госуслугах
  • Ошибка при организации общего доступа
  • Ошибка при открытии zip файла
  • Ошибка при оплате через киви