Annonce réseau ipv6 Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
diesel
Membre
Membre
Messages : 17
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Bonjour,

J'ai un sous-réseau ipv6 (sous-réseau 1) derrière un routeur (routeur 1). Ce routeur donnant accès à internet.
Celui-ci distribue bien le préfixe du sous-réseau 1 (2a01:e95:4fc:8421::/64) et son adresse link-local (fe80::56fd:2ff:fe54:2358) comme passerelle pour le sous-réseau 1 (ainsi que les adresses des DNS), ce qui permet aux machines connectées à ce sous-réseau 1 d'aller sur internet.

Sur ce sous-réseau 1, j'ai un routeur (routeur 2) qui gère un deuxième sous-réseau ipv6 (sous-réseau 2). Ce routeur est configuré avec systemd-networkd et systemd-resolved.
Celui-ci distribue bien le préfixe du sous-réseau 2 qu'il gère (2a01:e95:4fc:8422::/64) et son adresse link-local (fe80::2fd:7fff:fecc:cacb) comme passerelle pour le sous-réseau 2.

Mon problème est de savoir qui, du routeur 1 ou du routeur 2, a en charge d'informer les machines du sous-réseau 1 de la route vers le sous-réseau 2 en passant pas l'adresse link-local de l'interface du routeur 2 sur le sous-réseau 1 (fe80::2ac:6ff:feba:5542).

Pour info, la table de routage d'une machine connectée au sous-réseau 2 est la suivante :

Code : Tout sélectionner

jean-marie@debian:~$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
2a01:e95:4fc:8422::/64 dev ens5 proto ra metric 100 pref medium
fe80::/64  dev ens5 proto kernel metric 100 pref medium
default via fe80::2fd:7fff:fecc:cacb dev ens5 proto ra metric 100 pref medium
jean-marie@debian:~$
et la table de routage du routeur 2 est la suivante :

Code : Tout sélectionner

jean-marie@passerelle:~ $ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
2a01:e95:4fc:8421::/64 dev eth1 proto ra metric 1024 expires 86187sec pref medium
2a01:e95:4fc:8422::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via  fe80::56fd:2ff:fe54:2358 dev eth1 proto ra metric 1024 expires 1587sec mtu 1452 pref medium
jean-marie@passerelle:~ $
et la table de routage d'une machine connectée au sous-réseau 1 est la suivante :

Code : Tout sélectionner

jean-marie@jean-marie:~$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
2a01:e95:4fc:8421::/64 dev enp25s0 proto ra metric 100 pref medium
fe80::/64 dev enp25s0 proto kernel metric 100 pref medium
default via fe80::56fd:2ff:fe54:2358 dev enp25s0 proto ra metric 100 pref medium
jean-marie@jean-marie:~$
On voit bien qu'il manque la route pour atteindre le sous-réseau 2.

Amicalement.

Jean-Marie
PascalHambourg
Contributeur
Contributeur
Messages : 679
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Pour commencer, tu peux ajouter une route statique sur le routeur 1 vers le sous-réseau 2 via le routeur 2. Ainsi les postes du réseau 1 pourront atteindre les postes du réseau 2 au pire via le routeur 1 puis le routeur 2, et au mieux directement via le routeur 2 si le routeur 1 renvoie un ICMPv6 redirect.

Concernant l'annonce de la route vers le réseau 2 sur le réseau 1, ce serait plutôt au routeur 2 de l'envoyer. Mais l'annonce envoyée sur le réseau 1 doit annoncer seulement la route, pas de préfixe et surtout pas le routeur lui-même comme routeur par défaut (je crois que pour cela il faut indiquer une durée de vie de 0).
diesel
Membre
Membre
Messages : 17
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Euh..., l'interface du routeur 2 sur le sous-réseau 1 est bien l'interface par laquelle doit passer le trafic vers le sous-réseau 2, venant du sous-réseau 1. Je crois donc qu'une durée de vie significative est bien requise.

Par contre, bien évidement, pas de préfixe envoyé.

Bon, je vais me replonger dans le man de systemd-networkd pour essayer de comprendre comment configurer ça. Et il faut avouer que les exemples d'une telle configuration, pourtant assez simple, ne sont pas ,légion.

Amicalement.

Jean-Marie
PascalHambourg
Contributeur
Contributeur
Messages : 679
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Je parlais de la durée de vie de routeur par défaut, correspondant au paramètre AdvDefaultLifetime dans radvd.conf si on utilise radvd pour émettre les annonces. Cela ne s'applique pas aux préfixes et routes annoncés. Je ne connais pas systemd-networkd.
diesel
Membre
Membre
Messages : 17
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Oui.

C'est effectivement mon problème. Le routeur 2 déclare bien sur le sous-réseau 1 la route vers le sous-réseau 2 mais il annonce aussi l'adresse link local de son interface vers le sous-réseau 1 comme adresse par défaut. Et ça met la pagaille.

Pourtant, dans la section [Network] de l'interface vers le sous-réseau 1, j'ai bien mis DefaultRouteOnDevice=false, et dans la section [IPv6PrefixDelegation], j'ai bien précisé RouterLifetimeSec=0.

Mais rien n'y fait.

Amicalement.

Jean-Marie
diesel
Membre
Membre
Messages : 17
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

'TAIN !!!!!, je crois que je viens de comprendre. J'ai imprimé un man systemd.network, lu sur mon poste de travail sous ubuntu 20.04 qui est incomplet (ou trop vieux). et dans lequel il manque plein d'options.

En particulier, dans le man à jour, il y a une option IPv6SendRA (et une section qui va avec) que je n'ai pas dans le man que j'ai imprimé et dans laquelle doit se trouver la réponse à mes soucis.

Je reviens vers vous dès que j'ai trouvé.

Amicalement.

Jean-Marie
diesel
Membre
Membre
Messages : 17
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Bon, j'ai enfin trouvé.

L'équivalent de AdvDefaultLifetime=0 dans radvd est RouterLifetimeSec=0 dans la section [IPv6SendRA] du fichier .network de l'interface considérée.

Merci Pascal pour m'avoir orienté dans la bonne direction.

Amicalement.

Jean-Marie
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 3955
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,
Merci Jean-Marie pour ton retour! :good:
Debian SID (J'en ai marre de la stable il se passe rien...) Mate.
Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre