Ce billet est publié sous la licence CC-BY-SA.
Depuis le 12 décembre, Free propose l'IPv6 à ses abonnés. En effet, la nouvelle option "Support IPv6" est apparue dans l'interface de configuration :
Il faut bien sûr vérifer que le noyau supporte l'IPv6. L'autoconfiguration étant par défaut activée, l'interface reliée à la Freebox reçoit automatiquement une adresse IPv6 :
sylvain# ifconfig eth0 | grep inet6
adr inet6: 2a01:XXX:XXXX:XXXX:XXX:XXXX:XXXX:XXXX/64 Scope:Global
adr inet6: fe80::XXX:XXXX:XXXX:XXXX/64 Scope:Lien
La commande "route -A inet6" liste les routes associées. "ip -6" est aussi utile, en particulier pour afficher les interfaces, les routes et les voisins (au sens IPv6 du terme) :
sylvain# ip -6 neigh fe80::XXX:XXXX:XXXX:XXXX dev eth0 lladdr 00:07:cb:XX:XX:XX router STALE
Petit conseil en passant : ne pas oublier de lancer "ip -6 moo", sorte d'incantation magique augmentant les chances de réussite. Premier test grandeur nature, testons un ping sur Kame (implémentation IPv6 des BSD) :
sylvain$ ping6 -c1 www.kame.net PING www.kame.net(2001:200:0:8002:203:47ff:fea5:3085) 56 data bytes 64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=1 ttl=46 time=312 ms --- www.kame.net ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 312.240/312.240/312.240/0.000 ms
OK, ça marche. Je suis curieux, je tente un traceroute :
sylvain$ traceroute6 www.kame.net traceroute to www.kame.net (2a01:XXX:X::XXX:XXXX:XXXX:XXXX), 30 hops max, 40 byte packets 1 2a01:XX:XXXX:XXXX::X (XXXX:XXX:XXXX:XXXX::X) 0.539 ms 0.749 ms 0.894 ms 2 2a01:XX:XXXX:XXXX::X (XXXX:XXX:XXXX:XXXX::X) 36.924 ms 39.839 ms 42.044 ms 3 2a01:XX:XXXX:XXXX::X (XXXX:XXX:XXXX:XXXX::X) 44.699 ms * * 4 * * * 5 * * * 6 2001:5a0:0:100::9 (2001:5a0:0:100::9) 62.068 ms 37.060 ms 37.473 ms 7 2001:5a0:1a00::5 (2001:5a0:1a00::5) 38.725 ms * * 8 if-2-0-0.core2.fr1-frankfurt.ipv6.teleglobe.net (2001:5a0:700:300::1) 48.149 ms * * 9 * * * 10 2001:5a0:200::5 (2001:5a0:200::5) 127.528 ms 51.400 ms 52.438 ms 11 ge-0.ams-ix.amstnl02.nl.bb.gin.ntt.net (2001:7f8:1::a500:2914:1) 53.080 ms 53.165 ms 52.816 ms 12 as-0.r20.asbnva01.us.bb.gin.ntt.net (2001:728:0:2000::121) 138.692 ms 138.870 ms 137.371 ms 13 as-0.r20.snjsca04.us.bb.gin.ntt.net (2001:418:0:2000::1de) 198.739 ms 203.891 ms 203.654 ms 14 as-2.r20.tokyjp01.jp.bb.gin.ntt.net (2001:218:0:2000::ce) 301.470 ms as-1.r20.osakjp01.jp.bb.gin.ntt.net (2001:218:0:2000::7e) 328.706 ms as-2.r20.tokyjp01.jp.bb.gin.ntt.net (2001:218:0:2000::ce) 303.331 ms 15 xe-3-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:0:6000::10e) 304.148 ms ae-4.r20.tokyjp01.jp.bb.gin.ntt.net (2001:218:0:2000::d9) 340.164 ms xe-3-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:0:6000::10e) 304.057 ms 16 xe-3-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:0:6000::10e) 343.974 ms 317.846 ms ge-8-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:2000:5000::82) 318.373 ms 17 ge-8-2.a15.tokyjp01.jp.ra.gin.ntt.net (2001:218:2000:5000::82) 333.224 ms ve-4.nec2.yagami.wide.ad.jp (2001:200:0:1c04:230:13ff:feae:5b) 318.742 ms 318.553 ms 18 lo0.alaxala1.k2.wide.ad.jp (2001:200:0:4800::7800:1) 320.699 ms ve-4.nec2.yagami.wide.ad.jp (2001:200:0:1c04:230:13ff:feae:5b) 334.724 ms 342.116 ms 19 lo0.alaxala1.k2.wide.ad.jp (2001:200:0:4800::7800:1) 338.316 ms (2001:200:0:8002:203:47ff:fea5:3085) 326.308 ms lo0.alaxala1.k2.wide.ad.jp (2001:200:0:4800::7800:1) 347.670 ms
Testons maintenant un surf sur http://www.kame.net : l'image de la tortue s'anime comme prévu ! Un bon vieux tcpdump montre bien les paquets IPv6 et ICMPv6. Je précise que les paquets ne sont pas chiffrés ; IPSec est obligatoire dans l'implémentation d'IPv6, mais pas dans son usage....
Petite remarque sur les requêtes DNS : le système pose maintenant des questions de type "AAAA" pour l'IPv6, en plus du classique "A". La commande "host" retourne donc :
sylvain$ host www.kame.net www.kame.net has address 203.178.141.194 www.kame.net has IPv6 address 2001:200:0:8002:203:47ff:fea5:3085
La commande "netsh interface ipv6 show {?,address,neighbors,routes}" est votre amie pour afficher les adresses, les voisins et les routes.
Bienvenue dans un autre monde et n'oubliez pas votre kit de survie.