Versión 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 la forma de 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 “arreglada” por un RFC de septiembre de 2012. Dependiendo de su versión de Windows, usted tenía esta nueva política fuera de la caja (Windows 8.1), o probablemente ya entregado a través de una actualización (Windows 8, Windows 7, Windows Vista).
Estamos aquí porque queremos usar IPv6; queremos que se deshaga el cambio.
Cómo volver a ponerlo
Si obtienes varias direcciones IP para un mismo host, tu máquina tiene que decidir qué dirección va a utilizar. Un ejemplo de clasificación podría ser
- IPv6 loopback
- IPv6 nativo
- Direcciones Únicas-Locales (ULAs), por ejemplo fdxx::
- Site-local, por ejemplo
- IPv4compat
- IPv4
- Teredo, p. ej. 2001
En su máquina Windows, esta clasificación se llama política de prefijo.
Política de prefijos
Puede ver la política de prefijos de su ordenador ejecutando:
>netsh int ipv6 show prefixpolicies
En los viejos tiempos (originalmente definidos por RFC 3484 ), la política de prefijos 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
Así que ve que prácticamente siempre usaría IPv6 (¡yay!):
- IPv6 loopback
- IPv6 nativo, ULAs, site-local, 6one
- 6to4
- IPv4compat
- IPv4
- Teredo
Si ha hecho el esfuerzo de desplegar IPv6: acaba de funcionar.
Nueva política de prefijos
En 2012 se definió un nuevo orden de preferencia por RFC6724 . Hoy en día la política de prefijos prácticamente asegura que nunca usarás 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ás que nunca podrás usar tus Direcciones Locales Únicas, o dirección site-local; está perpetuamente rota:
- IPv6 loopback
- IPv6 nativo
- IPv4
- 6to4
- Teredo
- ULAs
- site-local
- 6bone
- IPv6compat
¿Cómo solucionarlo?
Lo que queremos es arreglar IPv6 para que los ULAs tengan preferencia sobre IPv4. Como mínimo queremos empujar el uso de ULAs (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 mediante:
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
Eso sólo lo mantendrá activo hasta el próximo reinicio. Para hacer el cambio permanente:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Si yo:
- me tomé el esfuerzo de generar un prefijo global ULA para mi /48
- y elegir un id de subred para mi /64
- y desplegar ULAs en cada máquina de la empresa
- y actualizar los servidores DNS para que devuelvan direcciones ULA IPv6 además de las direcciones IPv4
lo menos que podría hacer el equipo es tener la cortesía común de usar la dirección.
Bonus Chatter
El rango fc00::/7
se divide en dos partes:
fd00::/8
- Prefijo GlobalID generado localmente
fc00::/8
- ???
Nadie ha decidido nunca para qué sirve el fc
, así que se queda ahí.
Las direcciones fd
se definen como:
fd
[40-bit random GlobalID]
[16-bit subnet]
Así que si generaste [64-bits for host assignment]
como tu GlobalID de 40 bits al azar, eso te da tu /48:
a4d7f6dd66
/48
fda4:d7f5:dd66::
/64 (en la subred fda4:d7f5:dd66:face::
)
face
como dirección IP del host
SixXS mantenía una base de datos pública de prefijos GlobalID de direcciones locales únicas para reducir la posibilidad de colisiones, e. g.:
fda4:d7f5:dd66:face::825
: Apple Inc - Leopard OSX
fdee:e004:2208::/48
: TekSavvy - Danny Murray
fdd4:43c8:ba34::/48
: IBM Rational Build Forge - Chris Fuller
Pero debido a la ralentización del uso, y al dudoso valor en primer lugar, SixXS interrumpió el servicio en 2018.
Lectura adicional