Version courte
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
Version longue
La RFC6724 a défini un changement dans la façon dont les adresses doivent être préférées. Avec ce changement, IPv6 n'est plus l'adresse préférée dans presque tous les cas :(
Cette question, qui a été posée en juin 2012, a été "corrigée" par un RFC de septembre 2012. En fonction de votre version de Windows, vous aviez soit cette nouvelle stratégie prête à l'emploi (Windows 8.1), soit probablement déjà livrée via une mise à jour ( Windows 8, Windows 7, Windows Vista).
Nous sommes ici parce que nous voulons utiliser IPv6; nous voulons que ce changement soit annulé.
Comment le remettre
Si vous obtenez plusieurs adresses IP pour un seul hôte, votre machine doit décider de l'adresse à utiliser. Un exemple de classement pourrait être:
- Boucle IPv6
- IPv6 natif
- Adresses locales uniques (ULA), par exemple fdxx ::
- Site local, par exemple fec0
- 6 os
- 6to4
- IPv4compat
- IPv4
- Teredo, par exemple 2001
Sur votre machine Windows, ce classement est appelé la stratégie de préfixe .
Politique de préfixe
Vous pouvez afficher la stratégie de préfixe de votre ordinateur en exécutant:
>netsh int ipv6 show prefixpolicies
Dans l'ancien temps (initialement défini par RFC 3484 ), la stratégie de préfixe était:
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
Donc, vous voyez, il utiliserait presque toujours IPv6 (yay!):
- Boucle IPv6
- IPv6 natif, ULA, site-local, 6one
- 6to4
- IPv4compat
- IPv4
- Teredo
Si vous avez déployé des efforts pour déployer IPv6: cela a juste fonctionné.
Nouvelle politique de préfixe
En 2012, un nouvel ordre de préférence a été défini par la RFC6724 . De nos jours, la politique de préfixe garantit à peu près que vous n'utiliserez jamais 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
Vous verrez que vous ne pourrez jamais utiliser vos adresses locales uniques ou votre adresse locale du site; il est perpétuellement cassé:
- Boucle IPv6
- IPv6 natif
- IPv4
- 6to4
- Teredo
- ULA
- site-local
- 6 os
- IPv6compat
Comment le réparer?
Ce que nous voulons, c'est fixer IPv6 afin que les ULA soient préférés à IPv4. À tout le moins, nous voulons pousser l'utilisation des ULA ( fc00::/7
) au-dessus de celle d'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
Ce qui est fait par:
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
Cela ne le maintiendra actif qu'au prochain redémarrage. Pour rendre le changement permanent:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Si je:
- a fait l'effort de générer un préfixe global ULA pour mon / 48
- et choisissez un identifiant de sous-réseau pour mon / 64
- et déployer des ULA sur chaque machine de l'entreprise
- et mettre à jour les serveurs DNS pour renvoyer les adresses ULA IPv6 en plus des adresses IPv4
le moins que l'ordinateur puisse faire est d'avoir la courtoisie habituelle d'utiliser l'adresse.
Bonus Chatter
La fc00::/7
gamme est divisée en deux parties:
fd00::/8
- Préfixe GlobalID généré localement
fc00::/8
- ???
Personne n'a jamais vraiment décidé que ce fc
serait bon, et donc reste assis là.
Les fd
adresses sont définies comme:
fd
[40-bit random GlobalID]
[16-bit subnet]
[64-bits for host assignment]
Donc, si vous avez généré a4d7f6dd66
votre GlobalID 40 bits cryptoghpcallly random , cela vous donne votre / 48:
fda4:d7f5:dd66::
/ 48
fda4:d7f5:dd66:face::
/ 64 (dans le face
sous - réseau)
fda4:d7f5:dd66:face::825
comme adresse IP hôte
SixXS a maintenu une base de données publique de préfixes GlobalID d'adresses locales uniques afin de réduire les risques de collisions, par exemple:
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
Mais en raison du ralentissement de l'utilisation et de la valeur douteuse en premier lieu, SixXS a interrompu le service en 2018.
Lecture bonus
netsh interface ipv6 show prefixpolicy
. Je pourrais publier une réponse plus détaillée demain.