Voici le résultat des tests :
Pour la partie dynamique, rien. J'ai vérifié que je n'avais aucun firewall actif (ni sur la Bbox, ni sur la gateway). J'ai connecté une machine sur le réseau de la Bbox (donc *devant* la gateway, avec une adresse en 2001:xxxx:xxxx:xxx0:/64) et tenté de pinguer une machine derrière la gateway (donc sur le subnet 2001:xxxx:xxxx:xxx3:/64). Pas de réponse au ping et rien d'observable via tcpdump sur la gateway. Pour moi, il n'y a donc pas de trafic qui passe ; c'est la Bbox qui est en cause et qui ne route pas correctement le trafic.
Il y a d'ailleurs une vraie cafouillage entre la Bbox et la gateway : j'avais demandé à déléguer le préfixe 2001:xxxx:xxxx:xxx1:/64, mais la gateway utilise sur son port WAN le préfixe 2001:xxxx:xxxx:xxx3:/64. Il y a donc une incompréhension manifeste entre les deux.
En version statique :
J'ai configuré la Bbox avec une délégation statique pour un préfixe 2001:xxxx:xxxx:xxx1:/64. J'ai configuré la partie WAN en DHCPv6, mais il est impossible de demander un simple réseau /64 ; je me suis donc rabattu sur un préfixe /64.
La partie LAN est également configurée en statique avec le même préfixe (2001:xxxx:xxxx:xxx1:/64), comme indiqué. Ici non plus, rien ne fonctionne : je n'arrive même pas à obtenir une adresse IPv6 sur le port WAN de la gateway.
Au final, la seule configuration qui "fonctionne" est de supprimer tout type de délégation de préfixe sur la Bbox, de repasser la sécurité en mode normal, et de configurer la gateway avec :
- sur la partie WAN : SLAAC en mode "single network",
- sur la partie LAN : idem, "single network".
Dans ce cas, je retrouve le même préfixe (2001:xxxx:xxxx:xxx1:/64) aussi bien du côté de la Bbox que de celui de la gateway. Donc pas de séparation de sous-réseau entre avant et après la gateway.
Ma conclusion à ce stade est la suivante:
L'absence de DUID au niveau de la Bbox signifie qu'aucune délégation de préfixe (dynamique ou statique) ne fonctionne. Cela semble confirmé par la RFC 8415, sections 6.1 et 11 (en tout cas pour le mode dynamique selon la RFC, et également en statique d'après mes tests).
Même en parvenant via un appel API à contourner le refus de l'interface graphique pour une délégation statique, cela ne semble rien apporter (d'ailleurs, une simple désactivation de la règle — sans suppression via l'interface graphique — remet la MAC adresse de destination à vide).
Ce qui reste ouvert pour moi :
- Pourquoi la Bbox refuse-t-elle obstinément de générer un DUID pour ma gateway alors que tcpdump montre que la gateway fournit bien sa MAC adresse ?
- Est-ce que je tente de *spoofer* la MAC adresse d'une machine qui négocie correctement un DUID avec la Bbox, pour ensuite essayer de faire de la délégation de préfixe sur cette entrée spoofée avec la MAC de ma gateway ?
J'ai passé beaucoup trop de temps à essayer de faire fonctionner quelque chose qui, en théorie, devrait être simple. J'ai fini par faire de la rétro-ingénierie pour arriver à mes fins (délégation statique via API), utilisé tcpdump pour analyser les échanges réseau, pour finalement aboutir à rien.
À ce stade, je suis intimement convaincu que c'est la Bbox qui est fautive (sans toutefois en avoir une preuve absolue).
J'ai une solution de repli qui me donne de l'IPv6 derrière la gateway (SLAAC en single network), et j'arrête les frais ici.
Si je retrouve un peu de motivation, je tenterai peut-être du spoofing de MAC, et dans tous les cas, je réessaierai ponctuellement lors de la sortie d'une nouvelle version de firmware pour la Bbox ou la gateway.
Dans tous les cas, un grand merci à @kgersen pour toutes ses informations éclairantes !