IPv6 avec GNU/Linux

Linux

L'IPv6 est supporté par GNU/Linux et la majorité des distributions l'active en option sous forme de module du noyau.

Le noyau

Si vous compilez votre noyau Linux vous-même : Pour le support IPv6, il faut activer l'option expérimentale CONFIG_IPV6 ou l'inclure comme module lors de la compilation.

Avertissement

Le support IPv6 du noyau 2.4 intègre une pile IPv6 avec divers bogues qui peuvent poser des problèmes à l'utilisation. Je vous recommande vivement d'utiliser un noyau de version 2.6.x pour l'IPv6.

Les versions antérieures à 2.4 ne supporte pas du tout l'IPv6.

La configuration

Si vous utilisez IPv6 comme module (recommandé), il faudra charger le module ipv6: vous pouvez l'ajouter dans /etc/modules pour le charger automatiquement au démarrage, ou exécutez modprobe ipv6 pour l'activer manuellement.

Le reste de la configuration est automatique si vous disposez d'un routeur IPv6 sur votre réseau local.

Les outils

Il est conseillé d'installer les outils de diagnostic IPv6. Sous Mandrake, ils le sont automatiquement avec l'installation de base. Sous Debian, il vaut mieux installer les paquets iputils-ping et iputils-tracepath.

Vous pouvez alors tester votre connexion IPv6 avec les commandes traceroute6, ping6 et tracepath6, qui sont évidemment les versions IPv6 de traceroute, ping et tracepath.

Exemple de ping IPv6

ping permet de vérifier que la communication se fait bien entre 2 machines.

[remi@edmond ~]$ ping6 -c 4 www.6bone.net
PING www.6bone.net(www.6bone.net) 56 data bytes
64 bytes from www.6bone.net: icmp_seq=1 ttl=62 time=245 ms
64 bytes from www.6bone.net: icmp_seq=2 ttl=62 time=248 ms
64 bytes from www.6bone.net: icmp_seq=3 ttl=62 time=247 ms
64 bytes from www.6bone.net: icmp_seq=4 ttl=62 time=245 ms

--- www.6bone.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 245.295/246.569/248.157/1.243 ms

Exemple de traceroute IPv6

traceroute (ainsi que tracepath) permet de déterminer le chemin suivi par les paquets transmis entre 2 machines.

[remi@edmond ~]$ traceroute6 -n www.kame.net
traceroute to orange.kame.net (2001:200:0:8002:203:47ff:fea5:3085)
from 2002:8ac3:802d:1242:201:2ff:feb2:d750, 30 hops max, 16 byte packets
 1  2002:8ac3:802d:1242:250:4ff:fe4c:af8a  0.59 ms  0.438 ms  0.397 ms
 2  2002:c25f:6cbf:1::1  23.069 ms  23.905 ms  22.898 ms
 3  2001:638:0:a00::a01:1  24.893 ms  27.514 ms  25.282 ms
 4  2001:638:0:a00::1:2  28.813 ms  26.898 ms  27.149 ms
 5  2001:7a0:105:1::bafe  48.275 ms  39.03 ms  56.389 ms
 6  2001:7a0:105:1::baff  39.783 ms  44.91 ms  49.211 ms
 7  2001:7f8:2:1::8  53.858 ms  44.268 ms  40.836 ms
 8  2001:688:0:2:1::  48.674 ms  48.66 ms  48.231 ms
 9  2001:688:0:2:1::7  124.51 ms  134.304 ms  132.158 ms
 10  2001:688:0:2:6::1  340.695 ms  340.487 ms  340.416 ms
 11  2001:200:0:1800::9c4:0  336.436 ms  336.844 ms  336.078 ms
 12  2001:200:0:1802:240:66ff:fe10:cf7c  345.553 ms  323.323 ms  322.364 ms
 13  2001:200:0:1c04::1000:2000  323.128 ms  324.609 ms  324.827 ms
 14  2001:200:0:4819::2000:1  324.757 ms  324.702 ms  325.617 ms
 15  2001:200:0:8002:203:47ff:fea5:3085  324.563 ms  326.051 ms  327.072 ms