DHCPv6 vs SLAAC : comment les appareils obtiennent des adresses IPv6
Comprenez les deux façons dont les appareils obtiennent des adresses IPv6 : SLAAC utilise les annonces de routeur, DHCPv6 utilise un serveur. Apprenez quand utiliser chacun.
Quand un appareil rejoint un réseau IPv6, il a besoin d'une adresse. Contrairement à IPv4 où DHCP est l'approche standard, IPv6 offre deux mécanismes : SLAAC (Stateless Address Autoconfiguration) et DHCPv6. Comprendre quand utiliser chacun est essentiel pour les ingénieurs réseau.
TL;DR - Résumé rapide
Points clés :
- SLAAC est sans état et automatique via Router Advertisements — aucun serveur nécessaire
- DHCPv6 fournit un contrôle centralisé et un suivi des adresses comme DHCPv4
- Les drapeaux M et O dans les Router Advertisements contrôlent quelle méthode utiliser
Aller à : SLAAC pour la configuration automatique, DHCPv6 pour la gestion centralisée, ou Lequel utiliser quand pour des conseils de déploiement.
SLAAC : auto-configuration sans état#
SLAAC permet aux appareils de se configurer eux-mêmes sans maintenir d'état sur le réseau. Le routeur envoie périodiquement des messages d'annonce de routeur (RA) contenant le préfixe réseau, et les appareils génèrent leurs propres adresses.
Comment fonctionnent les annonces de routeur#
Les routeurs diffusent en multicast des messages RA vers ff02::1 (multicast tous-nœuds) toutes les 200 secondes par défaut. Les appareils peuvent aussi demander un RA immédiatement en envoyant une sollicitation de routeur (RS) vers ff02::2 (multicast tous-routeurs).
Un RA contient :
- Préfixe réseau (ex.
2001:db8::/64) - Adresse de passerelle par défaut
- Durée de vie du préfixe (valide et préférée)
- Drapeaux M et O (expliqués ci-dessous)
L'appareil combine le préfixe annoncé avec un ID d'interface auto-généré de 64 bits pour créer son adresse.
Génération d'ID d'interface#
Deux méthodes courantes existent :
EUI-64 (Extended Unique Identifier modifié)
Dérive l'ID d'interface de l'adresse MAC. Pour la MAC 00:11:22:33:44:55 :
- Insérer
ff:feau milieu :00:11:22:ff:fe:33:44:55 - Inverser le 7e bit :
02:11:22:ff:fe:33:44:55 - Résultat :
2001:db8::211:22ff:fe33:4455
C'est déterministe mais révèle l'identité matérielle, créant des problèmes de confidentialité.
Extensions de confidentialité (RFC 4941) Génère des ID d'interface aléatoires. Les systèmes d'exploitation modernes créent des adresses temporaires qui changent périodiquement (quotidiennement sur la plupart des systèmes). L'appareil maintient à la fois une adresse stable (pour les connexions entrantes) et des adresses temporaires (pour les connexions sortantes).
# Linux : voir les types d'adresses
ip -6 addr show eth0
# Vous verrez scope global pour les adresses stables
# et scope global temporary pour les adresses de confidentialitéCe que SLAAC fournit#
SLAAC gère :
- Attribution d'adresse IPv6
- Passerelle par défaut
- Longueur de préfixe
Ce qu'il ne fournit pas par défaut :
- Serveurs DNS
- Liste de recherche de domaine
- Serveurs NTP
Option RDNSS (Recursive DNS Server) RFC 8106 permet aux routeurs d'annoncer les serveurs DNS dans les messages RA. La plupart des systèmes modernes supportent ceci, éliminant le besoin de DHCPv6 dans les réseaux simples.
DHCPv6 : configuration gérée#
DHCPv6 fonctionne de manière similaire à DHCPv4 : les clients demandent la configuration à un serveur. Il opère en deux modes.
DHCPv6 avec état#
Le serveur assigne des adresses et suit quel client a quelle adresse. Les clients effectuent un échange de quatre messages :
- Solicit : Le client demande la configuration
- Advertise : Le serveur offre une adresse
- Request : Le client accepte l'offre
- Reply : Le serveur confirme l'attribution
Les adresses sont louées avec des durées de vie préférées et valides, nécessitant un renouvellement.
DHCPv6 sans état#
Les appareils utilisent SLAAC pour les adresses mais interrogent DHCPv6 pour des options supplémentaires comme les serveurs DNS, le nom de domaine ou les serveurs NTP. Le serveur ne suit pas les adresses, d'où « sans état ».
Drapeaux M et O#
Les annonces de routeur contiennent deux drapeaux critiques :
Drapeau M (Managed Address Configuration) Quand mis à 1, les appareils doivent utiliser DHCPv6 pour obtenir des adresses. Les adresses SLAAC peuvent toujours être générées selon le drapeau A dans l'information de préfixe.
Drapeau O (Other Configuration) Quand mis à 1, les appareils doivent utiliser DHCPv6 pour obtenir des options supplémentaires (DNS, NTP, etc.) mais pas les adresses.
Combinaisons de drapeaux :
M=0, O=0: SLAAC uniquement (utiliser RDNSS pour DNS)M=0, O=1: SLAAC + DHCPv6 sans étatM=1, O=0: DHCPv6 pour les adresses (configuration rare)M=1, O=1: DHCPv6 pour les adresses et options
Comparaison SLAAC vs DHCPv6#
| Fonctionnalité | SLAAC | DHCPv6 |
|---|---|---|
| Attribution d'adresse | Automatique (préfixe + ID interface) | Assigné par serveur |
| État sur serveur | Aucun | Avec état suit les liaisons |
| Configuration DNS | RDNSS dans RA (RFC 8106) | Option 23 (serveurs DNS) |
| Suivi d'adresse | Pas possible | Visibilité complète |
| Complexité client | Minimale | Nécessite client DHCPv6 |
| Mode de défaillance | Continue de fonctionner | Point unique de défaillance |
| Délégation de préfixe | Non supportée | Supportée (DHCPv6-PD) |
Configurations courantes#
SLAAC uniquement (avec RDNSS)#
Idéal pour les réseaux simples où le suivi d'adresses n'est pas requis. Exemple radvd.conf sur Linux :
interface eth0 {
AdvSendAdvert on;
prefix 2001:db8:1::/64 {
AdvOnLink on;
AdvAutonomous on;
};
RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 {
AdvRDNSSLifetime 300;
};
};Cette configuration fournit tout ce dont la plupart des clients ont besoin sans DHCPv6.
SLAAC + DHCPv6 sans état#
À utiliser quand RDNSS n'est pas supporté ou quand des options supplémentaires sont nécessaires. Définir le drapeau O dans radvd :
interface eth0 {
AdvSendAdvert on;
AdvOtherConfigFlag on; # O=1
prefix 2001:db8:1::/64 {
AdvOnLink on;
AdvAutonomous on;
};
};Le serveur DHCPv6 fournit DNS et autres options mais n'assigne pas d'adresses.
DHCPv6 uniquement (géré)#
Les entreprises préfèrent souvent ceci pour la responsabilité et le contrôle d'accès. Définir le drapeau M :
interface eth0 {
AdvSendAdvert on;
AdvManagedFlag on; # M=1
AdvOtherConfigFlag on; # O=1
prefix 2001:db8:1::/64 {
AdvOnLink on;
AdvAutonomous off; # Ne pas utiliser SLAAC
};
};Note : certains clients généreront quand même des adresses link-local et peuvent créer des adresses SLAAC malgré AdvAutonomous off. Les politiques de sécurité réseau ne doivent pas se fier uniquement à la désactivation de SLAAC.
Lequel utiliser quand#
Utilisez SLAAC quand :
- Réseaux petits à moyens
- Les appareils sont de confiance
- Le suivi d'adresses n'est pas requis
- La simplicité est prioritaire
- Tous les clients supportent RDNSS
Utilisez DHCPv6 quand :
- Besoin de gestion d'adresses centralisée
- La conformité nécessite la journalisation des adresses
- Besoin de délégation de préfixe (FAI vers routeur client)
- Besoin de fournir des options complexes au-delà du DNS
- Réseaux Windows (historiquement meilleur support DHCPv6)
Approche hybride (SLAAC + DHCPv6 sans état) :
- Bon compromis pour beaucoup de réseaux
- Résilient (SLAAC fonctionne si DHCPv6 échoue)
- Fournit de la flexibilité pour des options supplémentaires
Dépannage de l'attribution d'adresse#
L'appareil n'a que link-local (fe80::/10)
Aucune annonce de routeur reçue. Vérifiez :
# Linux : capturer les RA
tcpdump -i eth0 'icmp6 && ip6[40] == 134'
# Vérifier que le routeur envoie des RA
radvdumpL'appareil a une adresse SLAAC mais pas de DNS Le routeur n'envoie pas RDNSS, ou le client ne le supporte pas. Vérifiez le contenu du RA :
radvdump | grep RDNSSSi manquant, ajoutez RDNSS à la configuration du routeur ou activez DHCPv6 sans état.
DHCPv6 ne fonctionne pas Vérifiez que le drapeau M ou O est défini dans les RA :
radvdump | grep -E "M flag|O flag"Vérifiez que le serveur DHCPv6 fonctionne et est accessible sur le port UDP 547 :
# Côté serveur
ss -ulnp | grep 547
# Côté client
tcpdump -i eth0 port 547Plusieurs adresses sur l'interface C'est normal. Vous pourriez voir :
- Adresse link-local (toujours présente)
- Adresse SLAAC stable (EUI-64)
- Adresses SLAAC temporaires (extensions de confidentialité)
- Adresse DHCPv6 (si utilisation de DHCPv6 avec état)
Toutes sont valides ; l'OS sélectionne l'adresse source appropriée selon RFC 6724.
Articles connexes#
- Comment activer IPv6 - Guide étape par étape pour configurer IPv6 sur les systèmes d'exploitation et routeurs courants
- Extensions de confidentialité IPv6 - Protégez votre vie privée avec des adresses IPv6 temporaires
La plupart des réseaux modernes fonctionnent bien avec SLAAC + RDNSS pour la simplicité, ou SLAAC + DHCPv6 sans état pour une compatibilité plus large. Réservez le DHCPv6 complètement géré pour les environnements avec des exigences spécifiques de conformité ou de journalisation. Quel que soit votre choix, documentez votre décision et configurez-le de manière cohérente sur votre réseau.
Questions fréquentes#
Puis-je utiliser SLAAC et DHCPv6 en même temps ?
Oui. C'est ce qu'on appelle une approche hybride. Les appareils peuvent obtenir leurs adresses via SLAAC et une configuration supplémentaire (comme les serveurs DNS) via DHCPv6 sans état. De nombreux réseaux utilisent cette combinaison pour obtenir les avantages des deux méthodes.
Quelle méthode est la plus sécurisée ?
Ni SLAAC ni DHCPv6 n'est intrinsèquement plus sécurisé. Les deux peuvent être vulnérables aux annonces de routeur malveillantes ou aux serveurs DHCPv6 malveillants. La sécurité provient d'une segmentation réseau appropriée, RA Guard, DHCPv6 Shield et règles de pare-feu, pas du choix de la méthode d'attribution d'adresses.
SLAAC fonctionne-t-il sans routeur ?
Non. SLAAC nécessite des annonces de routeur pour fournir le préfixe réseau. Sans routeur envoyant des RA, les appareils ne configureront pas d'adresses IPv6 globales via SLAAC. Ils n'auront que des adresses link-local (fe80::/10).
Pourquoi certains systèmes d'exploitation préfèrent-ils SLAAC à DHCPv6 ?
SLAAC est plus simple, sans état et intégré dans la spécification IPv6 dès le départ. Il nécessite moins d'infrastructure et de configuration. Certains éditeurs d'OS (notamment Apple) ont priorisé le support SLAAC car il s'aligne avec la philosophie de conception IPv6 d'autoconfiguration.