Осень 2024 года. Нас вызвали в торговую компанию на юге Москвы — оптовая продажа стройматериалов, 50 компьютеров, три этажа офисного здания. Жалоба звучала так: «Евгений, у нас интернет постоянно пропадает, каждый день кто-то не может выйти в сеть, 1С отваливается, менеджеры не могут выписывать накладные». Приехали, открыли настройки сетевых адаптеров на первых трёх компьютерах — и всё стало понятно. IP-адреса прописаны вручную. На бумажке у сисадмина список: «Иванова — 192.168.1.15, Петров — 192.168.1.16...». Список заканчивался на 40-м сотруднике. Остальные десять получили адреса «на глазок». Три компьютера сидели на одинаковом IP — 192.168.1.25. Отсюда и конфликты, и отвалы.
Мы подняли DHCP-сервер на их Windows Server 2022 за два часа. Настроили область, исключения для принтеров и серверов, резервирования для бухгалтерии. С того дня — ни одного звонка по теме «интернет пропал». Экономия времени сисадмина — часов пять в неделю, которые он раньше тратил на ручную раздачу адресов новым сотрудникам.
DHCP — это одна из тех вещей, которые «просто работают», когда настроены правильно. Но если настроены криво или не настроены вовсе — головная боль обеспечена. В этой статье я расскажу, как сделать правильно. С конкретными шагами, командами PowerShell и разбором типичных проблем. Всё из реальной практики.
Что такое DHCP и зачем он нужен в офисе
DHCP — Dynamic Host Configuration Protocol. Протокол, который автоматически раздаёт IP-адреса устройствам в сети. Вместо того чтобы лезть в настройки каждого компьютера и вбивать адрес руками, вы один раз настраиваете сервер, а дальше всё происходит само.
Как это работает на пальцах. Новый компьютер подключается к сети и кричит в эфир: «Эй, кто тут раздаёт адреса?» (DHCP Discover). Сервер отвечает: «Я! Вот тебе адрес 192.168.1.50, шлюз 192.168.1.1, DNS-сервер 192.168.1.10, пользуйся 8 дней» (DHCP Offer → Request → Acknowledge). Четыре пакета — и компьютер в сети. Без звонков сисадмину, без бумажек с адресами.
Зачем это в офисе? Объясняю на цифрах:
- Время. Ручная настройка одного компьютера — 3-5 минут. При 50 машинах — это 4 часа работы. Новый сотрудник? Ещё 5 минут. Переезд в другой кабинет? Ещё 5 минут. С DHCP всё это — ноль минут
- Ошибки. Человек рано или поздно опечатается. Вместо 192.168.1.50 напишет 192.168.1.5 — и получит конфликт с принтером. DHCP не ошибается
- Масштабирование. 10 компьютеров ещё можно раздать вручную. 50 — уже тяжело. 200 — невозможно без автоматизации
- Централизация. Нужно поменять DNS-сервер для всей сети? Одна правка в DHCP — и при следующем обновлении аренды все получат новые настройки. Без DHCP придётся обходить каждую машину
Установка роли DHCP Server
Итак, у вас есть Windows Server. Подойдёт 2016, 2019, 2022 или 2025 — процесс одинаковый. Сервер должен иметь статический IP-адрес. Это важно: DHCP-сервер сам не может получать адрес по DHCP. Звучит очевидно, но я видел и такое.
Допустим, наш сервер имеет адрес 192.168.1.10, маска 255.255.255.0, шлюз 192.168.1.1. Сеть — 192.168.1.0/24.
Через Server Manager
Классический способ через графический интерфейс. Подходит тем, кто любит мышку.
- Откройте Server Manager (он запускается автоматически при входе)
- Нажмите Add roles and features (или Управление → Добавить роли и компоненты в русской версии)
- В мастере кликайте Next до шага Server Roles
- Поставьте галочку напротив DHCP Server
- Появится окно с зависимостями — нажмите Add Features
- Жмите Next до конца и нажмите Install
- Дождитесь завершения. Перезагрузка не требуется
После установки в Server Manager появится жёлтый флажок с предупреждением. Нажмите на него и выберите Complete DHCP configuration. Мастер создаст группы безопасности DHCP Administrators и DHCP Users и, если сервер в домене, авторизует его в Active Directory.
Через PowerShell
Для тех, кто ценит скорость. Одна команда вместо семи кликов:
Install-WindowsFeature DHCP -IncludeManagementTools
Всё. Роль установлена, консоль управления — тоже. Теперь авторизация в AD (если сервер в домене):
Add-DhcpServerInDC -DnsName dc01.company.local -IPAddress 192.168.1.10
И создание групп безопасности:
netsh dhcp add securitygroups
Restart-Service dhcpserver
Убираем жёлтый флажок в Server Manager (он раздражает, а мы уже всё сделали):
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12" -Name "ConfigurationState" -Value 2
Четыре команды — и DHCP-сервер готов к настройке области. На практике я всегда использую PowerShell: быстрее, воспроизводимо, можно сохранить как скрипт для следующего сервера.
Создание области (Scope)
Область (scope) — это диапазон IP-адресов, которые сервер будет раздавать клиентам. Без области DHCP-сервер как магазин без товара — стоит, работает, но выдать нечего.
Диапазон адресов
Для нашей сети 192.168.1.0/24 нужно определить, какие адреса пойдут клиентам. Вся подсеть — 254 адреса (от .1 до .254). Но раздавать все нельзя — нужно оставить место для серверов, принтеров, коммутаторов и прочего оборудования со статическими адресами.
Мой стандартный подход, который я использую уже лет десять:
- 192.168.1.1 — 192.168.1.9 — сетевое оборудование (роутер, коммутаторы, точки доступа)
- 192.168.1.10 — 192.168.1.29 — серверы (DC, файловый, 1С, почта)
- 192.168.1.30 — 192.168.1.49 — принтеры, МФУ, IP-телефоны
- 192.168.1.50 — 192.168.1.249 — DHCP-диапазон для клиентов (200 адресов)
- 192.168.1.250 — 192.168.1.254 — резерв
Создаём область через консоль DHCP:
- Откройте DHCP из меню Tools в Server Manager (или
dhcpmgmt.msc) - Разверните сервер, кликните правой кнопкой по IPv4 → New Scope
- Имя области: Office-LAN (или как вам удобно, но лучше осмысленное название)
- Начальный IP: 192.168.1.50, конечный: 192.168.1.249
- Маска: 255.255.255.0 (длина префикса 24)
- Срок аренды: 8 дней (для стационарных офисных компьютеров это оптимально)
- Нажмите Yes, I want to configure these options now
Через PowerShell это одна команда:
Add-DhcpServerv4Scope -Name "Office-LAN" `
-StartRange 192.168.1.50 `
-EndRange 192.168.1.249 `
-SubnetMask 255.255.255.0 `
-LeaseDuration 8.00:00:00 `
-State Active
Исключения (принтеры, серверы)
Исключения — это адреса внутри диапазона, которые DHCP не будет выдавать. Зачем? Допустим, у вас принтер Kyocera ECOSYS M2040dn стоит на адресе 192.168.1.55 (кто-то когда-то так настроил). Переносить его на другой адрес — значит перенастраивать печать на всех компьютерах. Проще добавить исключение.
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.1.0 `
-StartRange 192.168.1.55 -EndRange 192.168.1.55
Можно исключать диапазоны. Например, если у вас IP-телефоны Yealink T46U стоят на адресах .60-.69:
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.1.0 `
-StartRange 192.168.1.60 -EndRange 192.168.1.69
Параметры (шлюз, DNS, домен)
Область создана, но пока она раздаёт только IP-адреса. Без шлюза и DNS компьютер получит адрес, но в интернет не выйдет и имена серверов не разрешит. Нужно настроить опции.
Через консоль: разверните область → Scope Options → правой кнопкой → Configure Options.
Минимальный набор опций:
- 003 Router (шлюз по умолчанию): 192.168.1.1
- 006 DNS Servers: 192.168.1.10 (ваш DC/DNS), 8.8.8.8 (резервный)
- 015 DNS Domain Name: company.local (если есть домен AD)
Через PowerShell:
# Шлюз
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 3 -Value 192.168.1.1
# DNS-серверы
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 6 -Value 192.168.1.10,8.8.8.8
# DNS-суффикс
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 15 -Value "company.local"
Резервирование адресов (Reservations)
Резервирование — это когда конкретное устройство всегда получает один и тот же IP-адрес по DHCP. Выглядит как статический адрес, но управляется централизованно с сервера.
Зачем это нужно? Вот типичные сценарии:
- Бухгалтерские компьютеры с 1С — лицензия часто привязана к IP. Если адрес сменится, лицензия слетит
- Серверы печати — принтер должен быть всегда на одном адресе, иначе сотрудники будут видеть ошибку «Принтер не найден»
- Системы видеонаблюдения — IP-камеры Hikvision DS-2CD2143G2-I, которые мы часто ставим клиентам, настроены на статические адреса. Но управлять ими через DHCP Reservation удобнее
- Сетевые хранилища — Synology, QNAP — к ним обращаются по IP, он должен быть постоянным
Для создания резервирования нужен MAC-адрес устройства. Узнать его можно так:
# На самом компьютере
ipconfig /all
# Ищите строку Physical Address: 00-1A-2B-3C-4D-5E
# Или с сервера — посмотреть текущие аренды
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | Format-Table IPAddress, HostName, ClientId
Создаём резервирование:
Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 `
-IPAddress 192.168.1.100 `
-ClientId "00-1A-2B-3C-4D-5E" `
-Name "BUH-PC01" `
-Description "Компьютер главного бухгалтера"
Через GUI: в консоли DHCP разверните область → Reservations → правой кнопкой → New Reservation.
Массовое создание резервирований. Когда у вас 20 бухгалтерских машин, вбивать руками каждую — тоска. Я обычно готовлю CSV-файл и загружаю его скриптом:
# Файл reservations.csv:
# IPAddress,ClientId,Name,Description
# 192.168.1.100,00-1A-2B-3C-4D-5E,BUH-PC01,Главный бухгалтер
# 192.168.1.101,00-1A-2B-3C-4D-5F,BUH-PC02,Бухгалтер Иванова
Import-Csv .\reservations.csv | ForEach-Object {
Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 `
-IPAddress $_.IPAddress `
-ClientId $_.ClientId `
-Name $_.Name `
-Description $_.Description
}
DHCP Failover — отказоустойчивость
Если DHCP-сервер упадёт — новые устройства не смогут получить адреса. Те, у кого аренда ещё не истекла, продолжат работать. Но ноутбук, который сотрудник принёс из дома, или новый компьютер — останутся без сети.
Решение — DHCP Failover. Появился в Windows Server 2012 и с тех пор работает стабильно. Два сервера делят одну область между собой. Если один падает — второй продолжает выдавать адреса.
Два режима работы:
- Hot Standby — один сервер активный, второй резервный. Резервный вступает в работу, только если основной недоступен. Проще настроить, проще понять. Я рекомендую для большинства офисов
- Load Balance — оба сервера активны и делят нагрузку. Обычно 50/50, но можно настроить другое соотношение. Подходит для больших сетей с высокой нагрузкой
Настройка через PowerShell (Hot Standby):
# На основном сервере (dc01)
Add-DhcpServerv4Failover -Name "DHCP-Failover" `
-PartnerServer "dc02.company.local" `
-ScopeId 192.168.1.0 `
-SharedSecret "MySuperSecretKey2026!" `
-Mode HotStandby `
-ReservePercent 10 `
-ServerRole Active `
-AutoStateTransition $true `
-StateSwitchInterval (New-TimeSpan -Minutes 30)
Ключевые параметры: ReservePercent 10 — 10% адресов зарезервировано для резервного сервера на случай отказа основного. StateSwitchInterval 30 минут — через полчаса недоступности основного сервера резервный берёт на себя всю область.
Настройка через GUI: в консоли DHCP кликните правой кнопкой по области → Configure Failover. Мастер проведёт через все шаги.
После настройки проверяем:
Get-DhcpServerv4Failover
# Должны увидеть:
# Name : DHCP-Failover
# Mode : HotStandby
# State : Normal
# PartnerServer : dc02.company.local
Мониторинг и устранение проблем
DHCP настроен и работает. Но проблемы рано или поздно случаются. За 15 лет я собрал целую коллекцию типичных ситуаций. Вот три самые частые.
«Компьютер получил адрес 169.254.x.x»
Адрес из диапазона 169.254.0.0/16 (APIPA — Automatic Private IP Addressing) означает одно: компьютер не смог найти DHCP-сервер. Он отправил запрос, не получил ответа и назначил себе случайный адрес из этого диапазона.
Что проверять:
- Физическое подключение. Кабель воткнут? Индикаторы на порте коммутатора горят? Звучит банально, но в 30% случаев проблема именно в этом. Особенно если уборщица двигала мебель ночью
- DHCP-сервер запущен? Проверьте:
Get-Service dhcpserver. Статус должен быть Running - В области есть свободные адреса? Проверьте:
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.1.0. Если Free = 0, сервер выдал все адреса. Нужно расширить диапазон или уменьшить время аренды - Порт 67/68 UDP не заблокирован? Если между клиентом и сервером стоит файрвол, он должен пропускать DHCP-трафик
- DHCP-сервер авторизован в AD? Проверьте:
Get-DhcpServerInDC. Если вашего сервера в списке нет — вот и причина
Быстрое исправление на клиенте:
ipconfig /release
ipconfig /renew
Если не помогает:
# Сброс стека TCP/IP
netsh int ip reset
netsh winsock reset
# Перезагрузить компьютер
Конфликт IP-адресов
Windows выдаёт сообщение: «Обнаружен конфликт IP-адресов». Это значит, что два устройства в сети имеют одинаковый IP.
Откуда конфликты, если есть DHCP? Три причины:
- Статический адрес из DHCP-диапазона. Программист Вася вбил себе «красивый» .100, а DHCP выдал тот же адрес Маше из бухгалтерии. Решение: резервирование или убрать статику
- Несанкционированный DHCP-сервер. Кто-то принёс домашний роутер с включённым DHCP. Два сервера раздают адреса из одного диапазона
- Устаревшая аренда. Компьютер выключили, адрес «занят», но другое устройство получило его же
Детективная работа — найти, кому принадлежит конфликтный адрес:
# Посмотреть ARP-таблицу
arp -a | findstr "192.168.1.100"
# На сервере — посмотреть аренду
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 -IPAddress 192.168.1.100
# Если адрес статический (не выдан DHCP), ищите по MAC в коммутаторе
DHCP не выдаёт адреса после обновления сервера
Мы с этим столкнулись в январе 2025-го у клиента на Windows Server 2022 после обновления KB5034129. Обновление сбросило привязку сетевого интерфейса — сервер пытался слушать на интерфейсе, которого больше нет (сменился GUID после обновления драйвера Intel I350-T2).
Диагностика:
# Проверяем, на каких интерфейсах слушает DHCP
netsh dhcp server show bindings
# Если видим "Disabled" на нужном интерфейсе:
netsh dhcp server set bindings interface="Ethernet0" enable
Или через PowerShell:
# Просмотр привязок
Get-DhcpServerv4Binding
# Включение на нужном интерфейсе
Set-DhcpServerv4Binding -InterfaceAlias "Ethernet0" -BindingState $true
Restart-Service dhcpserver
Ещё одна частая причина после обновлений — служба DHCP не запустилась автоматически:
# Проверяем статус и тип запуска
Get-Service dhcpserver | Select-Object Status, StartType
# Если стоит Manual или служба остановлена:
Set-Service dhcpserver -StartupType Automatic
Start-Service dhcpserver
Get-DhcpServerv4ScopeStatistics и убедитесь, что адреса выдаются. Занимает 10 секунд, но экономит часы нервотрёпки.Управление DHCP через PowerShell (полезные команды)
Графическая консоль DHCP — это хорошо для разовых операций. Но когда нужно быстро проверить состояние, найти проблему или настроить что-то на нескольких серверах — PowerShell незаменим. Вот команды, которые я использую каждую неделю.
Статистика области:
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.1.0
# InUse : 47
# Free : 153
# PercentageInUse: 23.5
Все текущие аренды:
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 |
Sort-Object IPAddress |
Format-Table IPAddress, HostName, ClientId, LeaseExpiryTime -AutoSize
Найти конкретное устройство по имени:
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 |
Where-Object { $_.HostName -like "*buh*" }
Экспорт конфигурации (бэкап!):
# Экспорт всей конфигурации DHCP в файл
Export-DhcpServer -File "C:\Backup\dhcp-config-$(Get-Date -Format 'yyyy-MM-dd').xml" -Leases
# Импорт на другой сервер (или после переустановки)
Import-DhcpServer -File "C:\Backup\dhcp-config-2026-03-26.xml" -BackupPath "C:\Backup\dhcp-old" -Leases
Удалить просроченные аренды:
# Показать просроченные
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 |
Where-Object { $_.AddressState -eq "Expired" }
# Подчистить (DHCP делает это автоматически, но иногда нужно вручную)
Проверить свободные адреса:
Get-DhcpServerv4FreeIPAddress -ScopeId 192.168.1.0 -NumAddress 5
# Покажет 5 свободных адресов
Мониторинг — оповещение при нехватке адресов:
# Если свободных адресов меньше 10% — отправить письмо
$stats = Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.1.0
if ($stats.PercentageInUse -gt 90) {
Send-MailMessage -From "dhcp@company.local" -To "admin@company.local" `
-Subject "DHCP: мало свободных адресов!" `
-Body "В области 192.168.1.0 занято $($stats.PercentageInUse)% адресов." `
-SmtpServer "mail.company.local"
}
C:\Scripts\dhcp-daily-check.ps1 и запускайте через Task Scheduler каждое утро. Две минуты на настройку, зато вы всегда в курсе состояния DHCP. Мы так делаем у всех клиентов на обслуживании.FAQ
Можно ли поднять DHCP-сервер на обычной Windows 10/11?
Нет, встроенная роль доступна только в серверных редакциях. Можно использовать сторонние утилиты (Open DHCP Server), но для корпоративной сети это плохой вариант — нет интеграции с AD и отказоустойчивости. Для 20+ машин — только Windows Server.
Что будет, если в сети окажутся два DHCP-сервера?
Будут конфликты IP-адресов. Классика: сотрудник принёс из дома роутер TP-Link «чтобы Wi-Fi был», а на нём включён DHCP. Половина офиса потеряла доступ к внутренним ресурсам. Мораль: используйте DHCP Snooping на управляемых коммутаторах, чтобы блокировать несанкционированные DHCP-серверы.
Как узнать, от какого DHCP-сервера компьютер получил адрес?
Откройте командную строку и выполните ipconfig /all. В разделе сетевого адаптера найдите строку DHCP Server — там будет IP-адрес сервера, выдавшего аренду. Через PowerShell: Get-NetIPConfiguration | Select-Object InterfaceAlias, DhcpServer.
На какой срок выдавать аренду (lease)?
Для офисных стационарных машин — 8 дней. Для Wi-Fi с гостевым доступом — 4-8 часов. Для VPN — 1-2 часа. Правило: срок аренды минимум вдвое больше типичного периода подключения устройства.
Нужно ли авторизовать DHCP-сервер в Active Directory?
Да, если сервер в домене — обязательно. Неавторизованный DHCP-сервер в доменной среде не будет выдавать адреса. Это встроенная защита Microsoft от появления «левых» DHCP-серверов. Авторизация — одна команда: Add-DhcpServerInDC -DnsName server.company.local -IPAddress 192.168.1.10. Если сервер не в домене (рабочая группа), авторизация не нужна.
Заключение
DHCP — фундамент любой офисной сети. Настройте один раз правильно — и забудете о проблемах с IP-адресами на годы.
Та торговая компания, с которой я начал статью, работает с нашим DHCP уже полтора года. 50 компьютеров, 8 принтеров, 12 IP-телефонов — всё получает адреса автоматически. Сисадмин Дмитрий, который раньше вёл табличку в Excel, теперь говорит: «Почему я не сделал это три года назад?».
Если у вас в офисе больше 10 компьютеров и DHCP до сих пор раздаёт роутер — самое время это исправить. Настройка занимает пару часов, а экономит десятки часов в год.
Нужна помощь с настройкой DHCP или аудит сетевой инфраструктуры? Мы в АйТи Фреш этим занимаемся каждый день. Позвоните или оставьте заявку — разберёмся.
Официальная документация: Microsoft Learn — DHCP Server, Microsoft Learn — DhcpServer PowerShell Module
ООО «АйТи Фреш» настроит сетевую инфраструктуру за вас
Не хотите разбираться с областями, резервированиями и failover? Мы настроим DHCP, DNS, Active Directory и всё остальное под ключ — с гарантией стабильности. Работаем с юридическими лицами в Москве и регионах. Поддержка 24/7.

Комментарии