Naprawa przypisywania adresów APIPA w systemie Windows Server 2019
Ten poradnik wyjaśnia, jak rozwiązać sytuację, w której system Windows Server 2019 działający na maszynie wirtualnej VMware ESXi automatycznie przypisuje sobie adres z zakresu 169.254.x.x (APIPA) zamiast korzystać ze skonfigurowanego statycznego adresu IP.
Przegląd
APIPA (Automatic Private IP Addressing) to mechanizm awaryjny: gdy system Windows nie może połączyć się z serwerem DHCP, automatycznie przypisuje sobie adres z zakresu 169.254.x.x. Samo to zachowanie jest normalne — problem opisany w tym poradniku polega na tym, że APIPA zostaje aktywowana nawet wtedy, gdy wcześniej skonfigurowano statyczny adres IP. W niektórych środowiskach ESXi powoduje to, że serwer ignoruje swój statyczny adres i staje się niedostępny.
Zanim rozpoczniesz
Przed wykonaniem poniższych kroków sprawdź, czy:
- statyczny adres IP, maska podsieci i brama domyślna są prawidłowo skonfigurowane w ustawieniach adaptera;
- wirtualny adapter sieciowy VMware jest podłączony i włączony;
- maszyna wirtualna jest podłączona do właściwej grupy portów lub sieci VLAN;
- w sieci nie występuje zduplikowany adres IP.
Jeśli po wykonaniu tych czynności problem nadal występuje, przejdź do poniższych kroków.
Krok 1: Sprawdź bieżącą konfigurację sieci
Otwórz Wiersz polecenia jako administrator i wykonaj:
ipconfig /all
W wynikach wyszukaj wiersze podobne do poniższych:
Autoconfiguration IPv4 Address. . : 169.254.248.201(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 IPv4 Address. . . . . . . . . . . : 192.168.1.136(Duplicate)
Jeśli adres z zakresu 169.254.x.x jest oznaczony jako (Preferred), serwer korzysta z adresu APIPA. Skonfigurowany statyczny adres IP (w tym przykładzie 192.168.1.136) jest oznaczony jako (Duplicate), co oznacza, że system Windows wykrył, iż adres jest już używany, i odmówił jego aktywacji. W rezultacie system korzysta z adresu APIPA. Serwer może przez to stać się niedostępny w sieci.
Krok 2: Znajdź indeks interfejsu sieciowego
Wykonaj poniższe polecenie, aby wyświetlić aktywne interfejsy sieciowe:
netsh interface ipv4 show interfaces
Przykładowy wynik:
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
Znajdź interfejs ze stanem „connected”, który odpowiada Twojemu adapterowi sieciowemu. Zapisz indeks interfejsu — będzie potrzebny w następnym kroku.
Krok 3: Wyłącz transmisje DAD na interfejsie (obejście problemu)
W niektórych środowiskach VMware ESXi system Windows Server może nadal korzystać z adresu APIPA nawet po skonfigurowaniu statycznego adresu IP. Wyłączenie transmisji DAD (Duplicate Address Detection) może pomóc zapobiec temu zachowaniu na dotkniętych problemem maszynach wirtualnych.
Wykonaj poniższe polecenie, zastępując wartość 12 indeksem interfejsu z poprzedniego kroku:
netsh interface ipv4 set interface 12 dadtransmits=0 store=persistent
Alternatywnie ten sam efekt można uzyskać za pomocą programu PowerShell:
Set-NetIPInterface -InterfaceIndex 12 -AddressFamily IPv4 -DadTransmits 0 -PolicyStore PersistentStore
Wyłączenie DAD powoduje, że system Windows nie sprawdza, czy skonfigurowany adres IPv4 jest już używany w sieci, zanim przypisze go do interfejsu.
Po wykonaniu jednego z powyższych poleceń wyłącz i ponownie włącz adapter, aby zastosować zmianę. Zastąp Ethernet 2 nazwą swojego adaptera:
netsh interface set interface "Ethernet 2" admin=disabled netsh interface set interface "Ethernet 2" admin=enabled
Jeśli nie masz pewności co do dokładnej nazwy adaptera, użyj polecenia netsh interface ipv4 show interfaces, aby sprawdzić ją przed wykonaniem tych poleceń.
Jest to obejście problemu przeznaczone dla określonych środowisk ESXi, a nie standardowe rozwiązanie. Wyłączenie DAD oznacza, że system Windows nie będzie już sprawdzał, czy adres IP jest już używany w sieci. Nie stosuj tego ustawienia, jeśli w Twojej sieci mogą występować zduplikowane adresy IP.
Krok 4: Sprawdź rezultat
Ponownie wykonaj polecenie ipconfig /all i upewnij się, że:
- adres 169.254.x.x nie jest już wyświetlany jako preferowany;
- statyczny adres IP jest aktywny.
Opcjonalnie: Wyłącz usługę Klient DHCP
W niektórych przypadkach administratorzy decydują się na wyłączenie usługi Klient DHCP, aby uniemożliwić systemowi Windows próbę wykrywania serwera DHCP podczas uruchamiania.
Firma Microsoft nie zaleca wyłączania usługi Klient DHCP, nawet na serwerach korzystających ze statycznego adresu IP. Usługa jest używana do automatycznej rejestracji DNS, rozpoznawania lokalizacji sieciowej oraz innych funkcji sieciowych. Jej wyłączenie może powodować nieoczekiwane zachowanie systemu. Wykonaj ten krok tylko wtedy, gdy problem nadal występuje po wykonaniu kroków 1–4 i w pełni rozumiesz konsekwencje dla swojego środowiska.
Aby wyłączyć usługę, przejdź do Panel sterowania > Narzędzia administracyjne > Usługi, znajdź Klient DHCP i ustaw typ uruchamiania na Wyłączony.