I nostri server Windows stanno registrando i AAAA
record IPv6 con i nostri server DNS Windows. Tuttavia, non abbiamo abilitato il routing IPv6 sulla nostra rete, quindi questo spesso causa comportamenti di stallo.
Microsoft RDP è il peggior trasgressore. Quando si connette a un server che ha un AAAA
record in DNS, il client desktop remoto proverà prima IPv6 e non tornerà a IPv4 fino al timeout della connessione. Gli utenti esperti possono aggirare il problema collegandosi direttamente all'indirizzo IP. La risoluzione dell'indirizzo IPv4 con ping -4 hostname.foo
funziona sempre all'istante.
Cosa posso fare per evitare questo ritardo?
- Disabilitare IPv6 sul client?
- No, Microsoft afferma che IPv6 è una parte obbligatoria del sistema operativo Windows.
- Troppi clienti per garantire che questo sia impostato ovunque in modo coerente.
- Causerà più problemi in seguito quando finalmente implementeremo IPv6.
- Disabilitare IPv6 sul server?
- No, Microsoft afferma che IPv6 è una parte obbligatoria del sistema operativo Windows.
- Richiede un trucco del registro scomodo per disabilitare l'intero stack IPv6.
- Accertarsi che sia impostato correttamente su tutti i server è scomodo.
- Causerà più problemi in seguito quando finalmente implementeremo IPv6.
- Maschera record IPv6 sul ricursore DNS facnig dell'utente?
- No, stiamo usando NLNet Unbound e non lo supporta .
- Impedire la registrazione dei record AAAA IPv6 sul server DNS Microsoft?
- Non penso sia nemmeno possibile.
A questo punto, sto pensando di scrivere una sceneggiatura che cancella tutti i record AAAA dalle nostre zone DNS. Per favore, aiutami a trovare un modo migliore.
AGGIORNAMENTO: la risoluzione DNS non è il problema. Come sottolinea @joeqwerty nella sua risposta, i record DNS vengono restituiti all'istante. Entrambi A
e i AAAA
record sono immediatamente disponibili. Il problema è che alcuni client ( mstsc.exe
) tenteranno preferibilmente una connessione su IPv6 e impiegheranno un po 'a ricorrere a IPv4.
Sembra un problema di routing. Il ping
comando produce un messaggio di errore "Errore generale" perché l'indirizzo di destinazione non è eseguibile.
C:\Windows\system32>ping myhost.mydomain
Pinging myhost.mydomain [2002:1234:1234::1234:1234] with 32 bytes of data:
General failure.
General failure.
General failure.
General failure.
Ping statistics for 2002:1234:1234::1234:1234:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Non riesco ad acquisire un pacchetto di questo comportamento. L'esecuzione di questo comando ping (non riuscito) non produce alcun pacchetto in Microsoft Network Monitor. Allo stesso modo, tentare una connessione con mstsc.exe
un host con un AAAA
record non produce traffico fino a quando non esegue un fallback a IPv4.
AGGIORNAMENTO: tutti i nostri host utilizzano indirizzi IPv4 instradabili pubblicamente. Penso che questo problema potrebbe dipendere da una configurazione 6to4 non funzionante. 6to4 si comporta in modo diverso sugli host con indirizzi IP pubblici rispetto agli indirizzi RFC1918.
AGGIORNAMENTO: C'è sicuramente qualcosa di sospetto con 6to4 sulla mia rete. Quando disabilito 6to4 sul client Windows, le connessioni si risolvono istantaneamente.
netsh int ipv6 6to4 set state disabled
Ma come dice @joeqwerty, questo maschera solo il problema. Sto ancora cercando di scoprire perché la comunicazione IPv6 sulla nostra rete è completamente non funzionante.