Vous êtes connecté à un réseau, tout semble fonctionner normalement, sauf que vous n'arrivez plus à joindre le site web de Google depuis votre Mac. Que peut-il bien se passer ?

Il s'avère que des problèmes de connexion à certains sites, dont notamment Google, peuvent être liés à IPv6, même dans un environnement IPv4. Voyons comment.

Acte I : Google dispose désormais d'une connectivité IPv6 sur le nom www.google.com. Pour peu que vous soyez sur un domaine réputé être compatible IPv6, les DNS de Google renvoient aussi bien des adresses IPv4 (enregistrements A) que IPv6 (enregistrements AAAA). Voir le programme Google over IPv6.

Acte II : Les Macs ont IPv6 activé par défaut sur leurs interfaces réseau. De plus, lorsqu'une route vers un serveur existe en IPv6, elle est prioritaire par rapport à une route IPv4. Cependant, pour qu'une route IPv6 existe entre votre Mac et Google, il faudrait un routeur IPv6 ainsi qu'une connectivité IPv6. Clairement, il n'y a normalement pas ça en environnement IPv4.

Acte III : Un PC Windows dispose d'un système d'auto-configuration de réseau qui peut le faire se déclarer routeur IPv6 dans certaines conditions. Il envoie alors des paquets ICMPv6 broadcast de type routeur announcement pour faire fièrement savoir à tout le réseau local qu'il est le routeur IPv6 du réseau... alors qu'il n'est pas capable de router quoi que ce soit !

En résumé, il suffit qu'un PC Windows (ou autre) s'annonce faussement comme routeur IPv6 pour que les Macs décident de contacter Google (et consorts) en IPv6, et pour ce faire de tout envoyer à ce routeur qui ne route rien. Bilan : des sites injoignables...

Comme le souligne Stéphane Bortzmeyer, il me semble qu'il s'agit d'une faille de sécurité importante d'IPv6 : en l'état, n'importe-quel hôte d'un réseau peut très facilement mettre à mal tout le trafic IPv6 (et aussi IPv4) en se déclarant comme routeur IPv6. Bon, c'est vrai aussi en IPv4 si un hôte décide de faire serveur DHCP...