Il existe 3 types d'autoconfiguration :
L'autoconfiguration sans état ou "stateless" où seul le préfixe est donné à l'équipement qui aura la charge de générer le suffixe de l'adresse.
Dès qu'une interface est activée (démarrage de la machine par exemple) une adresse de type lien-local est automatiquement générée à partir de l'adresse MAC de l'interface
Exemple : une carte réseau d'adresse MAC 00:0D:61:22:34:76 aura l'adresse IPv6 suivante fe80::20d:61ff:fe22:3476
Le préfixe est fe80::, donc l'adresse est de type "lien-local".
Le suffixe est généré à partir de l'adresse MAC de la machine.
C'est ce type d'adresse qui est généré sur votre machine si vous avez le module IPv6 comme c'est le cas sous Linux avec le noyau 2.6 .
Vous pouvez vérifier si le module IPv6 est chargé simplement en faisant la commande:
#ifconfig |grep inet6
adr inet6: fe80::20d:61ff:fe22:3476/64 Scope:Lien
adr inet6: ::1/128 Scope:HôteVous pouvez voir que l'interface eth0 possède bien une adresse IPv6 fe80::20d:61ff:fe22:3476/64 qui correspond à une adresse de type lien-local et vous pouvez remarquer que la partie suffixe est bien dérivée de son adresses MAC.
L'interface de loopback possède également une adresse IPv6 ::1/128
Ce type d'adresse lien-local peut suffire pour les premiers tests.
L'autoconfiguration avec état ou "stateful" dans laquelle l'adresse est fournie par le démon Annonce du routeur .
Le démon radvd permet d'autoconfigurer toutes les interfaces du réseau avec un autre préfixe (par exemple celui qui vous aura été fourni par votre FAI ou celui que vous aurez choisi pour vos tests) en utilisant un routeur IPv6 où le démon "radvd" ou "Router Advertisement demon" est installé.
Ce démon doit être installé sur un des postes de votre réseau , celui qui servira plus tard de passerelle IPv6.
Pour installer radvd :
# apt-get install radvd
Vous devez ensuite créer le fichier
/etc/radvd.conf
En y mettant le préfixe que vous souhaitez donner aux interfaces du réseau , voici un exemple de fichier radvd.conf :
interface eth0
{
AdvSendAdvert on;
prefix 2002:c000:201::1/64
{
};
};
Ici , le préfixe sera 2002:c000:201::1/64 .
Vous devez ensuite redémarrer le démon radvd en faisant:
# invoke-rc.d radvd restart
Ajoutez ensuite la configuration IPv6 de votre interface dans le fichier
/etc/network/interfaces
:
iface eth0 inet6 static
address 2002:c000:201::1
netmask 64
Relancer ensuite le service networking.
Le démon radvd émet ensuite des annonces afin que les interfaces du lien s'autoconfigurent avec le préfixe reçu et le routeur pas défaut.
ifconfig |grep inet6
adr inet6: fe80::20d:61ff:fe22:3476/64 Scope:Lien
adr inet6: 2002:c000:201::1/64 Scope:Global
adr inet6: ::1/128 Scope:Hôte
Le routeur d'annonce a désormais une adresse IPv6 localhost ::1 ,une adresse lien local fe80::20d:61ff:fe22:3476/64 et une adresse globale 2002:c000:201::1/64 .
Pour la configuration des autres postes du réseau, il suffit de lancer la commande "dhclient ethx" sur cet autre poste pour récupérer les nouveaux paramètres.
En effectuant une capture de trames avec ethereal lors de l'exécution de la commande dhclient ,vous pourrez remarquer les différents messages du protocole :
- "Router solicitation" ou sollicitation du routeur: ce message est émis par un équipement au démarrage ou lors d'un renouvellement d'adresse avec "dhclient" pour recevoir plus rapidement des informations du routeur. Ce message est émis vers l'adresse IPv6 de multicast réservée aux routeurs du même lien ff02::2. Il est émis par l'adresse lien-local de l'équipement.
- "Router advertisement" ou annonce du routeur : ce message est émis périodiquement par les routeurs ou en réponse à un message de sollicitation du routeur. L'adresse source est celle du poste sur lequel le démon "radvd" a été configuré : par exemple notre routeur d'annonce fe80::20d:61ff:fe22:3476, l'adresse de destination est ff02::1 ce qui correspond à l'adresse multicast de sollicitation de lien-local.
Voici la configuration obtenue par le poste client après l'exécution de la commande "dhclient" .
$ sudo ifconfig |grep inet6 adr inet6: 2002:c000:201:0:20e:35ff:fe8f:6c99/64 Scope:Global adr inet6: fe80::20e:35ff:fe8f:6c99/64 Scope:Lien adr inet6: ::1/128 Scope:Hôte
Vous pouvez constater que ce poste a desormais également 3 adresses IPv6 (au lieu de 2 auparavant) car c'est le routeur d'annonce qui lui a envoyé le préfixe de son adresse globale, le suffixe étant calculé à partir de son adresse MAC : 2002:c000:201:0:20e:35ff:fe8f:6c99/64
Si le préfixe vous a été attribué par un FAI (ex Nérim qui fournit des adresses IPv6 natives) ou un "tunnelbroker" (par exemple Freenet6 , Sixxs )qui fournit des passerelles gratuites IPv6 via un tunnel, votre poste possède donc sa propre adresse IPv6 globale unique (avec la partie suffixe dérivée de l'adresse MAC) ,utilisable sur Internet.
Ce concept d'autoconfiguration peut donc vous permettre de paramétrer tout un réseau en ne configurant que le routeur d'annonce, les postes clients obtenant automatiquement leur propre configuration.
L'autoconfiguration avec DHCP6
Ce type de configuration dynamique, moins utile avec IPv6, ne sera pas détaillé pour l'instant.