Auteur Sujet: DHCPv6 sous OpenWrt: nouveaux pré-requis pour avoir la connectivité IPv6 sur SFR  (Lu 425 fois)

0 Membres et 1 Invité sur ce sujet

jrobin28260

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 16
  • Eure et Loir - 28
Salut à tous,

Bien qu'il soit courant, sous OpenWrt, pour obtenir une plage d'IPv6 sur une connexion fibre SFR / RED, de laisser les paramètres par défaut pour la connexion wan6 / IPv6 / DHCPv6, il y a 2 choses à savoir :

 - La délégation de préfixe IPv6 n'est alors fournie que lorsque la requête DHCPv6 est faite dans la foulée de la connexion IPv4 : après quelques secondes ou minutes, si la connexion IPv6 n'est pas établie, c'est trop tard : elle ne le sera plus.
 - J'ai rencontré une nouvelle connexion (dans le 28, Clévilliers) qui ne fournit plus du tout de connectivité IPv6 lorsque l'on utilise les requêtes d'OpenWrt par défaut.

Mais ces 2 problèmes peuvent être résolus, en mimant un peu les requêtes de la NB6VAC (ajout vendor class et retrait de plein de choses en trop dans la requête).

Options à renseigner dans /etc/config/network dans la rubrique liée au wan6 :

config interface 'wan6'
option device 'wan'
option proto 'dhcpv6'
# Do not send "Client Fully Qualified Domain Name":
option noclientfqdn '1'
# Do not send "Accept Reconfigure" option:
option noacceptreconfig '1'
# Option Request: only DNS recursive name server (23), and nothing else:
option defaultreqopts '0'
option reqopts '23'
# Require a DHCPv6 Prefix Delegation, and do not ask for a single IPv6 SLAAC address:
option reqaddress 'none'
#hex 00 00 a0 0c = dec 40972 : SFR
#hex 00 41: idk
#hex 6e657566626f785f637564792d7772333030305f4f70656e577274: string 'neufbox_cudy-wr3000_OpenWrt'
option vendorclass '0000a00c00416e657566626f785f637564792d7772333030305f4f70656e577274'

Sur la plupart des connexions, l'option "vendorclass" avec le bon début suffit à obtenir une plage IPv6 même quand l'accès IPv4 n'est pas actif. Dommage que l'option nécessite de tout écrire en hexa... pas très pratique, d'où les commentaires pour s'y retrouver.

En revanche, j'ai rencontré une connexion sur laquelle ça ne suffisait pas, il était impossible d'avoir la connectivité IPv6 (même dans la foulée de l'IPv4), avant d'avoir ajouté les options noclientfqdn '1', noacceptreconfig '1', defaultreqopts '0', reqopts '23', reqaddress 'none' citées au dessus. Je n'ai pas encore pris le temps de savoir laquelle de ces options est indispensable. Mais elles tendent à simplifier/épurer la requête DHCPv6 afin de la faire correspondre au mieux à ce qu'envoie la box fournie par défaut avec l'abonnement (NB6VAC-FXC-r0 sous firmware 4.0.45d).

En espérant que ça puisse en aider quelques uns parmi vous !

PS : Information libre évidemment, vous pouvez l'inclure si besoin/envie dans les tutoriels existants, à votre guise, toutes lignes d'options supplémentaires ayant été élaborées à l'aide de tcpdump, wireshark et https://openwrt.org/docs/guide-user/network/ipv6/configuration

rooot

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 2 168
  • 🔵🔵🔵🔵⚪⚪⚪⚪🔴🔴🔴🔴
salut,
la configuration de mon interface wan6 que j'utilise depuis le début et qui fonctionne toujours chez moi :

config interface 'wan6'
option device 'br-wan'
option proto 'dhcpv6'
option peerdns '0'
option reqaddress 'try'
option defaultreqopts '0'
option reqopts '23 25 26'
option noclientfqdn '1'
option noacceptreconfig '1'
option vendorclass '0000a00c00416e657566626f785f'
option clientid '00030001XXXXXXXXXXXX'
list dns '2001:4860:4860::8888'
list dns '2606:4700:4700::1111'
option reqprefix 'auto'

XXXXXXXXXXXX = mon adresse MAC.

jrobin28260

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 16
  • Eure et Loir - 28
Salut rooot,

Merci pour ces infos supplémentaires/confirmation.

Effectivement je savais pas trop si c'était le sujet, mais par chez moi j'ai aussi le trio de lignes concernant les fournisseurs DNS, autant du coté wan que du côté wan6 ;D pour l'instant ça fonctionne encore bien :) (ici tu as Google IPv6 et Cloudflare IPv6 si je ne dis pas de bêtises), c'est quand même plus sympa de ne pas se restreindre inutilement l'accès à la haute mer ⚓️

option peerdns '0'
list dns '2001:4860:4860::8888'
list dns '2606:4700:4700::1111'

Sous OpenWrt 23.05.4 au moins, le comportement par défaut correspond déjà à celui que tu demandes avec ces 2 lignes :
option reqprefix 'auto'
option clientid '00030001XXXXXXXXXXXX' # https://openwrt.org/docs/guide-user/network/ipv6/configuration The odhcp6c default is 00030001 concatenated with the device MAC address - see RFC 8415

Mais ça ne coûte sans doute rien de les ajouter, notamment au cas où les valeurs par défaut évolueraient à l'avenir.

A propos de la ligne :
option reqopts '23 25 26'
Je regarderai sous Wireshark, d'après ce que je peux lire dans la documentation ici https://www.manageengine.com/dns-dhcp-ipam/help/standard-dhcpv6-options.html, l'option 25 correspond à un champs "Identity Association for Prefix Delegation" qui apparaît déjà par défaut dans la requête DHCPv6 d'OpenWrt.
Néanmoins l'option 26 ajouterai effectivement, à l'intérieur du champs 25, un champs IA Prefix que la box d'origine le demande (elle demande expressément un préfixe de taille 0, là où OpenWrt ne précise pas la taille du préfixe demandé, sauf si on demande une valeur numérique non nulle dans l'option `reqprefix`).

J'essayerai donc très prochainement (dès que la connexion sera libre) d'ajouter l'option 26 de mon côté aussi 👍

A+ et merci encore pour le retour

rooot

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 2 168
  • 🔵🔵🔵🔵⚪⚪⚪⚪🔴🔴🔴🔴
salut,
je peux te montrer ici , la capture du traffic de ma box NB6VAC pour DHCPV6, c'etait en 2022  ;D


jrobin28260

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 16
  • Eure et Loir - 28
Je confirme, la requête est restée la même depuis tout ce temps 👍

De mon côté je viens d'essayer d'ajouter les options 25 et 26 dans la ligne
option reqopts '23 25 26'Mais leur ajout n'a aucun effet, la requête donne ce qui suit (25 déjà présent tout en bas avec ou sans l'option "25", et le champs "IA Prefix (26)" est toujours absent tant qu'on ne met pas reqprefix à une valeur non nulle)



Dans tous les cas la requête ressemble pas mal à celle d'origine  :)

À l'occaz je regarderai peut-être un peu la requête DHCPv4 aussi, par curiosité.