Version corta
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
Versión larga
RFC6724 definió un cambio en cómo se deben preferir las direcciones. Con este cambio, IPv6 ya no es la dirección preferida en casi todos los casos :(
Esta pregunta, que se hizo en junio de 2012, fue "corregida" por un RFC de septiembre de 2012. Dependiendo de su versión de Windows, tenía esta nueva política lista para usar (Windows 8.1) o probablemente ya se entregó a través de una actualización ( Windows 8, Windows 7, Windows Vista).
Estamos aquí porque queremos usar IPv6; Queremos deshacer ese cambio.
Cómo devolverlo
Si obtiene varias direcciones IP para un solo host, su máquina tiene que decidir qué dirección usará. Un ranking de ejemplo podría ser:
- IPv6 loopback
- IPv6 nativo
- Direcciones locales únicas (ULA), por ejemplo, fdxx ::
- Sitio local, por ejemplo, fec0
- 6 huesos
- 6to4
- IPv4compat
- IPv4
- Teredo, por ejemplo, 2001
En su máquina Windows, este ranking se llama la política de prefijo .
Política de prefijos
Puede ver la política de prefijos de su computadora ejecutando:
>netsh int ipv6 show prefixpolicies
En los viejos tiempos (originalmente definido por RFC 3484 ), la política de prefijo 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
Como ve, casi siempre usaría IPv6 (¡sí!):
- IPv6 loopback
- IPv6 nativo, ULA, sitio local, 6one
- 6to4
- IPv4compat
- IPv4
- Teredo
Si realizó el esfuerzo de implementar IPv6: simplemente funcionó.
Nueva política de prefijos
En 2012, un nuevo orden de preferencia fue definido por RFC6724 . Hoy en día, la política de prefijos garantiza que nunca usará 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
Verá que nunca podrá usar sus direcciones locales únicas o la dirección local del sitio; está perpetuamente roto:
- IPv6 loopback
- IPv6 nativo
- IPv4
- 6to4
- Teredo
- ULA
- sitio local
- 6 huesos
- IPv6compat
¿Como arreglarlo?
Lo que queremos es arreglar IPv6 para que los ULA sean preferibles a IPv4. Como mínimo, queremos impulsar el uso de ULA ( fc00::/7
) por encima del de 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
Lo cual se hace por:
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
Eso solo lo mantendrá activo hasta el próximo reinicio. Para hacer el cambio permanente:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Si yo:
- pasó por el esfuerzo de generar un prefijo global ULA para mi / 48
- y elija una ID de subred para mi / 64
- e implementar ULA en cada máquina de la empresa
- y actualice los servidores DNS para devolver direcciones IPv6 ULA además de direcciones IPv4
lo menos que la computadora podría hacer es tener la cortesía común de usar la dirección.
Chatter de bonificación
El fc00::/7
rango se divide en dos partes:
fd00::/8
- Prefijo GlobalID generado localmente
fc00::/8
- ???
Nadie realmente decidió fc
que sería bueno para él, por lo que simplemente se sienta allí.
Las fd
direcciones se definen como:
fd
[40-bit random GlobalID]
[16-bit subnet]
[64-bits for host assignment]
Entonces, si generó a4d7f6dd66
su GlobalID de 40 bits criptográficamente aleatorio , eso le da su / 48:
fda4:d7f5:dd66::
/ 48
fda4:d7f5:dd66:face::
/ 64 (en la face
subred)
fda4:d7f5:dd66:face::825
como una dirección IP de host
SixXS mantuvo una base de datos pública de prefijos GlobalID de dirección local única para reducir la posibilidad de colisiones, por ejemplo:
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
Pero debido a la desaceleración del uso y al dudoso valor en primer lugar, SixXS suspendió el servicio en 2018.
Lectura adicional
netsh interface ipv6 show prefixpolicy
. Podría publicar una respuesta más detallada mañana.