Aller au contenu
Sylvain Joffraud l4w
Retour

WiFi plus lent que la 4G ? Votre IPv6 est cassé

Un téléphone qui rame en WiFi à la maison — mais uniquement sur WhatsApp (appels vidéo) et le Play Store (téléchargements). En 4G, tout est fluide. Le réflexe serait d’accuser le WiFi ou la bande passante. C’est ailleurs.

L’indice dans le choix des apps

WhatsApp et le Play Store ont un point commun : ce sont des services Google/Meta, qui poussent massivement IPv6 et QUIC, et Android privilégie agressivement l’IPv6. Quand une app spécifiquement « moderne » rame alors que le reste passe, ce n’est pas la bande passante — c’est la pile IPv6.

Le diagnostic

Depuis une machine du même réseau WiFi :

$ ip -6 addr show scope global
inet6 fd42:5e3a:9b1c::23e/128       ← ULA (privée, fd..)
inet6 fd42:5e3a:9b1c:0:...          ← ULA
                                    ← AUCUNE adresse globale 2xxx

$ ip -6 route show default
                                    ← vide, pas de route par défaut

$ ping -6 -c2 2606:4700:4700::1111
ping: connect: Le réseau n'est pas accessible

Verdict : le routeur annonce de l’IPv6 en ULA (fd00::/8, l’équivalent privé du 192.168) sans aucune connectivité internet IPv6 — pas de préfixe global, pas de route. Les appareils reçoivent une IPv6 qui ne mène nulle part.

Pourquoi le mobile rame (et pas le PC)

Sur un PC Linux, l’absence de route IPv6 fait échouer la tentative immédiatement (« réseau non accessible ») → il retombe vite en IPv4, quasi sans gêne. Android est plus têtu : il tente l’IPv6/QUIC, reste coincé sur un timeout, puis fallback lentement. D’où le WiFi qui traîne, uniquement sur les apps qui préfèrent l’IPv6.

La cause : le double-NAT

Classique : un routeur placé derrière la box du FAI. Au lieu de relayer le vrai préfixe IPv6 global (délégation de préfixe), il fabrique une ULA bidon. Résultat : de l’IPv6 « pour la forme », inutilisable.

Le correctif (OpenWrt)

Option rapide — couper l’IPv6 cassé de la LAN, les appareils repassent en IPv4 propre :

$ uci set dhcp.lan.ra='disabled'
$ uci set dhcp.lan.dhcpv6='disabled'
$ uci set dhcp.lan.ndp='disabled'
$ uci -q delete network.globals.ula_prefix
$ uci commit && /etc/init.d/odhcpd restart

Option propre — remettre du vrai IPv6 : configurer la délégation de préfixe sur le WAN du routeur, ou — plus simple et radical — passer le routeur en mode point d’accès (bridge) pour que la box gère elle-même routage, DHCP et IPv6 natif. Fini le double-NAT, fini l’ULA bidon.

Lessons learned

Questions fréquentes

Pourquoi mon téléphone est plus lent en WiFi qu’en 4G sur certaines apps seulement ?
Les apps Google (Play Store) et Meta (WhatsApp) privilégient IPv6 et QUIC, et les mobiles Android sont très « IPv6-eager ». Si votre réseau WiFi annonce de l’IPv6 mais qu’il ne fonctionne pas, le téléphone tente l’IPv6, patiente sur un timeout, puis retombe en IPv4 — d’où la lenteur, ciblée sur ces apps précises. En 4G, l’IPv6 de l’opérateur marche, donc c’est rapide.
Comment savoir si mon IPv6 est cassé sur mon réseau local ?
Vérifiez trois choses : ip -6 addr (n’avez-vous que des adresses fd.. ULA privées, sans adresse globale en 2xxx ?), ip -6 route (y a-t-il une route par défaut ?), et un ping -6 2606:4700:4700::1111. Si le ping répond « réseau non accessible », votre réseau annonce de l’IPv6 sans connectivité réelle.
Qu’est-ce qu’une adresse IPv6 ULA et pourquoi pose-t-elle problème ?
Une ULA (Unique Local Address, préfixe fd00::/8) est l’équivalent IPv6 du 192.168.x privé : non routable sur internet. Un routeur qui distribue des ULA sans relayer le vrai préfixe global de votre FAI donne aux appareils une IPv6 qui ne mène nulle part. C’est fréquent en double-NAT, quand un routeur derrière la box invente un préfixe au lieu de faire de la délégation de préfixe.
Comment corriger un IPv6 cassé sur un routeur OpenWrt ?
Deux options. Rapide : couper l’IPv6 de la LAN pour forcer l’IPv4 propre — uci set dhcp.lan.ra='disabled'; uci set dhcp.lan.dhcpv6='disabled'; uci -q delete network.globals.ula_prefix; uci commit; /etc/init.d/odhcpd restart. Propre : configurer la délégation de préfixe depuis la box, ou passer le routeur en mode point d’accès pour que la box gère l’IPv6 natif.

Partager cet article :

Article précédent
Spindown impossible : le monitoring réveille vos disques
Article suivant
WireGuard full-tunnel : le ping passe, le débit meurt