DHCPv6
Configuration automatique des adresses sans état ICMPv6
Les adresses IPv6 qui sont configurée dynamiquement peuvent l'être de 2 façons :
- SLAAC
- DHCPv6
SLAAC
SLAAC permet à un périphérique de s'auto-configurer. ICMPv6 est au coeur de SLAAC, et il inclut des fonctions supplémentaires par rapport à ICMPv4. SLAAC utilise des messages d'annonce de routeur ICMPv6 pour fournir les informations d'adressage et d'autres informations de configuration qui seraient normalement fournies par un DHCP :
- RS : Router Sollicitation, envoyé par un client lorsque celui-ci est configuré en SLAACpour demander un RA. Il est envoyé sur le groupe des routeurs FF02::2
- RA : Router Anouncement envoyés par les routeurs toutes les 200 secondes ou en réponse à un RS; ils contiennent le préfixe et la longueur d'en-tête de l'adresse IPv6. Les clients utilisent ces informations pour s'auto-configurer. Ils sont envoyés sur le groupe de mutlidiffusion à tous les noeuds FF02::1
SLAAC est dit sans état car aucun service ne fait appel à un serveur. Aucun serveur quelles sont les adresses utilisées ou pas.
Fonctionnement de SLAAC
Pour qu'il puisse envoyer des RA, un routeur doit être activé en tant que routeur IPv6. Sur un routeur Cisco, cela se fait par la commande :
ipv6 unicast-routing
Ensuite, la logique suit l'image suivante :
Il est à noter que la création de l'ID interface peut se faire de deux façons :
- Soit avec EUI-64 (cf IPv6 )
- Soit par génération aléatoire
SLAAC et DHCPv6
Ce sont les paramètres indiqués dans le RA qui déterminent si un client est configuré pour obtenir automatiquement ses informations d'adressage par SLAAC, DHCPv6 ou les deux. Les RA contiennent deux indicateurs qui signalent l'option à utiliser par le client : l'indicateur de configuration des adresses générées (indicateur M) et l'indicateur de configuration autre (O). Différentes combinaisons d'indicateurs M et O permettent aux messages RA d'indiquer une des trois option d'adressage pour le périphérique, voir l'image :
Quelle que soit l'option utilisée, d'après la RFC 4861 il faut faire une détection des adresses dupliquées (DAD) sur toutes les adresses de monodiffusion, y compris celles configurées via SLAAC ou DHCPv6. Bien entendu, l'OS peut choisir d'ignorer le contenu du RA et se configurer comme il le souhaite.
Rappel des indicateurs:
- M : configuration des adresses générées
- O : Autre
Nous allons détailler les 3 options :
Option SLAAC
C'est l'option par défaut sur les routeurs Cisco : les indicateur M et O sont tous les deux à 0. Le RA contient alors toutes les informations dont un ordinateur aurait besoin pour s'autoconfigurer.
Cette option indique au client d'utiliser exclusivement les informations fournies dans le message RA; aucune information supplémentaire n'est disponible auprès d'un serveur DHCPv6. Je ne détaillerais pas son fonctionnement ici, il est disponible dans les cours sur IPv6 et Cisco.
Côté routeur, les messages RA sont activés par rapport à une interface. Pour les remettre sur une interface, les indictauer M et O doivent retrouver leur valeur initiale par les commandes suivantes:
Router(config-if)# no ipv6 nd managed-config-flag
Router(config-if)# no ipv6 nd other-config-flag
Option DHCPv6 sans état
Cette option enjoint le client à utiliser des informations dans le RA pour l'adressage, mais les paramètres de configuration supplémentaires sont fournis par un serveur DHCPv6.
Le client commence par configurer son adresse après réception d'un RA. Il communique ensuite avec le serveur DHCPv6 sans état pour obtenir des informations complémentaires non fournies dans le message RA. Il peut s'agir d'une liste d'adresses de serveurs DNS, par exemple. Ce processus est dit sans état car le serveur ne conserve aucune information sur l'état des clients (c'est-à-dire une liste des adresses IPv6 utilisées): il ne fournit que des paramètres de configuration.
L'indictauer O est à 1 et l'indicateur M est à 0. Le O à 1 informe le client que des informations de configuration supplémentaires sont à demander auprès d'un serveur DHCPv6. On peut configurer ce type de RA sur un routeur Cisco par la commande :
Router(config-if)# ipv6 nd other-config-flag
Option DHCPv6 avec état (DHCPv6 uniquement)
Cette option est la plus proche de DHCPv4. Dans ce cas le RA enjoint le client de ne pas utiliser les informations qu'il contient. Toutes les informations d'adressage et de configuration doivent être obtenues auprès d'un serveur DHCPv6 avec état. On dit "avec état" car le serveur conserve des informations sur les clients. L'indicateur M indique si DHCPv6 stateful est activé. L'indicateur O n'as pas d'effet. Pour activer l'indicateur M sur un routeur Cisco :
Router(config-if)# ipv6 nd managed-config-flag
Fonctionnement de DHCPv6
DHCPv6, que ce soit avec ou sans état, commence toujours pas un message d'annonce de routeur, qu'il soit périodique ou sollicité. Si le DHCPv6 avec ou sans état est indiqué dans le message d'annonce de routeur, le périphérique commence alors les communications DHCPv6 avec le serveur.
Communications DHCPv6
Le processus DHCPv6 est alors invoqué. LEs messages DHCPv6 sont envoyés par UDP; le port côté serveur est le port 546. Le port côté client est le port 547. Les étapes sont alors :
- Le client doit localiser un serveur DHCPv6. Il envoie donc un message SOLLICITATION DHCPv6 au groupe des serveurs DHCPv6, FF02::1:2. Cette adresse de mutlidiffusion n'as qu'une portée de lien local, ce qui signifie que les routeurs ne routent pas les messages envoyés à cette adresse.
- Un ou plusieurs serveurs répondent par une message ANNONCE DHCPv6, envoyé en monodiffusion. Ce message informe le client que le serveur est disponible pour le service DHCPv6.
- Le client répond alors au serveur par un message REQUETE ou DEMANDE D'INFORMATIONS, selon qu'il utilise DHCPv6 avec ou sans état:
- En mode sans état, le client envoie un message DEMANDE D'INFORMATIONS au serveur, demandant uniquement les paramètres de configuration tels que l'adresse du serveur DNS. Le client a généré sa propre adresse IPv6 avec la méthode SLAAC.
- En mode avec état, le client envoie un message REQUETE DHCPv6 au serveur pour obtenir une adresse IPv6 et tous les autres paramètres de configuration.
- Le serveur envoie une message REPONSE DHCPv6 au client, qui contient les informations demandées dans le message REQUETE ou DEMANDE D'INFORMATIONS.
[[File:]]