Aller au contenu

Notions de base IPv6 : vérifier ULA, RA/SLAAC, PD et DNS

Nom Exemple/rôle Erreur courante
link-local fe80::/10 chaque carte réseau en a une ; pas publique
ULA dans fd00::/8 non routable directement sur internet
GUA adresse publique 2000::/3 nécessite un PD/une allocation en amont
RA le routeur annonce préfixe/passerelle/DNS pas de RA → pas de SLAAC
SLAAC le client génère une adresse à partir du préfixe RA ce n’est pas du DHCPv6
DHCPv6 le serveur attribue adresse/préfixe/DNS différent du DHCP IPv4
PD l’amont délègue un préfixe au routeur pas de PD → pas de GUA sur le LAN
Shell du routeurVérifiez les adresses, les routes et UCI
Fenêtre de terminal
ip -6 addr show
ip -6 route
uci show network.lan
uci show dhcp.lan
uci show network.globals
logread -e odhcpd | tail -30

Ce laboratoire : br-lan avait l’ULA fd2f:385b:7d0a::1/60 et une adresse link-local ; ni route IPv6 par défaut ni GUA.

AttenduVous savez si vous avez seulement du link-local, une ULA ou un GUA.

Shell du routeurConfirmez le préfixe du LAN et le service RA
Fenêtre de terminal
uci show network.globals.ula_prefix
uci show network.lan.ip6assign
uci show dhcp.lan.ra
uci show dhcp.lan.ra_slaac
uci show dhcp.lan.dhcpv6
ps | grep [o]dhcpd

Ce laboratoire :

network.globals.ula_prefix='fd2f:385b:7d0a::/48'
network.lan.ip6assign='60'
dhcp.lan.ra='server'
dhcp.lan.ra_slaac='1'
dhcp.lan.dhcpv6='server'

ip6assign='60' prélève un /60 pour le LAN dans l’ULA /48 ; les clients obtiennent généralement un /64.

AttenduLe LAN a un préfixe ULA et odhcpd envoie des RA.

OrdinateurLaissez un client obtenir une adresse via RA

Exemple Linux (accept_ra=2 uniquement dans ce netns ; les clients normaux gardent généralement les valeurs par défaut) :

Fenêtre de terminal
sysctl -w net.ipv6.conf.eth0.accept_ra=2
ip -6 addr show eth0
ip -6 route
ping -6 -c 2 <router-ULA>

Le client netns de ce laboratoire a obtenu :

fd2f:385b:7d0a:0:5088:71ff:fed4:32d2/64 scope global dynamic
fe80::5088:71ff:fed4:32d2/64 scope link

et a envoyé un ping à fd2f:385b:7d0a::1. Le client n’avait que fd2f:385b:7d0a::/64, sans route IPv6 par défaut (pas d’amont).

AttenduLe client obtient une ULA et peut envoyer un ping à l'IPv6 du routeur.

Shell du routeurVérifiez si WAN6/l'amont fournit un préfixe
Fenêtre de terminal
uci show network.wan6 2>/dev/null
ubus call network.interface.wan6 status 2>/dev/null
ip -6 route
ip -6 addr show eth1
logread | grep -Ei 'odhcp6c|dhcpv6|pd' | tail -30

Routeur principal typique :

Fenêtre de terminal
uci set network.wan6=interface
uci set network.wan6.device='eth1'
uci set network.wan6.proto='dhcpv6'
uci commit network
/etc/init.d/network reload
  • L’amont doit prendre en charge IPv6/PD ; certains ONT/FAI ne donnent qu’un /64 ou rien ;
  • sans PD, n’inventez pas de « préfixe public » sur le LAN ;
  • ce laboratoire n’avait pas d’IPv6 en amont, donc GUA/PD n’ont pas été vérifiés ; seuls ULA/RA/SLAAC l’ont été.

AttenduUn GUA et une route par défaut, ou un « pas d'IPv6 » clair de l'amont.

Shell du routeurTestez séparément AAAA et le DNS IPv6
Fenêtre de terminal
nslookup -type=AAAA openwrt.org 127.0.0.1
nslookup -type=AAAA openwrt.org <router-ULA>
cat /tmp/resolv.conf.d/resolv.conf.auto
  • AAAA peut se résoudre même quand le DNS utilise IPv4 ;
  • le DNS du client peut provenir de RA/DHCPv6 ou d’une configuration manuelle ;
  • ne basculez pas tout le DNS en IPv6 pour « qu’IPv6 fonctionne » ; gardez le repli IPv4/IPv6.

Pare-feu :

Fenêtre de terminal
uci show firewall
nft list ruleset 2>/dev/null | head -80
  • Autorisez ICMPv6/ND/RA (sinon IPv6 ne fonctionne pas) ;
  • autorisez le transfert IPv6 LAN→WAN ;
  • ne désactivez pas le pare-feu IPv6 pour « tester la connectivité » ; cela expose le LAN.

AttenduVous savez s'il s'agit de « pas d'AAAA » ou de « le DNS n'a pas utilisé IPv6 ».

  • le LAN n’a pas de préfixe ULA/ip6assign ;
  • odhcpd ne s’exécute pas / RA bloqués ;
  • le client a accept_ra=0 ;
  • le commutateur/point d’accès bloque le multicast/ICMPv6.
  • pas d’IPv6/PD en amont ;
  • wan6 non configuré / préfixe non reçu ;
  • le FAI ne donne qu’un /64, impossible de le découper pour le LAN ;
  • les scénarios relais/proxy ND sont différents ; ne les forcez pas.
  • pas de route IPv6 par défaut ;
  • transfert du pare-feu/ICMPv6 ;
  • DNS uniquement en IPv4 ;
  • route/préfixe amont invalide.

IPv4 ralentit ou casse après l’activation d’IPv6

Section intitulée « IPv4 ralentit ou casse après l’activation d’IPv6 »
  • préférence DNS / repli double pile ;
  • adresses de confidentialité du client / paramètres RA ;
  • gardez IPv4 fonctionnel ; ajoutez IPv6 une étape à la fois.
  • Environnement : VM OpenWrt 25.12.6 x86 n° 200 ; LAN 192.168.1.2/24 + ULA fd2f:385b:7d0a::1/60.
  • Préfixe ULA fd2f:385b:7d0a::/48 ; ip6assign=60 ; ra=server, ra_slaac=1, dhcpv6=server ; odhcpd en cours d’exécution.
  • Client : SLAAC a obtenu fd2f:385b:7d0a:0:5088:71ff:fed4:32d2/64 ; ping de l’ULA du routeur réussi.
  • Pas d’IPv6/GUA/PD en amont ; WAN6, vrai FAI, client DHCPv6 et pare-feu/NAT IPv6 non testés.
  • Recette : tests/recipes/ipv6-25.12.md.
  • Il s’agit d’un E2 partiel : l’ULA/RA/SLAAC du LAN ont été testés ; le GUA/PD du WAN et un vrai FAI ne l’ont pas été.
  • Aucun relecteur indépendant ; les conclusions se limitent à cet environnement VM/netns.
  • Ne confondez pas « le LAN a une ULA » avec « l’internet IPv6 fonctionne » ; l’ULA est strictement interne.

Sources

Router.Homes

Notes indépendantes sur OpenWrt. Chaque page précise le firmware, l’appareil, le gestionnaire de paquets et le retour arrière.

Icônes : Solar by 480 Design, CC BY 4.0