Короткий ответ

Клиент с APIPA 169.254 не получил DHCPOFFER. На сервере DC01 или выделенном DHCP: служба запущена, авторизован в AD, scope Active, есть свободные адреса, привязка к верному NIC, failover-партнёр не держит все leases в мёртвом состоянии. На Hyper-V проверьте DHCP Guard. Не поднимайте второй неавторизованный DHCP «чтобы раздать».

Без адреса не будет и нормального входа в домен — но чинить нужно DHCP, не NTDS, если ping до DC с статикой жив.

Симптомы и как отличить

  • ipconfig на WS-042: 169.254.x.x или аренда не обновляется.
  • Часть VLAN работает — relay/helper только на одном SVI.
  • Статический IP на том же VLAN ходит в домен — не DNS как первопричина.
НаблюдениеКуда
IP есть, нет DNS/_msdcsDNS
IP есть, нет DCDC
Опции шлюза неверныесеть, не «scope умер»
Сервер не авторизован, Event 1046эта статья

Возможные причины

  1. DHCP Server не авторизован (1046), служба может работать «вхолостую» в домене.
  2. Scope Inactive, исчерпан, неверный диапазон/маска.
  3. Bindings на неправильном интерфейсе.
  4. Failover: партнёр hot-standby, связь порвана, Maximum Client Lead Time.
  5. DHCP Relay не указывает на этот сервер.
  6. DHCP Guard на виртуальном коммутаторе Hyper-V отбрасывает ответы VM-сервера или наоборот.
  7. Rogue DHCP (другой маршрутизатор) отвечает первым.
  8. Политика NAP/фильтра (редко на 2022/2025, но фильтры scope живы).

Диагностика

На DHCP-сервере:

Get-Service DHCPServer
Get-DhcpServerInDC
Get-DhcpServerv4Binding
Get-DhcpServerv4Scope | Format-Table ScopeId, Name, State, StartRange, EndRange, LeaseDuration
Get-DhcpServerv4ScopeStatistics | Format-Table ScopeId, InUse, Free, PercentageInUse
Get-DhcpServerv4Failover -ErrorAction SilentlyContinue

Свободные адреса:

Get-DhcpServerv4FreeIPAddress -ScopeId 10.0.10.0 -NumAddress 10

Журнал:

Get-WinEvent -LogName 'Microsoft-Windows-DHCP-Server/Operational' -MaxEvents 30 -ErrorAction SilentlyContinue
Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Microsoft-Windows-DHCP-Server' } -MaxEvents 20

Event 1046 — нет авторизации. 1059 — нет DC для авторизации (тогда сначала AD/DNS).

С клиента (когда ещё есть какой-то канал):

ipconfig /all

DHCP Server поле — тот ли хост. Если чужой 192.168.0.1 маршрутизатора — rogue/домашний DHCP.

Relay: на L3 смотрите helper-address. С сервера DHCP должен видеть Discover с giaddr реле.

Hyper-V:

Проверьте на vSwitch/сетевом адаптере VM настройку DHCP Guard (оснастка Hyper-V или документация Set-VMNetworkAdapter с DhcpGuard). Guard на клиентской VM не должен резать; на серверной VM Guard не должен быть в режиме, где ответы DHCP запрещены.

Решение

Сценарий A. Не авторизован

В DHCP MMC: Authorize. Или:

Add-DhcpServerInDC -DnsName 'dhcp01.contoso.example' -IPAddress 10.0.10.10
Restart-Service DHCPServer

Нужны права Enterprise Admin-класса на объекты в конфигурации AD (фактически — кто имеет право авторизовать DHCP). Не авторизуйте случайный сервер.

Сценарий B. Scope полный / Inactive

Set-DhcpServerv4Scope -ScopeId 10.0.10.0 -State Active

Расширьте диапазон или снизьте Lease, почистите stale. Не перекрывайте статику серверов без Exclusion.

Сценарий C. Failover

Get-DhcpServerv4Failover

Восстановите партнёра, не включайте оба в Load Balance с одним split при мёртвой репликации базы. Restore из backup DHCP, если БД расходилась.

Сценарий D. Guard / rogue

Выключите чужой DHCP на SOHO-роутере. На Hyper-V согласуйте Guard: сервер DHCP имеет право отвечать, клиенты — нет (типичная модель Guard на не-DHCP VM).

Сценарий E. Bindings

Get-DhcpServerv4Binding

Должен слушать интерфейс той сети (или реле смотрит на его IP). Сервер с двумя NIC часто слушает «не ту».

Сценарий F. Relay, split VLAN и статистика scope

С клиента в проблемно VLAN: в ipconfig /all поле DHCP Server должно быть 10.0.10.10 (или VIP failover), не шлюз 192.168.1.1. Чужой сервер — выключите DHCP на SOHO/роутере, не расширяйте scope «в ответ».

Get-DhcpServerv4Scope | Format-Table ScopeId, Name, State, StartRange, EndRange
Get-DhcpServerv4ScopeStatistics | Format-Table ScopeId, InUse, Free, PercentageInUse, Reserved
Get-DhcpServerv4Binding | Format-Table InterfaceAlias, IPAddress, BindingState
Get-DhcpServerInDC

PercentageInUse 100% без Free — расширьте диапазон или уменьшите lease после exclusions на DC/шлюзы/принтеры. Inactive scope не раздаёт, даже если статистика «зелёная» в голове.

Failover: Get-DhcpServerv4Failover — состояние Normal. Communication interrupted + истёк MCLT даёт странные отказы renew. Чините канал между партнёрами, не авторизуйте третий сервер.

DHCP Guard на Hyper-V: у VM dhcp01 Guard не должен запрещать ответы сервера. На обычных WS-042 Guard как раз блокирует поддельные DHCP. Перепутали флаги — «вдруг перестало раздавать после переноса DHCP в VM».

UDP 67/68 на ACL между реле и сервером: Discover с giaddr должен доходить. Без реле сервер не слышит другой VLAN, это не «сломан DHCP Server».

Как проверить, что проблема устранена

На WS-042: ipconfig /release затем ipconfig /renew — адрес из scope, маска, шлюз, DNS внутренний (DC), не APIPA.

Get-DhcpServerv4Lease -ScopeId 10.0.10.0 | Where-Object IPAddress -eq '10.0.10.42'
Get-DhcpServerv4ScopeStatistics

Free не ноль. Авторизация в Get-DhcpServerInDC. Логон в домен с этого DHCP-адреса.

Если не помогло

  • Discover не доходит: SPAN/зеркало, ACL UDP 67/68, relay.
  • Только Wi-Fi: другой VLAN без helper.
  • PXE отдельно (67/4011) — не путать с обычной арендой.
  • Кластер/Split-scope устарел относительно DHCP Failover — не смешивайте схемы.

Профилактика

  • Failover или явно один сервер, не «два scope наугад».
  • Алерт PercentageInUse и Event 1046.
  • Документированные exclusions под DC/шлюзы.
  • DHCP Guard на гипервизоре по стандарту площадки.
  • Перед работами на DC, если DHCP на нём — baseline AD.

FAQ

Нужно ли ставить DHCP на оба DC без failover?

Нет. Получите двойные ответы или дыру, пока один не авторизован. Либо failover, либо один DHCP + резервный план.

Клиент получил адрес, DNS 8.8.8.8.

Опции scope. Для AD клиенту нужен внутренний DNS. Это уже ломает логон, хотя DHCP «выдал».

Authorization каждый reboot пропадает?

Нет прав/нет DC (1059) или кто-то Unauthorize. Не лечите вторым DHCP.

DHCP Guard на всех VM включил админ «для безопасности».

Сервер DHCP в VM перестанет раздавать. Guard — на адаптерах, которые не должны быть DHCP-серверами.

Можно ли раздавать из диапазона, где живут DC?

Да, с exclusions на адреса DC/шлюза/DHCP. Иначе конфликт IP и «пропал DC».