Forum général.général IPv6 : plusieurs boxes sur un même LAN, comment faire pour que ça marche ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
2
1
déc.
2017

Voilà, j’ai un schéma de ce type, plusieurs boxes internet d’un même fournisseur, connectées à un même switch qui forme un réseau physique que l’on va nommer “NML” pour “No Man's Land” sur lequel est aussi connecté deux routeurs qui font routage, pare-feu etc. pour un LAN en contre bas :

_____________________________________________ WAN (Internet)
    |           |           |           |
    |           |           |           |
 ___|___     ___|___     ___|___     ___|___
[       ]   [       ]   [       ]   [       ]
[ Box 1 ]   [ Box 2 ]   [ Box 3 ]   [ Box 4 ]
[  0A1  ]   [  0B1  ]   [  0C1  ]   [  0D1  ]
[_______]   [_______]   [_______]   [_______]
    |           |           |           |
    |           |           |           |
____|___________|___________|___________|____ NML
          |                       |
          |                       |
      ____|____               ____|____ 
     [         ]             [         ]
     [ Router1 ]             [ Router2 ]
     [   0A2   ]             [   0A3   ]
     [   0B2   ]             [   0B3   ]
     [   0C2   ]             [   0C3   ]
     [   0D2   ]             [   0D3   ]
     [_________]             [_________]
          |                       |
          |                       |
__________|_______________________|__________ LAN (Là où les gens travaillent)

En IPv4, c’est facile : le réseau NML a été défini comme un réseau local utilisant la plage privée de la classe 6, par exemple les boxes comme les routeurs auraient un réseau en 192.168.1.[1-7] ou similaire.

En IPv6, chaque box hérite d’un préfixe /64 et chacun des routeurs héritent d’une adresse appartenant au préfix de chaque box. Par chance chaque box provient du même opérateur donc elles héritent toutes d’un même préfixe supérieur. J’ai symbolisé ces adresses IPv6 en 3 caractères, exemple :

  • 0A1: préfixe 0 de l’opérateur, préfixe A de ma fourniture internet 1, 1 suffixe de la box 1 ;
  • 0A2: préfixe 0 de l’opérateur, préfixe A de ma fourniture internet 1, 2 suffixe de l’adresse du routeur 1 autoconfigurée depuis la box 0A1 ;
  • 0C1: préfixe 0 de l’opérateur, préfixe C de ma fourniture internet 3, 1 suffixe de la box 3 ;
  • 0C3: préfixe 0 de l’opérateur, préfixe C de ma fourniture internet 3, 3 suffixe de l’adresse du routeur 2 autoconfigurée depuis la box 0C1.

Chaque routeur se découvre donc avec 4 adresses IPv6, chacune de ces adresses correspondant à une adresse autoconfigurée selon chacune des boxes.

  • Depuis le routeur 1 je peux pinger en IPv6 chacune des boxes avec leur adresse ipv6 (0A1, 0B1, 0C1, 0D1) ;
  • Depuis le routeur 1 je peux pinger en IPv6 chacune des adresses ipv6 du routeur 2 (0A3, 0B3, 0C3, 0D3), l’inverse est vrai ;
  • Depuis le routeur 1 ou le routeur 2 je ne peux plus pinger une adresse IPv6 sur Internet, même quand je mets une route explicite pour cette IPv6 un seul routeur donné (ip -6 route add SO:ME:TH:IN:G via 0A1).

Je ne suis pas encore un super expert d’IPv6 et j’aimerai savoir ce qui ne fonctionne pas dans mon cas. Je dis que “je ne peux plus pinger” parce que je le pouvais tant qu’une seule des boxes avait l’IPv6 d’activé, maintenant que toutes les boxes ont l’IPv6 d’activé, je ne sors plus du tout sur Internet en IPv6. Et si je fais un traceroute6 sur un adresse sur Internet depuis un routeur, ça n’aboutit jamais.

J’ai bien conscience que le schéma en IPv6 est très différent que le schéma en IPv4, notamment le réseau NML en IPv4 est un réseau privé, alors que le réseau NML en IPv6, c’est déjà Internet, c’est un réseau public.

Alors voici mes deux questions :

  • Est-ce que l’installation que j’ai sous les yeux est sensée marcher ? Et dans ce cas où chercher la cause du problème ?
  • Ou bien est-ce que l’installation que j’ai sous les yeux est sensée ne jamais marcher en IPv6, et que puis-je faire pour obtenir quelque chose qui fonctionne ?

Merci ! :-)

  • # le routeur par defaut ?

    Posté par  . Évalué à 3.

    ca marche quand tu as une seule box en ipv6 car c'est alors la passerelle par defaut de ta config

    avec 4 box, tu as 4 passerelles,
    le flux sort par l'une d'elle,
    et si tu cherches à joindre l'autre, ca te fait un routage "assymetrique"
    ca sort par la box par defaut, mais ca revient par la box demandée, ou l'inverse.

    • [^] # Re: le routeur par defaut ?

      Posté par  (site web personnel) . Évalué à 2.

      Je me doute que c’est quelque chose comme ça, mais pourquoi quand je mets une route explicite ça ne marche pas non plus ? Par exemple je dis de joindre 2001:4860:4860::8888 (le dns de google) en passant par une route bien précise, et ça ne marche pas non-plus, même si ce n’est pas la route par défaut.

      Bon en fait ma question n’est pas vraiment de pourquoi ça ne marche pas (je vais éditer le titre), mais de comment faire pour que ça marche…

      J’ai clairement besoin de router différents flux par les 4 box, donc même une solution qui impliquerait une seule route ne serait pas une bonne solution évidemment. C’est ce que j’avais quand l’ipv6 n’était activée que sur une seule des box, mais y a pas quatre lignes pour rien : ce lieu est du genre sinistré question réseau, et pour subvenir aux besoins bah faut plusieurs lignes…

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: le routeur par defaut ?

        Posté par  . Évalué à 2.

        tu es sur que tes routeurs supportent correctement IPV6 ?

      • [^] # Re: le routeur par defaut ?

        Posté par  . Évalué à 2.

        quelles sont les tables de routage des routeurs?
        tu sembles dire que tout ce petit monde s'autoconfigure mutuellement.
        J'essaierais d'utiliser les adresses link-local à l'intérieur du NML

        • [^] # Re: le routeur par defaut ?

          Posté par  (site web personnel) . Évalué à 2. Dernière modification le 04 décembre 2017 à 14:20.

          J'essaierais d'utiliser les adresses link-local à l'intérieur du NML

          Oh ça c’est une suggestion qui me semble intéressante ! Mais maintenant, comment puis-je découvrir ces adresses link-local si l’interface d’administration de mes box ne me l’annonce pas ? En fait ce sont des freebox pas révolution, donc j’ai pas accès à la box elle-même mais à une interface en ligne et la seule option que j’ai c’est un bouton « activer/désactiver ipv6 » et la seule information que j’ai c’est une ligne qui m’indique le préfixe /64 alloué (duquel j’ai du devenir l’adresse du routeur qui n’était même pas donnée, heureusement c’est facile pour une freebox il me suffisait d’ajouter 1 à la fin)

          Quand je fais ceci :

          ping6 -I eth0 ff02::1

          J’ai plein de link-local qui répondent, mais je ne sais pas laquelle appartient à qui ! J’imagine que les adresses link-local correspondent en partie à la mac et que je pourrais croiser cette information je ne sais pas comment…

          Note: si les boxes sont des freebox bien classiques, les routeurs sont des debian bien standard. J’ai donc accès à toute la panoplie Debian depuis mes routeurs…

          ce commentaire est sous licence cc by 4 et précédentes

          • [^] # Re: le routeur par defaut ?

            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 04 décembre 2017 à 14:28.

            Avec arp -a je récupère la liste des macs connues, et j’arrive à corréler les macs avec des adresses link-local ipv6 que me renvoient le ping ci-dessus pour des équipements qui ne sont pas les box (en tout cas ça y ressemble beaucoup au premier coup d’œil)… bref, j’ai l’impression que le ping ci-dessus me renvoie des adresses link-local de tout ce que j’ai sur NML excepté les boxes…

            ce commentaire est sous licence cc by 4 et précédentes

          • [^] # Re: le routeur par defaut ?

            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 04 décembre 2017 à 14:41.

            Je suis trop bête, mon réseau NML n’est pas sur eth0 ^_^.

            Bon maintenant grâce à la magie d’arp j’ai réussi à trouver les adresses link-local de chacune de mes boxes, mais:

            ip -6 route add 2001:4860:4860::8888 via <link-local>
            

            me répond RTNETLINK answers: Invalid argument. :-/

            Là j’atteins mes limites du moment sur ipv6…

            Edit: réponse à moi même, il faut préciser l’interface (et ping6 -I <interface> <link-local> pour tester la connectivité avec la box).

            ip -6 route add 2001:4860:4860::8888 via <link-local> dev <interface>
            

            Bon, la route est ajoutée mais ça ne sort pas encore sur le net !

            ce commentaire est sous licence cc by 4 et précédentes

          • [^] # Re: le routeur par defaut ?

            Posté par  . Évalué à 1.

            Pour info tu peux adresser les routeurs seulement avec

            ping6 -I eth0 ff02::2

            ou peut être par le hostname ip6-allrouters

            $ grep ip6 /etc/hosts
            ::1     localhost ip6-localhost ip6-loopback
            ff02::1 ip6-allnodes
            ff02::2 ip6-allrouters
        • [^] # Re: le routeur par defaut ?

          Posté par  (site web personnel) . Évalué à 2.

          Bon en fait si je fais rien de spécial j’ai autant route par défaut que j’ai de boxes, et ces routes utilisent les lien local.

          Si je supprime toutes ces routes sauf une, ou que j’ajoute une route pour une seul adresse distante, il ne se passe rien…

          J’ai remarqué que si je route via l’adresse link-local de la box 1, traceroute6 me montre la box1 (l’adresse pas link-local) en premier hop (et rien après), et si je route via la link-local box2, j’ai la box2 (pas en link-local) en premier hop, etc. Ça ne me fait toujours pas sortir sur le net mais au moins ça me confirme que mes adresses link-local sont les bonnes.

          ce commentaire est sous licence cc by 4 et précédentes

          • [^] # Re: le routeur par defaut ?

            Posté par  . Évalué à 1.

            bizarre … y-a-t-il des règles ip6tables actives?

            Peut être vérifier ce qui sort/rentre sur l'interface?

            # tcpdump -i eth${N} ip6

  • # IPv6 obligatoire ?

    Posté par  . Évalué à -7.

    Pourquoi vouloir absolument IPv6 ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.