Исправление проблемы с назначением APIPA-адресов в Windows Server 2019
Это руководство объясняет, как решить проблему, при которой Windows Server 2019, работающий на виртуальной машине VMware ESXi, автоматически назначает себе адрес из диапазона 169.254.x.x (APIPA) вместо использования настроенного статического IP-адреса.
Обзор
APIPA (Automatic Private IP Addressing) — это механизм резервной настройки: если Windows не может связаться с DHCP-сервером, система автоматически назначает себе адрес из диапазона 169.254.x.x. Само по себе такое поведение является нормальным — проблема, рассматриваемая в данном руководстве, заключается в том, что APIPA активируется даже тогда, когда статический IP-адрес уже настроен. В некоторых средах ESXi это приводит к тому, что сервер игнорирует статический адрес и становится недоступным.
Перед началом работы
Перед выполнением описанных ниже действий убедитесь, что:
- статический IP-адрес, маска подсети и шлюз по умолчанию правильно настроены в параметрах сетевого адаптера;
- виртуальный сетевой адаптер VMware подключен и включен;
- виртуальная машина подключена к правильной группе портов или VLAN;
- в сети отсутствует дублирующийся IP-адрес.
Если после этих проверок проблема сохраняется, выполните следующие действия.
Шаг 1: Проверка текущей конфигурации сети
Откройте командную строку от имени администратора и выполните:
ipconfig /all
В выводе найдите строки, подобные следующим:
Autoconfiguration IPv4 Address. . : 169.254.248.201(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 IPv4 Address. . . . . . . . . . . : 192.168.1.136(Duplicate)
Если адрес из диапазона 169.254.x.x отображается как (Preferred), сервер использует адрес APIPA. Настроенный статический IP-адрес (192.168.1.136 в этом примере) помечен как (Duplicate), что означает: Windows обнаружила, что этот адрес уже используется, и отказалась активировать его. Поэтому система использует адрес APIPA. В результате сервер может стать недоступным по сети.
Шаг 2: Определение индекса сетевого интерфейса
Выполните следующую команду, чтобы вывести список активных сетевых интерфейсов:
netsh interface ipv4 show interfaces
Пример вывода:
Idx Met MTU State Name --- ----- ----------- ---------- --------------------------- 1 75 4294967295 connected Loopback Pseudo-Interface 1 2 1 1500 disconnected VPN - VPN Client 12 25 1500 connected Ethernet 2
Найдите интерфейс со статусом «connected», который соответствует вашему сетевому адаптеру. Запишите индекс интерфейса — он понадобится на следующем шаге.
Шаг 3: Отключение передачи DAD на интерфейсе (обходное решение)
В некоторых средах VMware ESXi Windows Server может продолжать использовать адрес APIPA даже после настройки статического IP-адреса. Отключение передачи DAD (Duplicate Address Detection) может помочь предотвратить такое поведение на затронутых виртуальных машинах.
Выполните следующую команду, заменив 12 на индекс интерфейса из предыдущего шага:
netsh interface ipv4 set interface 12 dadtransmits=0 store=persistent
В качестве альтернативы можно получить тот же результат с помощью PowerShell:
Set-NetIPInterface -InterfaceIndex 12 -AddressFamily IPv4 -DadTransmits 0 -PolicyStore PersistentStore
Отключение DAD предотвращает проверку Windows на предмет того, используется ли уже настроенный IPv4-адрес в сети, перед его назначением интерфейсу.
После выполнения любой из этих команд отключите и снова включите адаптер, чтобы применить изменение. Замените Ethernet 2 на имя вашего адаптера:
netsh interface set interface "Ethernet 2" admin=disabled netsh interface set interface "Ethernet 2" admin=enabled
Если вы не уверены в точном имени адаптера, используйте netsh interface ipv4 show interfaces, чтобы проверить его перед выполнением этих команд.
Это обходное решение для определённых сред ESXi, а не стандартный способ устранения проблемы. Отключение DAD означает, что Windows больше не будет проверять, используется ли IP-адрес в сети. Не применяйте эту настройку, если в вашей сети возможны дублирующиеся IP-адреса.
Шаг 4: Проверка результата
Снова выполните ipconfig /all и убедитесь, что:
- адрес 169.254.x.x больше не отображается как предпочтительный;
- ваш статический IP-адрес активен.
Необязательно: отключение службы DHCP Client
В некоторых случаях администраторы отключают службу DHCP Client, чтобы предотвратить попытки Windows выполнить обнаружение DHCP при запуске.
Microsoft не рекомендует отключать службу DHCP Client даже на серверах со статическим IP-адресом. Эта служба используется для автоматической регистрации DNS, определения сетевого расположения и других сетевых функций. Ее отключение может привести к непредвиденному поведению системы. Выполняйте этот шаг только в том случае, если проблема сохраняется после выполнения шагов 1–4 и вы полностью понимаете последствия для вашей среды.
Чтобы отключить службу, перейдите в Панель управления > Администрирование > Службы, найдите DHCP Client и установите для типа запуска значение «Отключена».