OpenWRT sur Raspberry Pi IPv4 et IPv6

Salut le CHATONS,

Au CHATONS camps, @KsmoinO proposait un atelier OpenWRT que nous n’avons pas eu le temps de faire. J’ai pourtant un vrai cas d’usage, à vous soumettre.

Tout d’abord, je vous décrit, ci-dessous, ma nouvelle installation compatible IPv6 :

  • La démodulation du signal ADSL, à une ~50ml de paire cuivre tel. du DTI-Test, est assurée par un D-Link DSL-320B configuré en mode Bridge. J’ai cru comprendre que dans ce mode ce premier élément se cantonne à la couche physique de TCP/IP (ADSL → Ethernet/RJ45)
  • Le port RJ45 « LAN » du DSL-320B est raccordé à un adaptateur Gigabit Ethernet (ASIX Electronics Corp. AX88179 ID : 0b95:1790) vers USB 3.0 type A. On reste toujours dans la couche physique.
  • Cet adaptateur est branché sur un des ports USB 3.0 d’un Raspberry Pi 4B 8Go équipé d’une distribution OpenWrt (v. 22.03.3 r20028-43d7 / LuCI openwrt-22.03 branch git-23.119.80898-65ef406). C’est ici que je souhait rassembler les fonctions routage, NAT IPv4, parefeux… des couches réseau et transport de la connexion.
  • le port Gigabit Ethernet du Rasberry pi est relié à un switch (Netgear Prosafe jgs516 v2). Pour la couche Liaison du LAN.
  • le switch assure la liaison entre les différent PC, imprimante, serveur du LAN, plus un point d’accès Wifi D-Link DAP-1360.

Après de nombreuses heures de configuration de tout ça, j’obtiens enfin une connexion IPv6 à l’internet. :ok_hand: :smiley_cat:

Toutefois, après une durée, des quelques heures, variable mais < 30 h, la connexion IPv6 disparaît de l’overview du LUCI d’Open Wrt, plus de ping IPv6 possible vers l’internet. :pouting_cat:
J’arrive à rétablir la connection IPv6 de plusieurs manières :

  • rédémarrage hardware du Modem ASDL
  • rédémérrage soft de WAN1 mon interface PPPoE vers le modem ADSL, dans OpenWrt.
  • rédémérrage soft de WAN16 mon Alias Interface (DHCPv6 client) de WAN1, dans OpenWrt.

L’équipe support de FDN est sur le coup, mais c’est peu être de mon coté le soucis. Toute idée est la bienvenue.
Je peux vous envoyer des captures logs, écran ou mes fichiers de config d’openwrt si besoin.

Bonjour @yanngui :slight_smile:

Tout d’abord félicitations pour ton installation et ta configuration :wink:

D’après ce que tu décris, je pense qu’il y aurait peut-être un problème au moment des renouvellements des baux DHCP

J’ai souvenir qu’il y avait un certain nombre de règles firewall par défaut, Les as tu bien laissé actives ?

J’en ai peut-être rajouté ou modifié certaines. Voici pour information 4 de mes règles :

firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fc00::/6'
firewall.@rule[3].dest_ip='fc00::/6'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'

firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'

firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-adver
tisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'

firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'

Elles fonctionnent avec mon opérateur (Free), mais pas sûr que ce soit le même fonctionnement pour tous.

Sinon as tu essayer de passer l’interface en configuration statique ? Même si tu n’es pas en IP fixe et que ton opérateur change ton préfixe de temps en temps, ta connexion devrait durer plus long temps.

D’ailleurs, as-tu remarqué si tu changeais de préfixe d’une reconnexion à l’autre.

Par contre je ne serais pas trop disponible les prochains jours, donc je risque de ne pas répondre rapidement et n’y d’avoir le temps d’approfondir un diagnostic.

Bon courage :wink:

Salut et merci @KsmoinO

Oui, j’ai vérifier avec : uci show firewall

firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'

Ça semble bien comme toi sauf :

Mon FAI est FDN qui me fourni une plage IPv6 publique fixe en /48. J’ai donc toujours le même préfixe.

Tu veux dire, attribuer un suffixe IPv6 public statique à mon interface WAN16 qui est pour l’instant un alias (DHCPv6 client) de mon interface WAN1 (PPPoE) ? Vu la petite taille de mon réseau un adressage statique serait plus claire pour moi.
J’ai passé WAN16 en static address en lui attribuant :

  • IPv6 address : 2001:xxxx: xxxx::ffff/48 (au hasard)
  • la passerelle : fe80::1 (comme avec DHCPv6)
  • IPv6 routed prefix : 2001:xxxx: xxxx::/48

Et ça ce connecte et IPv6 :+1:
Enfin on verra si ça tient dans 48h et + :crossed_fingers:

Pas de souci, j’ai de l’IPv4 opérationnelle. Et j’attends déjà une réponse du support de FDN depuis le 30/07. Donc c’est quand tu pourras…
Je te tiens au jus pour la stabilité en static address.

Salut, des nouvelles de ma connexion IPv6 :
Bientôt 48h d’IPv6, quelques déconnections mais ça repart tout seul.
Si dans 1 semaine c’est toujours le cas, je vais pouvoir annuler le ticket chez FDN et leurs demander de configurer le reverse DNS IPv6.
Bravo bonne piste, merci à dans 7 jours.

Salut à tous,
Voilà 7 jours que ma connexion IPv6 est continue, malgré quelques redémarrages des interfaces OpenWRT. Tout ce fais automatiquement.
Probléme RESOLU :heart_eyes_cat:.
Merci @KsmoinO.

1 « J'aime »

Salut @yanngui

Ravis que tu aies pu stabiliser la situation en passant en adressage fixe :wink:

Par curiosité, j’aurais quand même aimer savoir quelle serait la bonne configuration DHCPv6 et filtrages à mettre en place pour que ça fonctionne avec ton FAI :smiley:
Pas grave si tu ne peux pas avoir plus d’informations.

Bonne continuation :slight_smile:

Salut @KsmoinO
J’ai informé FDN de la solution que nous avons trouvé.
Et leurs ai demandé l’association de mon IPv6 à mon nom de domaine (eidl.fr) pour le reverse DNS.
D’ailleurs, je lui est communiqué l’IPv6 Unicast Global du routeur. Mais ne serait-ce t il pas plutôt celle du Proxmox voir du serveur YNH qu’il faudrait associer au nom de domaine (eidl.fr) ? Pour éventuellement, associer d’autre nom de domaine à d’autres machines à l’avenir. C’ est bien l’intérêt de l’IPv6, que chaque machin.e soit directement joignable depuis l’internet et non juste une bidulebox IPv4 ?

Salut @yanngui

Concernant les reverse DNS, il faut faire une mise en place cohérente.

Si tu veux mettre eidl.fr en reverse DNS d’une IP, il faut aussi que eidl.fr pointe sur cette même IP.

Dans ton cas, eidl.fr pointe sur 2001:910:11c6:0:54f7:55ff:fe2d:d7a1, il faut donc demander à mettre eifl.fr sur cette IP. Attention par contre à l’IPv4 car tu ne peux associer qu’un reverse mais héberger plusieurs services dessus. Il faudra choisir le nom du service qui en a réellement besoin (généralement du mail).

Je trouve également plus propre de ne mettre en place des reverse DNS que sur des enregistrements DNS ne disposant que de A ou AAAA (sans parler de DNSSEC). Cela implique de ne mettre en reverse DNS que des sous-domaine de ta zone, car sur la racine tu as déjà à minima des enregistrements NS, SOA et éventuellement TXT, MX…

Ton enregistrement www.eidl.fr me semble donc plus approprié.

En effet, sans précision de ma part, FDN a associer tout mon réseau 2001:910:11c6:: à eidl.fr :

$ dig -x 2001:910:11c6:: +short @nsa.fdn.fr
eidl.fr.

Et le diag de YNH n’est toujours pas content.
Je leur est refait une demande pour associer eidl.fr à 2001:910:11c6:0:54f7:55ff:fe2d:d7a1

Pour l’instant, je me contente de la configuration de zone DNS recommandée par YunoHost.
Mais il va bien falloir que j’y mette le nez un jour. Un conseil de MOOC ou Vidéo à ce sujet ?