IPv6 : structure, types d'adresses et configuration
IPv6 n'est pas un simple IPv4 avec des adresses plus longues. Notation, types d'adresses, découverte des voisins et autoconfiguration changent la façon d'administrer un réseau.
IPv6, spécifié aujourd'hui par la RFC 8200, a été conçu pour répondre à l'épuisement des adresses IPv4. Avec 128 bits, son espace d'adressage est si vaste que la question n'est plus d'économiser les adresses, mais de structurer le plan d'adressage. IPv6 modifie aussi des mécanismes fondamentaux : il n'y a plus d'ARP ni de diffusion (broadcast), et les hôtes peuvent s'autoconfigurer.
Objectif : lire et abréger une adresse IPv6, reconnaître ses principaux types et choisir entre SLAAC et DHCPv6.
Notation des adresses IPv6
Une adresse IPv6 compte 128 bits, écrits en huit groupes de 16 bits en hexadécimal, séparés par deux-points :
2001:0db8:0000:0000:0a1b:0000:0000:0042
Deux règles d'abréviation, précisées par la RFC 5952, simplifient l'écriture :
- Supprimer les zéros initiaux de chaque groupe :
0db8devientdb8,0042devient42. - Remplacer une seule suite de groupes nuls consécutifs par
::. Si plusieurs suites existent, on remplace la plus longue (la première en cas d'égalité).
2001:0db8:0000:0000:0a1b:0000:0000:0042
2001:db8:0:0:a1b:0:0:42
2001:db8::a1b:0:0:42 (forme recommandée)
On ne peut utiliser :: qu'une seule fois : 2001:db8::a1b::42 serait ambigu. La RFC 5952 recommande aussi d'écrire les lettres en minuscules.
Le préfixe 2001:db8::/32 est réservé à la documentation (RFC 3849). Tous les exemples de cet article l'utilisent : ne le configurez jamais sur un réseau réel.
Préfixe et identifiant d'interface
Comme en IPv4, on note la longueur du préfixe : 2001:db8:acad:10::1/64. Dans la pratique :
- un opérateur attribue souvent un /48 ou un /56 à un site ;
- chaque sous-réseau (VLAN) reçoit un /64 ;
- les 64 bits restants forment l'identifiant d'interface.
Le /64 n'est pas un choix arbitraire : l'autoconfiguration SLAAC suppose un identifiant d'interface de 64 bits. Avec un /48, un site dispose de 65 536 sous-réseaux /64, ce qui permet de construire un plan d'adressage lisible, par exemple en encodant le numéro de VLAN dans le quatrième groupe (2001:db8:acad:10::/64 pour le VLAN 10).
Les principaux types d'adresses
IPv6 distingue trois familles : unicast (une interface), multicast (un groupe) et anycast (l'interface la plus proche d'un groupe). Il n'existe pas de broadcast.
| Type | Préfixe | Portée | Usage |
|---|---|---|---|
| Unicast global (GUA) | 2000::/3 | Internet | Adresses publiques routables |
| Lien local | fe80::/10 | Le lien uniquement | Obligatoire sur chaque interface ; voisinage, passerelle |
| Unique locale (ULA) | fc00::/7 (fd00::/8 en pratique) | Organisation | Équivalent fonctionnel des adresses privées (RFC 4193) |
| Bouclage | ::1/128 | Hôte | Équivalent de 127.0.0.1 |
| Non spécifiée | ::/128 | — | Adresse source avant configuration |
| Multicast | ff00::/8 | Variable | ff02::1 (tous les nœuds du lien), ff02::2 (tous les routeurs) |
Point essentiel : une interface IPv6 possède généralement plusieurs adresses simultanément : au minimum une adresse de lien local, souvent une ou plusieurs adresses globales, parfois des adresses temporaires pour la confidentialité (RFC 8981).
Découverte des voisins (NDP)
IPv6 remplace ARP par le protocole NDP (Neighbor Discovery Protocol, RFC 4861), qui repose sur des messages ICMPv6 :
- Router Solicitation / Router Advertisement (RS/RA) : un hôte demande et reçoit les informations du routeur (préfixe, passerelle, options).
- Neighbor Solicitation / Neighbor Advertisement (NS/NA) : résolution de l'adresse MAC d'un voisin, et détection d'adresse dupliquée (DAD).
- Redirect : le routeur signale un meilleur premier saut.
Conséquence pratique : filtrer tout ICMPv6 casse IPv6. Les recommandations de filtrage de la RFC 4890 doivent être respectées sur les pare-feu.
Configurer une adresse : trois méthodes
SLAAC (autoconfiguration sans état)
Avec SLAAC (RFC 4862), le routeur annonce le préfixe /64 dans ses messages RA ; l'hôte génère lui-même son identifiant d'interface, vérifie son unicité (DAD) et utilise le routeur comme passerelle. Aucun serveur n'est nécessaire.
DHCPv6 sans état
L'hôte s'autoconfigure par SLAAC mais obtient des informations complémentaires (serveurs DNS, domaine de recherche) auprès d'un serveur DHCPv6. Les serveurs DNS peuvent aussi être annoncés dans les RA grâce à l'option RDNSS (RFC 8106).
DHCPv6 avec état
Le serveur DHCPv6 attribue les adresses et garde trace des baux (RFC 8415), ce qui facilite la traçabilité. Attention : DHCPv6 ne fournit pas la passerelle par défaut, qui provient toujours des messages RA.
Le comportement est piloté par des drapeaux dans les RA : M (Managed, adresse via DHCPv6) et O (Other, autres informations via DHCPv6).
Exemples de configuration
Linux (iproute2)
# Afficher les adresses IPv6
ip -6 addr show dev eth0
# Ajouter une adresse statique
sudo ip -6 addr add 2001:db8:acad:10::20/64 dev eth0
# Route par défaut via l'adresse lien local du routeur
sudo ip -6 route add default via fe80::1 dev eth0
# Voir le cache des voisins (équivalent de la table ARP)
ip -6 neigh show
Ces commandes sont temporaires : pour une configuration persistante, utilisez l'outil de votre distribution (Netplan, NetworkManager, systemd-networkd).
Windows
Get-NetIPAddress -AddressFamily IPv6
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 2001:db8:acad:10::20 -PrefixLength 64
netsh interface ipv6 show neighbors
Cisco IOS (exemple de laboratoire)
Router(config)# ipv6 unicast-routing
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:acad:10::1/64
Router(config-if)# ipv6 address fe80::1 link-local
Router(config-if)# no shutdown
Router# show ipv6 interface brief
La commande ipv6 unicast-routing active le routage IPv6 et l'envoi des RA sur les interfaces configurées. Fixer l'adresse de lien local à fe80::1 rend la passerelle facile à identifier.
Diagnostiquer IPv6
ping -6 2001:db8:acad:10::1
ping -6 fe80::1%eth0 # une adresse lien local exige l'interface (zone)
traceroute -6 www.exemple.fr
Questions à se poser lorsqu'un hôte n'a pas d'adresse globale : le routeur émet-il des RA ? Le préfixe annoncé est-il un /64 ? ICMPv6 est-il filtré ? Une fonction « RA Guard » bloque-t-elle les annonces légitimes ?
Erreurs courantes
- Utiliser
::deux fois dans une même adresse. - Annoncer un préfixe plus long qu'un /64 sur un segment où les clients utilisent SLAAC : l'autoconfiguration ne fonctionne pas.
- Bloquer ICMPv6 sur le pare-feu.
- Oublier qu'IPv6 est peut-être déjà actif : la plupart des systèmes l'activent par défaut et utilisent les adresses de lien local, même sans plan d'adressage IPv6.
- Transposer le NAT d'IPv4 : en IPv6, la sécurité repose sur le filtrage, pas sur la traduction d'adresses.
Implications de sécurité
Un réseau « IPv4 uniquement » laisse souvent IPv6 actif sur les postes : un attaquant sur le segment peut émettre de faux RA et devenir passerelle. Protégez les commutateurs avec RA Guard et DHCPv6 Guard, appliquez les mêmes politiques de filtrage en IPv4 et en IPv6, et surveillez les deux protocoles. Voir Segmentation réseau et réduction de la surface d'attaque.
Conclusion
IPv6 demande d'abandonner quelques réflexes IPv4 : plusieurs adresses par interface, plus de broadcast, des /64 partout et un ICMPv6 indispensable. En contrepartie, il simplifie l'adressage et l'autoconfiguration. Commencez par un plan /48 → /64 cohérent et testez-le en laboratoire avant tout déploiement.


