- Как проверить работу dhcp сервера windows
- Что такое авторизованный DHCP
- Требования к серверу перед авторизацией
- Интересные моменты
- Методы авторизации DHCP в Active Directory
- Первый метод авторизации DHCP
- Второй метод авторизации DHCP
- Авторизовать DHCP-сервер с помощью Netsh
- Авторизовать DHCP-сервер с помощью PowerShell
- Как деактивировать DHCP сервер
- Где прописывается DHCP в конфигурации Active Directory
- Как дать права на авторизацию DHCP сервера
- Устранение неполадок на сервере DHCP Troubleshoot problems on the DHCP server
- Контрольный список по устранению неполадок Troubleshooting checklist
- Журналы событий Event logs
- Сбор данных Data collection
- Журнал DHCP-сервера DHCP Server log
- Трассировка сети Network trace
Как проверить работу dhcp сервера windows
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Ранее мы с вами говорили про принципы работы DHCP протокола и разбирали его поэтапно. В сегодняшней заметке, мне бы хотелось осветить вопрос по защите и безопасности 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
Первый метод авторизации DHCP
Я покажу его на примере Windows Server 2019, когда вы установили роль DHCP, вас попросят закончить настройку. В итоге у вас откроется окно мастера, где вас попросят авторизовать в Active Directory, обращаю внимание, что вы на этом этапе можете ее пропустить. Напоминаю, что права должны быть минимум администратора домена или аналогично делегированные.
Второй метод авторизации DHCP
Вторым методом я могу выделить возможность, произвести авторизацию сервиса в AD в самой оснастке, после настройки области IPV4 или IPV6. Для этого нажмите в оснастке по самому корню правым кликом и выберите в контекстном меню пункт «Авторизовать».
Так же в данной оснастке можно авторизовать и удаленный сервер, для этого щелкните правым кликом по корню и выберите пункт «Список авторизованных серверов».
В окне «Список авторизованных серверов» нажмите кнопку «Авторизовать». У вас откроется дополнительное окно, где можно указать DNS имя или IP-адрес. Я впишу мой второй дополнительный сервер с ip-адресом 192.168.31.3.
Произойдет поиск роли DHCP на данном сервере. Если она там есть то появится дополнительное окно, где нужно нажать «ОК».
Все сервер у вас должен появится в списке авторизованных.
Авторизовать DHCP-сервер с помощью Netsh
Откройте командную строку с правами администратора и введите следующую команду для авторизации DHCP-сервера.
Команда показывает мои текущие авторизованные серверы в домене, как видим у меня он один dc01/root/pyatilistnik.org. В окне «Управление авторизованными серверами» его видно. Далее авторизуем новый сервер svt2019s01.root.pyatilistnik.org с ip-адресом 192.168.31.3
После этого я сделал вывод списка авторизованных DHCP и вижу, что их теперь два.
Авторизовать DHCP-сервер с помощью PowerShell
Естественно я не могу обойти стороной любимый язык PowerShell, так как он с поставленной задачей справляется на 5+. Откройте свой PowerShell в режиме администратора и выведите для начала список текущих DHCP адресов в домене.
Вижу, что в данный момент он один.
Теперь, чтобы добавить второй сервер, выполните команду:
Как деактивировать DHCP сервер
Логично предположить, что методов деактивации тоже четыре.
- Из оснастки DHCP сервера, для этого правым кликом по названию сервера и из контекстного меню выбираем пункт «Запретить».
- Второй метод деактивации — это из окна «Управление авторизованными серверами», выбираем нужный и нажимаем кнопку «Запретить»
- Третий метод запретить конкретный сервис, это утилита командной строки netsh.
- Последний метод деактивации, это в PowerShell
Где прописывается DHCP в конфигурации Active Directory
Теперь хочу вам показать, где в классах и с какими атрибутами прописываются записи авторизованных DHCP серверов. Откройте редактор атрибутов AD и зайдите в раздел конфигурации. Перейдите по пути: CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org. В данном контейнере вы увидите записи ваших авторизованных DHCP сервисов и очень важную запись CN=DhcpRoot, если ее нет, то это плохо.
Когда вы успешно авторизовываете ваш сервис в Active Directory, то он должен создать запись класса dHCPClass в CN должно быть его имя и различающееся имя (distinguished name). Если зайти в свойства любой записи сервиса, то вы обнаружите атрибут dhcpServer, тут должен быть прописан ip-адрес и его DNS-имя.
Во времена 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 или восстановлении сервера из резервной копии приличной давности, он у вас может не запускать и при попытке пройти авторизацию написать «Параметр задан неверно»
В таких случаях вам нужно проверять наличие CN=Services,CN=Configuration,DC=root,DC=pyatilistnik,DC=org записи вашего сервера. Если ее нет, то придется создать ее с нуля. Через правый клик создаем новый объект AD.
Выбираем класс объекта dhcpServer.
Прописываем Common-name вашего сервера.
dhcp-Unique-key ставим 0.
dhcp-type ставим 1.
В dhcp-identification прописываем distinguished name сервера.
После создания записи, попробуйте перезапустить DHCP на нужно сервере. Если не поможет, то удаляете данную запись, и заново пробуете его авторизовать, бывает помогает.
Как дать права на авторизацию DHCP сервера
На сколько мне известно, чтобы у вас была возможность авторизовывать серверы DHCP, то вы должны быть администратором предприятия (Enterprise Admin). Понятно, что в данной группе должно быть минимум людей. Вы можете делегировать данные права, любой группе или пользователю. Для этого, в оснастке Active Directory — сайты и службы с включенной опцией «Показать узел служб» вы нажимаете правым кликом по контейнеру NetServices и выбираете пункт делегирование управления.
На первом шаге, вам необходимо указать пользователя или группу, для которой будут выданы права на управление DHCP авторизацией.
Выбираем создание особой задачи для делегирования.
Оставляем пункт «Этой папкой, существующими в ней объектами и созданием новых объектов в этой папке»
На следующем шаге, даем полные права. После этого у нужной группы появится возможность авторизовывать сервера DHCP в вашем домене Active Directory.
Устранение неполадок на сервере DHCP Troubleshoot problems on the DHCP server
В этой статье описывается, как устранять неполадки, возникающие на DHCP-сервере. This article discusses how to troubleshoot problems that occur on the DHCP server.
Контрольный список по устранению неполадок Troubleshooting checklist
Проверьте следующие настройки. Check the following settings:
Служба DHCP-сервера запущена и запущена. The DHCP server service is started and running. Чтобы проверить этот параметр, выполните команду net start и найдите DHCP-сервер. To check this setting, run the net start command, and look for DHCP Server.
Убедитесь, что аренда IP-адресов доступна в области DHCP-сервера для подсети, в которой находится клиент DHCP. Verify that IP address leases are available in the DHCP server scope for the subnet the DHCP client is on. Для этого см. статистику для соответствующей области в консоли управления DHCP-сервером. To do this, see the statistic for the appropriate scope in the DHCP server management console.
Проверьте _ , можно ли найти в аренде адресов НЕдопустимые списки адресов. Check whether any BAD_ADDRESS listings can be found in Address Leases.
Проверьте, имеют ли устройства в сети статические IP-адреса, которые не были исключены из области DHCP. Check whether any devices on the network have static IP addresses that have not been excluded from the DHCP scope.
Убедитесь, что IP-адрес, с которым связан DHCP-сервер, находится в подсети областей, из которых должны быть арендованы IP-адреса. Это происходит, если агент ретрансляции недоступен. Verify that the IP address to which DHCP server is bound is within the subnet of the scopes from which IP addresses must be leased out. This is in case no relay agent is available. Для этого выполните командлет Get-DhcpServerv4Binding или Get-DhcpServerv6Binding . To do this, run the Get-DhcpServerv4Binding or Get-DhcpServerv6Binding cmdlet.
Убедитесь, что только DHCP-сервер прослушивает порт UDP 67 и 68. Verify that only the DHCP server is listening on UDP port 67 and 68. Никакие другие процессы и другие службы (такие как WDS или PXE) не должны занимать эти порты. No other process or other services (such as WDS or PXE) should occupy these ports. Для этого выполните netstat -anb команду. To do this, run the netstat -anb command.
Убедитесь, что исключение IPsec-сервера Добавлено при работе с средой, развернутой по протоколу IPsec. Verify that the DHCP server IPsec exemption is added if you are dealing with an IPsec-deployed environment.
Убедитесь, что IP-адрес агента ретранслятора можно проверить с DHCP-сервера. Verify that the relay agent IP address can be pinged from the DHCP server.
Перечисление и Проверка настроенных политик и фильтров DHCP. Enumerate and check configured DHCP policies and filters.
Журналы событий Event logs
Проверьте журналы событий службы «система и DHCP-сервер» (журналы приложений и служб > Microsoft > Windows > DHCP-сервер), чтобы сообщить о проблемах, связанных с наблюдаемой проблемой. Check the System and DHCP Server service event logs (Applications and Services Logs > Microsoft > Windows > DHCP-Server) for reported issues that are related to the observed problem. В зависимости от типа проблемы событие заносится в журнал для одного из следующих каналов событий: DHCP- сервер: рабочиесобытия DHCP-сервер события административных событий DHCP-сервера системные события оповещения DHCP-сервер события аудита DHCP-сервера Depending on the kind of issue, an event is logged to one of the following event channels: DHCP Server Operational Events DHCP Server Administrative Events DHCP Server System Events DHCP Server Filter Notification Events DHCP Server Audit Events
Сбор данных Data collection
Журнал DHCP-сервера DHCP Server log
Журналы отладки службы DHCP-сервера содержат дополнительные сведения о назначении аренды IP-адресов и динамические обновления DNS, которые выполняются DHCP-сервером. The DHCP Server service debug logs provide more information about the IP address lease assignment and the DNS dynamic updates that are done by the DHCP server. Эти журналы по умолчанию расположены в папке% WINDIR% \ system32 \ DHCP. These logs by default are located in %windir%\System32\Dhcp. Дополнительные сведения см. в разделе Анализ файлов журнала DHCP-сервера. For more information, see Analyze DHCP Server Log Files.
Трассировка сети Network trace
Корреляция трассировки сети может означать, что DHCP-сервер выполнялся в момент записи события в журнал. A correlating network trace may indicate what the DHCP server was doing at the time that the event was logged. Чтобы создать такую трассировку, выполните следующие действия. To create such a trace, follow these steps:
Перейдите в GitHubи скачайте файл _tools.zipТсс . Go to GitHub, and download the tss_tools.zip file.
Скопируйте _ файлtools.zip Тсс и разверните его в расположении на локальном диске, например в папке C: \ Tools. Copy the Tss_tools.zip file, and expand it to a location on the local disk, such as to the C:\tools folder.
Выполните следующую команду из раздела C: \ Tools в окне командной строки с повышенными привилегиями: Run the following command from C:\tools in an elevated Command Prompt window: