DHCP-сервер раздаёт компьютерам сети IP-адреса и сетевые параметры: шлюз, DNS-серверы, имя домена. В Windows Server это отдельная роль, которой можно управлять из консоли DHCP или PowerShell. Ниже - полный цикл: установка, области, резервирования, параметры, связка с DNS, отказоустойчивость, резервное копирование, перенос на новый сервер и поиск неполадок.
Инструкция подходит для Windows Server 2016, 2019, 2022 и 2025.
Установка и авторизация
Роль ставится через «Диспетчер серверов» («Добавить роли и компоненты» → «DHCP-сервер») или PowerShell:
Install-WindowsFeature DHCP -IncludeManagementTools
После установки диспетчер серверов предлагает «Завершить настройку DHCP». Мастер делает две вещи, которые можно выполнить и вручную:
-
Создаёт локальные группы «Администраторы DHCP» и «Пользователи DHCP»:
netsh dhcp add securitygroups Restart-Service DHCPServerВ PowerShell то же делает
Add-DhcpServerSecurityGroup. -
Авторизует сервер в Active Directory:
Add-DhcpServerInDC -DnsName dhcp01.corp.example -IPAddress 192.168.10.5
Авторизация защищает домен от случайных DHCP-серверов: сервер Windows, входящий в домен, не будет выдавать адреса, пока его не авторизовали. Для авторизации нужны права администратора предприятия. Список авторизованных серверов показывает Get-DhcpServerInDC. На сервере вне домена авторизация не нужна.
Серверу DHCP нужен статический IP-адрес. Если у него несколько сетевых адаптеров, проверьте привязки: в консоли DHCP откройте свойства узла IPv4 → «Дополнительно» → «Привязки» и оставьте только интерфейсы, через которые нужно раздавать адреса. В PowerShell - Get-DhcpServerv4Binding и Set-DhcpServerv4Binding -InterfaceAlias "LAN" -BindingState $true.
Консоль DHCP
Консоль открывается командой dhcpmgmt.msc. Через «Действие» → «Добавить сервер» к ней подключают другие DHCP-серверы и управляют ими удалённо.
Службу запускают и останавливают в консоли (контекстное меню сервера → «Все задачи») или командами:
Restart-Service DHCPServer
Stop-Service DHCPServer
Start-Service DHCPServer
Статистика (сколько адресов выдано и свободно) не обновляется сама: в консоли нажмите «Обновить» или откройте «Отобразить статистику» в контекстном меню области. В PowerShell статистика всегда актуальна:
Get-DhcpServerv4ScopeStatistics
Создание области

Область - диапазон адресов одной подсети с общими параметрами. Мастер «Создать область» спрашивает диапазон, маску, исключения, срок аренды и основные параметры. То же в PowerShell:
Add-DhcpServerv4Scope -Name "Офис" -StartRange 192.168.10.50 -EndRange 192.168.10.250 `
-SubnetMask 255.255.255.0 -LeaseDuration 8.00:00:00 -State Active
Идентификатором области служит адрес подсети - в примере 192.168.10.0.
Срок аренды выбирайте по характеру сети. Для офиса со стационарными компьютерами подойдёт несколько дней, для гостевого Wi-Fi с постоянной сменой устройств - несколько часов, иначе адреса закончатся.
Исключения
Исключения - адреса внутри диапазона, которые сервер не будет выдавать: например, занятые принтерами или серверами со статическими адресами.
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.10.0 -StartRange 192.168.10.50 -EndRange 192.168.10.59
Проще сразу выбрать диапазон области так, чтобы статические адреса в него не попадали, а исключения оставить для отдельных случаев.
Параметры области
Без параметров клиент получит адрес, но не сможет выйти за пределы подсети. Основные параметры:
- 003 Маршрутизатор - шлюз по умолчанию;
- 006 DNS-серверы;
- 015 DNS-имя домена - суффикс для коротких имён.
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 `
-DnsServer 192.168.10.5,192.168.10.6 -DnsDomain corp.example
Параметры можно задать на трёх уровнях: сервера (для всех областей), области и резервирования. Более конкретный уровень перекрывает общий: параметр резервирования важнее параметра области, а тот - параметра сервера. Общие для всех областей значения, например DNS-серверы, удобно задать на уровне сервера (Set-DhcpServerv4OptionValue без -ScopeId).
Для разных типов устройств внутри одной области (например, IP-телефонов) используют классы поставщика и политики DHCP: политика выбирает клиентов по MAC-адресу, классу или другим признакам и выдаёт им свой диапазон и параметры.
Резервирование

Резервирование закрепляет за устройством постоянный адрес. Это удобнее статической настройки на самом устройстве: все адреса учитываются в одном месте, а шлюз и DNS по-прежнему приходят по DHCP.
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.20 `
-ClientId "00-15-5D-0A-1B-2C" -Name "Принтер бухгалтерии"
ClientId - MAC-адрес устройства. Его можно взять из списка аренд: в консоли в узле «Арендованные адреса» в контекстном меню аренды выберите «Добавить к резервированию».
Посмотреть, изменить и удалить аренды и резервирования:
Get-DhcpServerv4Lease -ScopeId 192.168.10.0
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0
Remove-DhcpServerv4Lease -IPAddress 192.168.10.77
Remove-DhcpServerv4Reservation -IPAddress 192.168.10.20
Удаление аренды не отключает клиента сразу: он продолжит пользоваться адресом, пока не попробует продлить аренду. Если удалили аренду, чтобы выдать адрес другому устройству, на старом клиенте выполните ipconfig /release или перезагрузите его.
Суперобласти и другие типы областей
Суперобласть объединяет несколько областей, которые обслуживают один физический сегмент сети. Это нужно, когда в одном сегменте работают несколько подсетей, например старая закончилась и рядом добавили новую:
Add-DhcpServerv4Superscope -SuperscopeName "Этаж 2" -ScopeId 192.168.20.0,192.168.21.0
Область IPv6. В большинстве сетей IPv6-адреса клиенты получают сами по объявлениям маршрутизатора, а DHCPv6 сообщает только DNS-серверы (режим без отслеживания состояния). Если нужна выдача адресов, создайте область:
Add-DhcpServerv6Scope -Prefix 2001:db8:10:: -Name "Офис IPv6"
Будет ли клиент брать адрес у DHCPv6, решают флаги в объявлениях маршрутизатора, их настраивают на маршрутизаторе.
Многоадресная область (MADCAP) раздаёт групповые адреса для приложений многоадресной рассылки. Встречается редко, создаётся в контекстном меню узла IPv4 → «Создать многоадресную область».
Интеграция с DNS
DHCP-сервер может сам регистрировать в DNS записи A и PTR для своих клиентов. Настройка - на вкладке «DNS» в свойствах узла IPv4 или области:
- «Включить динамические обновления DNS» - режим «только по запросу клиента» или «всегда». Компьютеры Windows обычно регистрируют запись A сами, а сервер - запись PTR.
- «Удалять записи A и PTR при удалении аренды» - чтобы в DNS не копились устаревшие записи.
- «Динамически обновлять записи DNS для DHCP-клиентов, не запрашивающих обновления» - для принтеров, телефонов, Linux-машин и других устройств, которые не регистрируются сами.
Чтобы записи создавались под одной учётной записью и их можно было обновлять при переходе клиента на другой DHCP-сервер, задайте серверу отдельную учётную запись для обновлений:
Set-DhcpServerDnsCredential -Credential (Get-Credential) -ComputerName dhcp01
Если DHCP-сервер установлен на контроллере домена, это особенно важно: иначе записи создаются от имени учётной записи компьютера контроллера.
Защита от конфликтов адресов
Если в сети есть устройства со статическими адресами внутри диапазона, сервер может выдать уже занятый адрес. Включите обнаружение конфликтов: перед выдачей адреса сервер отправит на него ping.
Set-DhcpServerSetting -ConflictDetectionAttempts 2
В консоли это «Число попыток обнаружения конфликтов» на вкладке «Дополнительно» свойств IPv4. Одна-две попытки достаточно, больше заметно замедляет выдачу адресов. Клиенты Windows и сами проверяют полученный адрес и отказываются от занятого.
Отказоустойчивость

Два DHCP-сервера могут обслуживать одни и те же области, синхронизируя аренды. Режима два:
- балансировка нагрузки - оба сервера выдают адреса, по умолчанию поровну;
- горячий резерв - работает основной сервер, второй включается, когда основной недоступен.
Add-DhcpServerv4Failover -ComputerName dhcp01 -PartnerServer dhcp02 -Name "dhcp01-dhcp02" `
-ScopeId 192.168.10.0 -LoadBalancePercent 50 -SharedSecret "общий_секрет"
Для горячего резерва вместо -LoadBalancePercent укажите -ServerRole Active (или Standby, если команда выполняется на резервном). В консоли то же делается командой «Настроить отработку отказа» в контекстном меню области. После изменения параметров области на одном сервере синхронизируйте их: «Репликация области» или Invoke-DhcpServerv4FailoverReplication.
Если клиенты находятся в других подсетях, на маршрутизаторах должен быть настроен агент ретрансляции DHCP (relay, на многих устройствах - ip helper-address) с адресами обоих серверов.
Резервное копирование и восстановление
Windows сама каждые 60 минут сохраняет базу DHCP в папку %SystemRoot%\System32\dhcp\backup. Ручная копия:
Backup-DhcpServer -Path "D:\DHCPBackup"
Восстановление:
Restore-DhcpServer -Path "D:\DHCPBackup"
Restart-Service DHCPServer
В консоли - «Архивировать» и «Восстановить» в контекстном меню сервера. Копируйте папку резервной копии на другой сервер или в систему архивации: копия только на этом же диске не спасёт при отказе сервера.
Перенос на новый сервер
Удобнее всего экспорт и импорт конфигурации вместе с арендами:
Export-DhcpServer -ComputerName dhcp-old -File C:\Temp\dhcp.xml -Leases
Import-DhcpServer -ComputerName dhcp-new -File C:\Temp\dhcp.xml -BackupPath C:\Temp\DHCPBackupNew -Leases
Порядок:
- На новом сервере установите роль, но области пока не активируйте.
- Экспортируйте конфигурацию со старого сервера и импортируйте на новый.
- Остановите службу DHCP на старом сервере и отключите её автозапуск.
- Авторизуйте новый сервер (
Add-DhcpServerInDC) и удалите старый из списка (Remove-DhcpServerInDC). - Обновите адреса DHCP-серверов в агентах ретрансляции на маршрутизаторах.
Согласование и сжатие базы
Если статистика и список аренд расходятся или консоль показывает странные записи, выполните согласование: контекстное меню узла IPv4 → «Согласовать все области», затем «Согласовать». Сервер сравнит сводные данные с подробными и предложит исправить расхождения.
База хранится в %SystemRoot%\System32\dhcp\dhcp.mdb. Сервер сжимает её автоматически, но при очень большой базе можно сжать вручную при остановленной службе:
cd %SystemRoot%\System32\dhcp
jetpack dhcp.mdb temp.mdb
Устранение неполадок
Клиент не получает адрес
Если клиент Windows получил адрес вида 169.254.x.x, значит, ответа от DHCP-сервера не было. Проверьте по порядку:
- Работает ли служба и авторизован ли сервер (
Get-DhcpServerInDC). - Активна ли область и есть ли свободные адреса (
Get-DhcpServerv4ScopeStatistics, полеPercentageInUse). - Привязан ли сервер к нужному интерфейсу.
- Если клиент в другой подсети - настроен ли агент ретрансляции и не блокируются ли UDP-порты 67 и 68 между сегментами.
- Не стоит ли в сети другой DHCP-сервер, например, домашний маршрутизатор, подключённый к офисной сети. Посторонний сервер выдаёт неверные адреса и шлюзы.
На клиенте:
ipconfig /release
ipconfig /renew
ipconfig /all
В выводе ipconfig /all видно, какой DHCP-сервер выдал адрес и когда истекает аренда.
Журналы
Журнал аудита DHCP включён по умолчанию и пишется в %SystemRoot%\System32\dhcp\DhcpSrvLog-<день недели>.log, по файлу на каждый день недели. Каждая строка начинается с кода события. Полезные коды:
- 10 - новая аренда, 11 - продление, 12 - освобождение адреса;
- 13 - адрес уже используется в сети (конфликт);
- 14 - в области закончились адреса;
- 15 - в аренде отказано.
Расшифровка всех кодов записана в начале каждого файла журнала. Включить или выключить аудит можно на вкладке «Общие» свойств IPv4 или командой Set-DhcpServerAuditLog.
Ошибки службы, проблемы авторизации и отработки отказа - в журнале событий: «Журналы приложений и служб» → «Microsoft» → «Windows» → «DHCP-Server».
NAP
В Windows Server 2008-2012 R2 DHCP-сервер мог работать с защитой доступа к сети (NAP) и выдавать ограниченный адрес компьютерам, не соответствующим политике безопасности. NAP был объявлен устаревшим в Windows Server 2012 R2 и удалён начиная с Windows Server 2016, а для контроля доступа к сети используют проверку подлинности 802.1X на коммутаторах и точках доступа.





Комментарии
Комментариев пока нет - будьте первым.