DHCP-сервер Windows Server: установка, области и управление из PowerShell
Семёнов Евгений Сергеевич, директор АйТи Фреш. За пятнадцать лет я поднял DHCP примерно в сотне офисов Москвы — от маленьких студий на 12 рабочих мест до дистрибуторов с четырьмя VLAN и сотней IP-телефонов. Роль DHCP в Windows кажется простой, но практических граблей вокруг неё больше, чем у любой другой инфраструктурной службы. Разбираю, как я ставлю DHCP без сюрпризов, и как потом сопровождаю его скриптами.
Зачем вообще отдельный DHCP в офисе
Удивительно, но многие компании до сих пор живут на DHCP, который крутит роутер Keenetic или Mikrotik у входа в офис. Пока сотрудников 10 — вопросов нет. Но стоит появиться второму VLAN, гостевой сети, телефонии и PXE-загрузке, как роутер перестаёт справляться: опции нельзя задать по-разному на разные scope, нет резервирования по MAC, нет интеграции с DNS.
Windows Server решает это одной ролью. Плюсы, ради которых я его ставлю:
- Централизованное управление всеми областями и всеми VLAN из одной консоли.
- Автоматическая регистрация арендованных адресов в DNS — клиенты сразу видны по имени.
- Защита от «левых» DHCP — в домене служба не запустится без авторизации в AD.
- DHCP Failover — синхронизация двух серверов в режиме Hot Standby или Load Balance.
- Сотни готовых опций, включая PXE, VoIP autoprovisioning, VoIP VLAN discovery.
При всех плюсах роль очень нетребовательна: на продакшн-сервере с 600 активными лизами она занимает 80–120 МБ памяти.
Что спланировать до установки
Самая частая ошибка новичков — ставить DHCP «сразу и потом разберёмся». Я всегда трачу полчаса на бумажный план. Без него через месяц получаются пересекающиеся scope, отсутствие резервирования, непонятные опции.
| Параметр | Что решаем | Типовое значение |
|---|---|---|
| Подсеть/маска | Куда выдаём адреса | 192.168.10.0/24 — офис, 192.168.20.0/24 — Wi-Fi |
| Диапазон scope | Какие IP раздавать | .50–.200, фиксированная инфраструктура — .1–.49 |
| Срок аренды | Как часто продлевать | 8 дней — офис, 4 часа — гости |
| DNS-серверы | Опция 006 | Два DC с AD-интегрированной зоной |
| Шлюз | Опция 003 | IP маршрутизатора VLAN |
| Опция 066/067 | TFTP-образ для PXE/IP-тел. | Адрес и путь до prov-файла |
Если у вас сложная сеть с несколькими VLAN, сразу пишите отдельный scope на каждый VLAN и настраивайте DHCP Relay (ip helper-address) на коммутаторах L3. Это сильно чище, чем городить Super Scope.
Установка роли DHCP через PowerShell
Всё ставится одной командой. На изолированном сервере я делаю так:
Install-WindowsFeature DHCP -IncludeManagementTools
Add-DhcpServerSecurityGroup
Restart-Service dhcpserver
# Авторизуем сервер в AD
Add-DhcpServerInDC -DnsName "dhcp01.corp.example.ru" -IPAddress 192.168.1.10
# Подтверждаем выполнение пост-инсталл шага
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 `
-Name ConfigurationState -Value 2
Последняя строка снимает в Server Manager противный значок про «Configuration required». Многие этого не замечают и потом при перезагрузке забывают авторизовать сервер в домене.
Создание scope и нужных опций
Создать scope можно через консоль dhcpmgmt.msc, но в повторяемых инсталляциях я предпочитаю скрипт — так документ проекта сразу превращается в код.
# Офисная сеть 192.168.10.0/24
Add-DhcpServerv4Scope `
-Name "Office LAN" `
-StartRange 192.168.10.50 `
-EndRange 192.168.10.200 `
-SubnetMask 255.255.255.0 `
-LeaseDuration (New-TimeSpan -Days 8) `
-State Active
# Опции на scope
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-Router 192.168.10.1 `
-DnsServer 192.168.1.10, 192.168.1.11 `
-DnsDomain "corp.example.ru"
# Опция 066 и 067 — для IP-телефонов Yealink
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-OptionId 66 -Value "ftp.corp.example.ru"
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-OptionId 67 -Value "y000000000028.cfg"
В моей практике перед запуском scope я всегда пингую весь диапазон по ICMP, чтобы не раздать IP-адрес, который уже торчит на принтере со статическим адресом из прошлой жизни.
Резервирование IP и исключения
Резервирование я использую для всего, что должно иметь стабильный IP в пределах scope, но не выводится из DHCP. Например, корпоративные МФУ Kyocera и Samsung — печать в 1С ломается, если IP внезапно сменился.
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 `
-IPAddress 192.168.10.35 `
-ClientId "00-25-B3-44-AA-BB" `
-Description "МФУ Kyocera ресепшн"
# Исключить адреса, занятые статикой
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.10.0 `
-StartRange 192.168.10.2 -EndRange 192.168.10.49
Один раз в 2024 году я не исключил диапазон .2–.49 и два маршрутизатора получили адрес, который уже стоял на коммутаторе. Весь офис лежал 40 минут. С тех пор исключения прописываю до активации scope, а не после.
DHCP Failover: зачем и как настраивать
Один DHCP-сервер — мина замедленного действия. Упала виртуалка, и новые сотрудники не могут войти в домен, потому что не получили IP. С DHCP Failover Windows Server 2012+ решает это без плясок с кластером.
Add-DhcpServerv4Failover `
-ComputerName "dhcp01.corp.example.ru" `
-PartnerServer "dhcp02.corp.example.ru" `
-Name "FO-Office" `
-ScopeId 192.168.10.0, 192.168.20.0 `
-SharedSecret "S#перСекретAyT1fresh" `
-LoadBalancePercent 50 `
-MaxClientLeadTime (New-TimeSpan -Hours 1) `
-AutoStateTransition $true `
-StateSwitchInterval (New-TimeSpan -Minutes 60)
Для офисов я выбираю режим Load Balance 50/50: оба сервера активно обслуживают клиентов, при падении одного второй подхватывает весь трафик. В сети с одним основным и одним «холодным» резервом ставлю Hot Standby с коэффициентом 80/20.
Кейс: холдинг в Северном Бутово, 4 VLAN, 180 устройств
Август 2025 года. Клиент — торговая компания в Северном Бутово, 4 филиала, 180 устройств, Wi-Fi, IP-телефония Yealink, PXE-загрузка тонких клиентов HP. До нас работал DHCP на Mikrotik: гостевая сеть периодически получала адреса из рабочего VLAN, телефоны не автоподтягивали прошивку.
Что мы сделали за две рабочие смены:
- Подняли две виртуалки Windows Server 2022 Standard на наших серверах Dell Xeon Platinum 8280 в дата-центре МТС.
- Создали 4 scope под VLAN 10 (офис), 20 (Wi-Fi), 30 (голос), 40 (PXE).
- Для VLAN 30 настроили опцию 066 с адресом FTP-сервера провижна и опцию 43 с тегом голосового VLAN для автопереключения телефонов.
- Включили DHCP Failover Load Balance 50/50 между двумя серверами.
- Подняли резервное копирование базы DHCP раз в сутки через Export-DhcpServer в общий шар.
Работы обошлись клиенту в 95 000 руб. Простои после внедрения за полгода — 0 минут. Время на регистрацию нового телефона с нуля сократилось с 20 минут (ручная настройка) до 90 секунд (загрузился и подцепил prov).
Мониторинг и резервное копирование
Без бэкапа базы DHCP вы рискуете при фатальном отказе потерять все резервирования и настройки scope. Встроенная команда экспортирует всё в XML:
# Еженедельный бэкап
Export-DhcpServer -ComputerName "dhcp01" `
-File "\\backup\dhcp\dhcp01-$(Get-Date -Format yyyy-MM-dd).xml" `
-Leases -Force
# Восстановление на новом сервере
Import-DhcpServer -ComputerName "dhcp01-new" `
-File "\\backup\dhcp\dhcp01-2025-11-20.xml" `
-BackupPath "C:\dhcp-restore" -Leases -ScopeOverwrite -Force
Для мониторинга я снимаю два простых счётчика — число активных аренд и процент заполнения scope. Zabbix или PRTG подключаются через WMI и пинают в Telegram, когда scope заполнен на 85%. Это спасает от ситуации «у нас в офисе у всех пропал интернет» посреди рабочего дня.
Типичные ошибки, которые вижу в чужих сетях
- DHCP на контроллере домена. Так делают, потому что «экономим лицензию». Но перевод роли DC, повышение/понижение и миграция становятся адскими.
- Один большой scope на /16. Диагностика broadcast-шторма в такой сети — отдельный вид спорта.
- Опция DNS указывает на провайдерский 8.8.8.8. При наличии AD клиенты не разрешают внутренние имена.
- Нет резервирования MFU и сетевой техники. Через месяц принтер получает новый IP, и все сотрудники снова добавляют его вручную.
- Scope активен без DHCP Failover. Отказ сервера = весь офис стоит.
- Журналы DHCP не ротируются. Спустя год C:\Windows\System32\dhcp раздувается до десятков ГБ.
Развернём DHCP и приведём в порядок IP-адресацию
Поднимем DHCP на Windows Server 2019 или 2022, распишем план адресации, настроим Failover и интеграцию с AD DNS, привяжем IP-телефонию Yealink или Grandstream через опции 066/067. Работаем по Москве и МО, выезд в течение 2–4 часов, удалённое сопровождение по SLA.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы по DHCP Windows Server
- Нужно ли ставить DHCP на контроллер домена?
- Формально можно, но я так давно не делаю. Правильнее держать DHCP на отдельном инфраструктурном сервере и поднимать второй узел для DHCP Failover.
- Как избежать конфликта IP с «левым» DHCP-сервером?
- В домене не авторизованный в AD DHCP-сервер Windows не начнёт выдавать адреса. Для неофициальных роутеров поможет DHCP Snooping на управляемом коммутаторе.
- Какой срок аренды оптимален для офиса?
- Обычно 8 суток. Для гостевой сети и Wi-Fi — 2–4 часа. Для инфраструктурных scope с редкими изменениями — 30 суток.
- Для чего настраивать опцию 066 и 067?
- Эти опции передают клиенту адрес TFTP-сервера и путь к загрузочному файлу. Используются для PXE и автопровижна IP-телефонов.
- Сохранит ли DHCP аренды при перезагрузке?
- Да, база dhcp.mdb в C:\Windows\System32\dhcp сохраняет состояние. После ребута служба встаёт за 10–30 секунд. Резервную копию делайте через Export-DhcpServer.