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

0 Membres et 1 Invité sur ce sujet

jrobin28260

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 17
  • 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 629
  • 🔵🔵🔵🔵⚪⚪⚪⚪🔴🔴🔴🔴
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: 17
  • 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 629
  • 🔵🔵🔵🔵⚪⚪⚪⚪🔴🔴🔴🔴
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: 17
  • 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é.

minscof

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 2
Bonjour,

Je ne réussis pas à obtenir une adresse IP V6, j'obtiens bien un préfix délégué, l'adresse de la passerelle, mais pas l'adresse IP V6.

J'ai essayé avec les 2 exemples de configuration donnés dans le fil de discussion.

Je me contente de redémarrer le routeur pour tester la configuration, faut-il redémarrer aussi l'ONT pour que cela fonctionne ?

J'utilise openwrt sur mon routeur un cudy wr3000s.

Côté IP V4, tout va bien

jrobin28260

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

Je viens de vérifier, effectivement de mon côté également, SFR ne délivre qu'une délégation de préfixe, que le routeur utilise ensuite pour se servir dedans : il prend pour lui l'adresse qui termine par "::1" (en gros 2a02:84xx:xxxx:xx00::1) sur son interface "br-lan", (en parallèle de l'adresse IPv4 192.168.1.1 qu'il applique par défaut), je pense qu'il l'attache ici pour pouvoir répercuter la distribution d'adresses IPv6 aux appareils sur le LAN et le WiFi.

À la différence de l'IPv4 WAN qui dans mon cas, est quant à elle attribuée à eth1 (l'interface utilisée pour la prise WAN).

Un petit aperçu de l'état de ma connexion sur mon routeur ici:


BusyBox v1.36.1 (2024-09-23 12:34:46 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 23.05.5, r24106-10cc5fcd00
 -----------------------------------------------------
root@TUF-AX4200-OpenWrt-Coudray:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc mq state UP qlen 1000
    link/ether 8a:b9:5d:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet6 fe80::88b9:5dff:feXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.1/24 brd 192.168.4.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet 10.153.22.34/31 brd 255.255.255.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::ca7f:54ff:feXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever
4: lan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
5: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
6: lan3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
7: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
10: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 2a02:84XX:XXXX:XX00::1/60 scope global dynamic noprefixroute
       valid_lft 515sec preferred_lft 515sec
    inet6 fd02:84XX:XXXX:XX00::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::ca7f:54ff:feXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever
11: phy1-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether c8:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ca7f:54ff:feXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever
12: phy0-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether ca:7f:54:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet6 fe80::c87f:54ff:feXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever

En espérant que ça puisse aider.
Sur le routeur en question, la prise Ethernet WAN est sur un switch interne séparé des prises LAN, la topographie interne du wr3000s est peut-être un poil différente, rien d'inquiétant si les noms changent un peu.

PS:
Concernant le préfixe /56 restreint à /60 sur br-lan, j'ai remarqué qu'OpenWrt se réserve 4 bits pour pouvoir offrir un préfixe séparé (2a02:84xx:xxxx:xx04 au lieu de 2a02:84xx:xxxx:xx00) dans le cas où on branche un second routeur à l'intérieur du LAN.

simon

  • Abonné Orange Fibre
  • *
  • Messages: 1 433
Je ne réussis pas à obtenir une adresse IP V6, j'obtiens bien un préfix délégué, l'adresse de la passerelle, mais pas l'adresse IP V6.

Si ton routeur obtient un préfixe délégué (/56) c'est tout bon, il ne va rien obtenir de plus. Tu as déjà de quoi créer 256 /64, on ne va pas en rajouter :-)

Plus sérieusement, contrairement à IPv4 où l'adresse unique fournie par DHCP est configurée sur l'interface wan, en v6, il n'y a pas besoin d'attribuer d'adresse autre qu'une link-local (dans fe80::) sur la patte wan.

Ton routeur devrait prendre des adresses sur la/les patte(s) LAN, comme te l'explique jrobin.

D'ailleurs jrobin, la longueur du préfixe affecté à br-lan dépend de la configuration de ton interface lan (voir option ip6assign).

Hormis cas spéciaux, affecter plus qu'un /64 à un segment Ethernet unique n'a pas vraiment d'intérêt. Les machines vont s'assigner des adresses par SLAAC dans le /64 annoncé.

minscof

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 2
Merci à vous 2,

Ne voyant pas d'adresse IP v6 sur mon interface WAN vers l'ONT, je pensais qu'il manquait une assignation, mais après vos réponses, je me suis rendu compte qu'un PC sur mon LAN sort bien vers Internet en IP V6, donc tout va bien en espérant avoir bien configuré le firewall pour protéger le LAN d'Internet.

Encore un grand merci.