Versione breve
Before September 2012 After September 2012
Precedence Prefix Precedence Prefix
---------- ------------- ---------- -------------
50 ::1/128 IPv6 loopback 50 ::1/128 IPv6 loopback
40 ::/0 Native IPv6 40 ::/0 Native IPv6
40 fc00::/7 ULAs 35 ::ffff:0:0/96 IPv4
40 fec0::/10 site-local 30 2002::/16 6to4
40 3ffe::/16 6bone 5 2001::/32 Teredo
30 2002::/16 6to4 3 fc00::/7 ULAs
20 ::/96 IPv4compat 1 fec0::/10 site-local
10 ::ffff:0:0/96 IPv4 1 3ffe::/16 6bone
5 2001::/32 Teredo 1 ::/96 IPv4compat
Versione lunga
RFC6724 ha definito un cambiamento nel modo in cui gli indirizzi dovrebbero essere preferiti. Con questa modifica IPv6 non è più l'indirizzo preferito in quasi tutti i casi :(
Questa domanda, che è stata posta nel giugno del 2012, è stata "risolta" da un RFC a partire da settembre 2012. A seconda della versione di Windows, questo nuovo criterio era già pronto (Windows 8.1) o probabilmente già consegnato tramite un aggiornamento ( Windows 8, Windows 7, Windows Vista).
Siamo qui perché vogliamo usare IPv6; vogliamo che quel cambiamento sia annullato.
Come rimetterlo
Se si ottengono più indirizzi IP per un singolo host, la macchina deve decidere quale indirizzo utilizzare. Una classifica di esempio potrebbe essere:
- Loopback IPv6
- IPv6 nativo
- Indirizzi univoci locali (ULA), ad es. Fdxx ::
- Sito locale, ad esempio fec0
- 6bone
- 6to4
- IPv4compat
- IPv4
- Teredo, ad esempio 2001
Sul tuo computer Windows, questa classifica si chiama criterio prefisso .
Prefisso politica
È possibile visualizzare il criterio prefisso del computer eseguendo:
>netsh int ipv6 show prefixpolicies
Ai vecchi tempi (originariamente definito da RFC 3484 ), la politica del prefisso era:
Precedence Prefix
---------- -------------
50 ::1/128 IPv6 loopback
40 ::/0 Native IPv6
40 fc00::/7 ULAs
40 fec0::/10 site-local
40 3ffe::/16 6bone
30 2002::/16 6to4
20 ::/96 IPv4compat
10 ::ffff:0:0/96 IPv4
5 2001::/32 Teredo
Quindi vedi che userebbe quasi sempre IPv6 (yay!):
- Loopback IPv6
- IPv6 nativo, ULAs, site-local, 6one
- 6to4
- IPv4compat
- IPv4
- Teredo
Se hai passato lo sforzo di distribuire IPv6: ha funzionato.
Nuova politica sui prefissi
Nel 2012 un nuovo ordine di preferenza è stato definito da RFC6724 . Al giorno d'oggi la politica di prefisso garantisce praticamente che non utilizzerai mai IPv6:
Precedence Prefix
---------- -------------
50 ::1/128
40 ::/0 Native IPv6
35 ::ffff:0:0/96 IPv4
30 2002::/16
5 2001::/32
3 fc00::/7 ULAs
1 fec0::/10 site-local
1 3ffe::/16
1 ::/96
Vedrai che non sarai mai in grado di utilizzare i tuoi indirizzi locali univoci o l'indirizzo locale del sito; è perpetuamente rotto:
- Loopback IPv6
- IPv6 nativo
- IPv4
- 6to4
- Teredo
- Ulas
- sito locale
- 6bone
- IPv6compat
Come sistemarlo?
Quello che vogliamo è riparare IPv6 in modo che gli ULA siano preferiti rispetto a IPv4. Almeno vogliamo spingere l'uso di ULA ( fc00::/7
) sopra quello di IPv4:
Precedence Prefix
---------- -------------
50 ::1/128
40 ::/0 Native IPv6
37 fc00::/7 ULAs <---------- from 3 up to 37
35 ::ffff:0:0/96 IPv4
30 2002::/16
5 2001::/32
1 fec0::/10 site-local
1 3ffe::/16
1 ::/96
Che è fatto da:
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
Ciò lo manterrà attivo solo fino al prossimo riavvio. Per rendere permanente la modifica:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Se io:
- ha attraversato lo sforzo di generare un prefisso globale ULA per il mio / 48
- e scegliere un ID subnet per my / 64
- e distribuire gli ULA su ogni macchina dell'azienda
- e aggiorna i server DNS per restituire gli indirizzi IPv6 ULA oltre agli indirizzi IPv4
il minimo che il computer possa fare è avere la cortesia comune di usare l'indirizzo.
Bonus Chatter
L' fc00::/7
intervallo è diviso in due parti:
fd00::/8
- Prefisso GlobalID generato localmente
fc00::/8
- ???
Nessuno ha mai veramente deciso che fc
sarebbe stato un bene, e quindi resta seduto lì.
Gli fd
indirizzi sono definiti come:
fd
[40-bit random GlobalID]
[16-bit subnet]
[64-bits for host assignment]
Quindi, se hai generato a4d7f6dd66
come GlobalID cryptoghpcallly a 40 bit casualmente , questo ti dà il tuo / 48:
fda4:d7f5:dd66::
/ 48
fda4:d7f5:dd66:face::
/ 64 (nella face
sottorete)
fda4:d7f5:dd66:face::825
come indirizzo IP host
SixXS ha gestito un database pubblico di prefissi GlobalID con indirizzo locale univoco al fine di ridurre il rischio di collisioni, ad esempio:
fdee:e004:2208::/48
: Apple Inc - Leopard OSX
fdd4:43c8:ba34::/48
: TekSavvy - Danny Murray
fdac:afbd:fea1::/48
: IBM Rational Build Forge - Chris Fuller
Ma a causa del rallentamento dell'utilizzo e, in primo luogo, del dubbio valore, SixXS ha interrotto il servizio nel 2018.
Lettura bonus
netsh interface ipv6 show prefixpolicy
. Potrei pubblicare una risposta più dettagliata domani.