Risoluzione dell'assegnazione degli indirizzi APIPA su Windows Server 2019
Questa guida spiega come risolvere una situazione in cui Windows Server 2019, eseguito su una macchina virtuale VMware ESXi, assegna automaticamente un indirizzo nell'intervallo 169.254.x.x (APIPA) invece di utilizzare l'indirizzo IP statico configurato.
Panoramica
APIPA (Automatic Private IP Addressing) è un meccanismo di fallback: quando Windows non riesce a raggiungere un server DHCP, assegna automaticamente un indirizzo nell'intervallo 169.254.x.x. Questo comportamento è di per sé normale; il problema affrontato in questa guida è che APIPA si attiva anche quando è già stato configurato un indirizzo IP statico. In alcuni ambienti ESXi, ciò fa sì che il server ignori il proprio indirizzo statico e diventi irraggiungibile.
Prima di iniziare
Prima di applicare i passaggi descritti di seguito, verificare che:
- l'indirizzo IP statico, la subnet mask e il gateway predefinito siano configurati correttamente nelle impostazioni dell'adattatore;
- l'adattatore di rete virtuale VMware sia connesso e abilitato;
- la macchina virtuale sia collegata al gruppo di porte o alla VLAN corretti;
- non siano presenti indirizzi IP duplicati nella rete.
Se il problema persiste dopo queste verifiche, procedere con i passaggi seguenti.
Passaggio 1: verificare la configurazione di rete attuale
Aprire il Prompt dei comandi come amministratore ed eseguire:
ipconfig /all
Nell'output, cercare righe come queste:
Autoconfiguration IPv4 Address. . : 169.254.248.201(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 IPv4 Address. . . . . . . . . . . : 192.168.1.136(Duplicate)
Se viene visualizzato un indirizzo nell'intervallo 169.254.x.x come (Preferred), il server sta utilizzando un indirizzo APIPA. L'indirizzo IP statico configurato (192.168.1.136 in questo esempio) viene contrassegnato come (Duplicate), il che significa che Windows ha rilevato che l'indirizzo è già in uso e ha rifiutato di attivarlo. Di conseguenza, il sistema utilizza l'indirizzo APIPA. Il server potrebbe quindi diventare irraggiungibile dalla rete.
Passaggio 2: individuare l'indice dell'interfaccia di rete
Eseguire il comando seguente per visualizzare le interfacce di rete attive:
netsh interface ipv4 show interfaces
Esempio di output:
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
Individuare l'interfaccia con stato "connected" che corrisponde all'adattatore di rete. Annotare l'indice dell'interfaccia: sarà necessario nel passaggio successivo.
Passaggio 3: disabilitare le trasmissioni DAD sull'interfaccia (workaround)
In alcuni ambienti VMware ESXi, Windows Server può continuare a utilizzare un indirizzo APIPA anche dopo la configurazione di un IP statico. La disabilitazione delle trasmissioni DAD (Duplicate Address Detection) può aiutare a prevenire questo comportamento sulle macchine virtuali interessate.
Eseguire il comando seguente, sostituendo 12 con l'indice dell'interfaccia individuato nel passaggio precedente:
netsh interface ipv4 set interface 12 dadtransmits=0 store=persistent
In alternativa, è possibile ottenere lo stesso risultato tramite PowerShell:
Set-NetIPInterface -InterfaceIndex 12 -AddressFamily IPv4 -DadTransmits 0 -PolicyStore PersistentStore
La disabilitazione di DAD impedisce a Windows di verificare se l'indirizzo IPv4 configurato è già in uso nella rete prima di assegnarlo all'interfaccia.
Dopo aver eseguito uno dei due comandi, disabilitare e riabilitare l'adattatore per applicare la modifica. Sostituire Ethernet 2 con il nome del proprio adattatore:
netsh interface set interface "Ethernet 2" admin=disabled netsh interface set interface "Ethernet 2" admin=enabled
Se non si è sicuri del nome esatto dell'adattatore, utilizzare netsh interface ipv4 show interfaces per verificarlo prima di eseguire questi comandi.
Questa è una soluzione alternativa per specifici ambienti ESXi, non una soluzione standard. Disabilitando DAD, Windows non verificherà più se l'indirizzo IP è già in uso nella rete. Non applicare questa impostazione se nella rete è possibile che siano presenti indirizzi IP duplicati.
Passaggio 4: verificare il risultato
Eseguire nuovamente ipconfig /all e verificare che:
- l'indirizzo 169.254.x.x non sia più visualizzato come indirizzo preferito;
- l'indirizzo IP statico sia attivo.
Opzionale: disabilitare il servizio Client DHCP
In alcuni casi, alcuni amministratori scelgono di disabilitare il servizio Client DHCP per impedire a Windows di tentare il rilevamento DHCP durante l'avvio.
Microsoft sconsiglia di disabilitare il servizio Client DHCP anche sui server con un indirizzo IP statico. Il servizio viene utilizzato per la registrazione automatica DNS, il rilevamento della posizione di rete e altre funzionalità di rete. La sua disabilitazione può causare comportamenti imprevisti. Applicare questo passaggio solo se il problema persiste dopo i passaggi 1–4 e si comprendono pienamente le implicazioni per il proprio ambiente.
Per disabilitare il servizio, accedere a Pannello di controllo > Strumenti di amministrazione > Servizi, individuare Client DHCP e impostare il tipo di avvio su Disabilitato.