DHCP на Windows Server: установка и управление — АйТи Фреш
Москва, Щёлковское шоссе, д. 92, корп. 7 · Пн–Пт 9:00–19:00 · +7 903 729-62-41
· 15 мин чтения

DHCP-сервер Windows Server: установка, области и управление из PowerShell

DHCP-сервер Windows Server: установка, области и управление из PowerShell

Мы поднимали DHCP в сотне с лишним офисов — от крошечных студий на 12 мест до серьёзных дистрибьюторов с четырьмя VLAN и сотней IP-телефонов. Казалось бы, DHCP в Windows — что там сложного? Но на практике вокруг него столько подводных камней, что ни одна другая инфраструктурная служба рядом не стоит по количеству проблем. Дальше расскажу, как мы ставим DHCP, чтобы никаких сюрпризов, и сопровождаем его хитрыми скриптами.

Зачем вообще отдельный DHCP в офисе

Иногда поражаюсь: сколько компаний до сих пор живут на DHCP, который раздаёт обычный Keenetic или Mikrotik. Роутер стоит где-нибудь у входа, и все довольны. Пока у вас десяток сотрудников — вопросов нет. Но что происходит, как только появляется второй VLAN? Или, скажем, гостевая сеть? А если к этому добавить IP-телефонию или PXE-загрузку? Всё, роутер просто не справляется, он выдыхается. Вы ведь не сможете задать разные опции для разных scope, там нет резервирования по MAC-адресам, да и интеграция с DNS отсутствует как класс. Получается бардак.

Windows Server решает все эти задачи одной-единственной ролью. Мы выбираем его, потому что плюсы очевидны:

И знаете, что самое классное? При всех своих невероятных возможностях эта роль абсолютно неприхотлива к ресурсам. Возьмём продакшн-сервер: там 600 активных лизов, и что? DHCP занимает всего 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-интегрированной зоной
ШлюзОпция 003IP маршрутизатора VLAN
Опция 066/067TFTP-образ для PXE/IP-тел.Адрес и путь до prov-файла

Если у вас сложная сеть, где несколько VLAN, мой однозначный совет: сразу делайте отдельный scope для каждого. И, пожалуйста, не забудьте про 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. Если их IP-адрес вдруг поменяется, печать из 1С просто встанет. Кому это нужно? Никому!

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 года. К нам тогда обратилась одна торговая компания из Северного Бутово. У них четыре филиала, около 180 устройств, Wi-Fi, IP-телефония Yealink, и, конечно, PXE-загрузка для тонких клиентов HP. До того, как мы пришли, за DHCP отвечал Mikrotik. И вот что там творилось: гостевая сеть постоянно получала адреса из рабочего VLAN, а телефоны вечно не могли автоматически подтянуть прошивку. Сплошной хаос!

Что мы сделали за две рабочие смены:

Знаете, во сколько это обошлось клиенту? Всего 95 000 рублей. А вот что действительно круто: за полгода после внедрения не было ни минуты простоя! И самое приятное — время на регистрацию нового телефона с нуля сократилось с 20 минут ручной настройки до каких-то 90 секунд. Телефон просто загружается и сам подхватывает все нужные prov-файлы. Фантастика, правда?

Мониторинг и резервное копирование

Что, если вдруг откажет сервер DHCP, а у вас нет бэкапа? Все ваши резервирования и настройки scope просто пропадут! Это серьёзный риск, особенно при фатальном сбое. Но не беда: в Windows Server есть встроенная команда, которая позволяет экспортировать абсолютно всё — да-да, всю базу — прямо в 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

Мы мониторим DHCP, отслеживая всего два простых, но важных счётчика: сколько активных аренд и на сколько процентов заполнен scope. Наша система (будь то Zabbix или PRTG) подключается через WMI и сразу же шлёт тревожное сообщение в Telegram, если заполнение scope достигло 85%. Поверьте, это не раз спасало нас от криков типа «у нас в офисе у всех пропал интернет!» прямо посреди рабочего дня.

Типичные ошибки, которые вижу в чужих сетях

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.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

📄
Скачайте подробный разбор в PDF Кейсы, статистика, типовые ошибки и чек-лист самопроверки — 12 страниц
Скачать PDF

Подпишитесь на рассылку ITfresh

Раз в неделю мы делимся практическими гайдами для руководителя IT и любого сисадмина. Охватываем всё: от безопасности и нюансов работы с 1С до сложных миграций и создания надёжных резервных копий, плюс лайфхаки, проверенные в реальных проектах. Никакой теории, только практика.

Письмо придёт в течение минутыНе нашли его во «Входящих» — загляните в папку «Спам» или «Промоакции» и нажмите «Не спам». Так все следующие выпуски будут приходить прямо в основную почту.
Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.