Настройка DHCP на Windows Server: шаг за шагом, без теории
Семёнов Евгений Сергеевич из АйТи Фреш на связи. В этой статье не будет много теории — только рабочий сценарий, по которому я и моя команда разворачиваем DHCP-сервер в офисах клиентов. В 2026 году, несмотря на распространённость корпоративных решений, хорошо настроенный Windows DHCP по-прежнему остаётся самым удобным вариантом для сетей от 20 до 1000 рабочих мест. Минимум экзотики, максимум интеграции с AD.
Подготовка: что проверить перед установкой
Новички сразу лезут в Server Manager и кликают «Install Roles». Мой подход другой: сначала чек-лист, затем установка. У меня он не меняется с 2015 года и предотвращает 90% проблем.
- Статический IP на будущем DHCP-сервере, без DHCP на сетевом адаптере.
- Синхронное время с контроллером домена — иначе Kerberos не даст авторизоваться.
- Корректный DNS-сервер на сетевом адаптере (указывает на DC).
- Согласованное имя — без пробелов, кириллицы и точек, кроме доменного суффикса.
- Сервер введён в домен перед установкой роли.
- Резервирование диска C: минимум 40 ГБ — база dhcp.mdb может вырасти.
Забыл хотя бы одну галку — потом ловишь сюрприз вроде неработающей регистрации в DNS или невозможности авторизоваться в AD.
Установка роли
Я всегда предпочитаю PowerShell: команду можно сохранить в репозитории, повторно развернуть на резервный сервер одной строкой.
Install-WindowsFeature -Name DHCP -IncludeManagementTools
Add-DhcpServerSecurityGroup
Restart-Service dhcpserver
# Авторизация в Active Directory
Add-DhcpServerInDC -DnsName "dhcp-srv01.corp.fresh.ru" `
-IPAddress 10.10.0.20
# Завершение post-install
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12" `
-Name ConfigurationState -Value 2
После этого консоль dhcpmgmt.msc уже показывает зелёный значок на сервере. Если значок красный — смотрим Event Viewer, там обычно всё написано прямым текстом.
Создание первой области (scope)
Scope — это диапазон адресов, которые сервер раздаёт клиентам в одной подсети. Я создаю их только скриптом, даже первый:
Add-DhcpServerv4Scope `
-Name "Main Office 10.10.10.0/24" `
-StartRange 10.10.10.100 `
-EndRange 10.10.10.240 `
-SubnetMask 255.255.255.0 `
-LeaseDuration (New-TimeSpan -Days 8) `
-State Active
Set-DhcpServerv4OptionValue -ScopeId 10.10.10.0 `
-Router 10.10.10.1 `
-DnsServer 10.10.0.10, 10.10.0.11 `
-DnsDomain "corp.fresh.ru"
Add-DhcpServerv4ExclusionRange -ScopeId 10.10.10.0 `
-StartRange 10.10.10.2 -EndRange 10.10.10.99
Диапазон .2–.99 я всегда держу под инфраструктуру (коммутаторы, принтеры, серверы, IP-камеры). Пользователям раздаётся .100–.240. В .241–.254 оставляю пустоту на случай аварийных резервирований.
Опции и резервирования
Для базовой работы хватает трёх опций: 003 (шлюз), 006 (DNS-сервер), 015 (домен). Для телефонии и PXE добавляются 066 и 067. Ниже таблица опций, которые я настраиваю в 90% случаев.
| Номер | Назначение | Пример значения |
|---|---|---|
| 003 | Router | 10.10.10.1 |
| 006 | DNS Servers | 10.10.0.10, 10.10.0.11 |
| 015 | DNS Domain | corp.fresh.ru |
| 042 | NTP Servers | 10.10.0.10 |
| 066 | TFTP/Prov Server | ftp.corp.fresh.ru |
| 067 | Boot File | y000000000028.cfg |
Резервирования делаю по MAC для сетевого оборудования и принтеров:
Add-DhcpServerv4Reservation -ScopeId 10.10.10.0 `
-IPAddress 10.10.10.45 `
-ClientId "00-23-AC-F4-11-02" `
-Description "Kyocera TASKalfa 3253ci — Ресепшн"
DHCP Failover: отказоустойчивость без кластера
Failover в Windows Server — простой и надёжный механизм. Два сервера синхронизируют scope, аренды и опции. Если один падает, второй обслуживает клиентов без прерывания.
Add-DhcpServerv4Failover `
-ComputerName "dhcp-srv01" `
-PartnerServer "dhcp-srv02" `
-Name "FO-Office" `
-ScopeId 10.10.10.0 `
-SharedSecret "Strong$ecret!42" `
-LoadBalancePercent 50 `
-MaxClientLeadTime (New-TimeSpan -Hours 1)
Для нашей инфраструктуры АйТи Фреш на 8 серверах Dell Xeon Platinum 8280 я держу failover-пару из двух виртуалок на разных физических нодах с 40G Mellanox между ними — синхронизация мгновенная.
Кейс: проектная организация в Бутово, 52 сотрудника
Март 2025 года. Клиент — проектное бюро, 52 сотрудника, 3 этажа, старый L3-коммутатор HP 2920, DHCP-сервис крутился на том же самом коммутаторе HP. Проблема: принтеры раз в 2–3 недели получали новые адреса, сотрудники жаловались, что «1С не печатает накладные».
Что мы сделали за один рабочий день:
- Развернули Windows Server 2022 Standard на виртуалке клиента (4 vCPU, 4 ГБ RAM).
- Перенесли все резервирования с HP на Windows DHCP, выгрузив их через show в коммутаторе и импортировав сразу скриптом.
- Разделили диапазон на инфраструктурную (.2–.99) и пользовательскую (.100–.240) части.
- Добавили опции 066/067 для предстоящего перехода на IP-телефонию Yealink.
- На L3-коммутаторе прописали ip helper-address на Windows DHCP и отключили встроенный DHCP.
Работы — 38 000 руб. Принтеры больше IP не меняют уже 13 месяцев. Заодно клиент согласовал переход на телефонию — опции уже были на месте.
Мониторинг и обслуживание
База DHCP живёт в C:\Windows\System32\dhcp, и без регулярного обслуживания она со временем замусоривается. У меня стоит сервисный скрипт, запускаемый раз в неделю:
# Резервное копирование
Backup-DhcpServer -ComputerName "dhcp-srv01" `
-Path "\\backup01\dhcp\dhcp-srv01-$(Get-Date -f yyyy-MM-dd)"
# Экспорт в XML — на случай перехода на новую версию
Export-DhcpServer -ComputerName "dhcp-srv01" `
-File "\\backup01\dhcp\dhcp-srv01-full.xml" -Leases -Force
# Очистка устаревших лизов
Invoke-Command -ComputerName "dhcp-srv01" -ScriptBlock {
Get-DhcpServerv4Scope | ForEach-Object {
Get-DhcpServerv4Lease -ScopeId $_.ScopeId |
Where-Object { $_.AddressState -eq "Declined" } |
Remove-DhcpServerv4Lease
}
}
Плюс мониторинг Zabbix по числу активных аренд и свободных IP на scope: при переходе через 85% дежурный получает алерт в Telegram.
Частые ошибки и их лечение
- Клиенты получают 169.254.x.x. Сервер не авторизован в AD или сеть не проходит. Проверяем
Get-DhcpServerInDCи ARP-таблицу на клиенте. - Регистрация в DNS не работает. Не включён динамический апдейт в свойствах scope, либо DHCP-сервер не член группы DnsUpdateProxy.
- Адреса уходят «в пустоту». Неправильный scope на чужом VLAN, или DHCP Relay смотрит не на тот адрес сервера.
- Failover рассинхронизирован.
Invoke-DhcpServerv4FailoverReplicationвозвращает состояние. Обычно лечится перезапуском службы на ведомом. - Служба не запускается после обновления Windows. Права на папку C:\Windows\System32\dhcp слетают раз в пятилетку — выставляем NETWORK SERVICE: Full Control.
Настроим DHCP и DNS в вашем офисе
Проведём аудит сетевой адресации, спроектируем сегментацию VLAN, развернём DHCP Windows Server с Failover, подключим мониторинг и заберём сопровождение. Москва и область, SLA до 2 часов.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы по DHCP Windows Server
- Сколько памяти и CPU нужно DHCP-серверу?
- Для офиса до 200 клиентов хватает 2 vCPU и 2 ГБ RAM. База лизов почти не ест ресурсы, главное — SSD под system32\dhcp.
- Почему клиенты получают адреса из старого диапазона?
- Скорее всего, у них ещё живая аренда. Сделайте ipconfig /release + /renew, проверьте ip helper-address на L3-коммутаторах.
- Можно ли собрать Failover из разных версий Windows Server?
- Microsoft поддерживает 2012 R2 и новее, но я советую обе ноды одного поколения. Меньше головной боли.
- Нужно ли открывать порты DHCP в firewall?
- UDP 67/68 открываются автоматически. Для Failover добавьте TCP 647 между парой серверов.
- Как выдать разные DNS для гостевой и рабочей сети?
- Разные scope с разными значениями опции 006. Гостевой — публичный DNS, рабочий — внутренний DC.