Forum général.général Routage bas niveau

Posté par (page perso) .
Tags : aucun
0
7
juil.
2008
Bonjour à tous,

Voilà, pour les besoins de ma boite, j'ai besoin de faire un routage bas niveau. Je m'explique :
- Je dispose de plusieurs machines et automates routé par un routeur en OpenWRT.
- Pour que les PC puissent détecter les automates, il y a une requête spécifique bas niveau qui est envoyé. C'est à dire que à la place de la couche IP (0x0800), j'ai un protocole 802.1Q VLAN (0x8100) dixit Wireshark.

Mon soucis, c'est que cette requête ne passe pas l'OpenWRT. Du coup, je ne peux pas détecter ce qui est branché dessus.

Je voudrais donc savoir si quelqu'un connaît la manip pour autoriser ce protocole à être transmit partout. iptables ? Je ne sais pas....

Merci.
Snark.
  • # Bon...

    Posté par (page perso) . Évalué à 2.

    J'ai avancé un peu, je peux parametrer ça grace à ebtables visiblement. Mais quand j'essaye ça, ça fonctionne pas :

    ebtables -t broute -A BROUTING -p 0x8100 -j redirect --redirect-target DROP
  • # 802.1Q / VLAN an co

    Posté par (page perso) . Évalué à 1.

    En es-tu certain? 802.1q est un protocole qui permet de faire transiter par un même lien physique plusieurs (v)lans ( ils sont tagués et encapsuler/decapsuler par les switchs/routeurs cisco par ex).

    Système - Réseau - Sécurité Open Source

    • [^] # Re: 802.1Q / VLAN an co

      Posté par (page perso) . Évalué à 2.

      En tout cas, c'est ce que donne wireshark. À moins qu'ils aient juste utilisé le même identifiant de protocole.
      Les couches que me donne wireshark (dans l'ordre) :
      - Ethernet II
      - 802.1Q Virtual LAN
      - PROFINET acyclic Real-Time
      - PROFINET DCP

      Enfin, le but, c'est de réussir à récuperer un trame de protocole et la redispatcher sur toutes les sorties.
      • [^] # Re: 802.1Q / VLAN an co

        Posté par . Évalué à 2.

        Je pense qu'il manque un peu de détail pour t'aider ....
        Tu veux dire quoi exactement par "bas-niveau" ? C'est quoi ce protocole que tes automates utilisent ?

        En ce qui concerne les VLAN que tu vois, c'est la manière dont est configuré ton routeur : OpenWRT "tag" les différents ports qu'il a afin de configurer ton réseau comme tu veux. En gros, ton "routeur" (c'est assez réducteur comme terme) fait "switch" (donc niveau 2) entre différents ports, qui sont configurés en tant que plusieurs VLAN. Par défaut (enfin, sur une conf classique d'un linksys) les 4 ports LAN sont sur un VLAN, et le port WAN sur un autre (tous les deux reliés au "port" du processeur). Et ensuite, il fait du routage (donc niveau 3) entre les différents VLAN.

        Donc, il faudrait un peu plus d'info sur la topologie de ton réseau, et sur ce que tu souhaites faire exactement (enfin, plutôt ce que ton protocole mystère souhaite faire).
        • [^] # Re: 802.1Q / VLAN an co

          Posté par (page perso) . Évalué à 2.

          Pour ce qui es des VLAN, rien à voir avec l'openwrt, car je pris les trames en sortie de mon poste windows, donc pas encore passé dans l'openWRT.
          Ensuite, je vais avoir beaucoup de mal à te donner plus d'informations sur son fonctionnement car c'est un truc spécifique au logiciel Step7 (siemens si tu connais). Mais ça ne doit pas être un truc trop fermé vu que Wireshark à l'air de savoir décodé le contenu des trames.
          Tout ce que je peux dire dessus, c'est qu'elle servent à "scanner" le réseau pour chercher les automates présent.

          Voici un fichier texte issue de wireshark contenant 2 trames, la requête principale, et la réponse d'un des automates : http://blary.jason.free.fr/download/siemens.txt

          Pour la topologie de réseau, rien de plus simple
           ___ 
          |   |-- WAN (Vers le net, et au delà)
          | W |-- LAN1 (PC)
          | R |-- LAN2 (AUTOMATE)
          | T |-- LAN3
          |___|-- LAN4

          Si je rempace l'openWRT par un simple switch, ça fonctionne sans soucis. Donc c'est bien un soucis de routage.


          Merci.
          • [^] # Re: 802.1Q / VLAN an co

            Posté par . Évalué à 2.

            Houla, c'est étrange, je viens de me renseigner un petit peu sur profinet, et en gros c'est une modification de 802.3 (ethernet) qui est censé coopérer avec l'ethernet classique ...
            En gros, dans tes frames (que je suppose tu as pris en connectant direct ton PC et ton automate ?) on voit que niveau 2/ethernet, le premier paquet est à destination de 01:0e:cf:00:00:00, ce qui ne correspond pas à une machine particulière (les 00:00:00 sont louches), et donc ton routeur ne sait pas où les envoyer... après recherches, cela correspond à une adresse "PROFINET multicast", ce qui va à l'encotre de toutes convention de l'ethernet ! Pour moi, ce n'est censé marcher que sur les hubs (qui répliquent tous les paquets) et pas sur les switchs, à moins qu'ils soient au courant de cette "convention" et qu'ils les répliquent volontairement.
            Par contre la trame de retour est OK, mais tu vois bien que cette fois elle vient d'une MAC particulière (00:0e:8c:87:97:74).

            Au final, ça a quand même l'air d'être un standard (cf wikipedia), donc bon ...

            Je ne sais pas trop comment tu peux faire avec ça, le truc serait peut-être de bidouiller avec ebtables, mais d'abord ce serait de se renseigner quel équipement "classique" est capable de faire marcher cette "chose".
            • [^] # Re: 802.1Q / VLAN an co

              Posté par (page perso) . Évalué à 2.

              Merci pour ces informations, ça m'aide bien.
              En cherchant un peu dans la documentation de ebtables, je suis tombé sur ça :
              -s, --source [!] address[/mask]
              The source MAC address. Both mask and address are written as 6 hexadecimal numbers separated by colons. Alternatively one can specify Unicast, Multicast, Broadcast or BGA (Bridge Group Address):
              Unicast=00:00:00:00:00:00/01:00:00:00:00:00, Multicast=01:00:00:00:00:00/01:00:00:00:00:00, Broadcast=ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff or BGA=01:80:c2:00:00:00/ff:ff:ff:ff:ff:ff. Note that a broadcast address will also match the multicast specification. The flag --src is an alias for this option.

              Or, les adresses de type Bridge Group Address de l'exemple ressemblent étrangement à l'adresse MAC particulière. Je ne sais pas vraiment ce que c'est, mais je constate. Je vais voir pour m'orienter de cette façon.

              Sinon, pour information, ces captures ont été faites au travers de 2 switch.
              PC ---> Switch de brassage NetGear ---> Switch industriel Moxa ---> Automate
              Donc, c'est visiblement quelque chose de gérer sans soucis au niveau des switchs.
              • [^] # Re: 802.1Q / VLAN an co

                Posté par . Évalué à 2.

                Tu viens de m'apprendre un truc : il existe du multicast au niveau ethernet .... je ne connaissais pas du tout. Damned ! http://en.wikipedia.org/wiki/Multicast_address#Ethernet_mult(...)
                Merci ! (ça m'a permis de mieux comprendre d'autres trucs aussi)

                Je connaissais le broadcast, qui est utilisé pour les requêtes ARP "who has ?". Quant au BGA, c'est une seule adresse : regarde le masque ... et ça ne correspond pas vraiment à ce dont on parle : c'est effectivement aussi une adresse multicast, mais pour autre chose.

                Donc bon, en fait ton protocole se sert d'une feature standard d'ethernet apparemment. Par contre, je ne sais pas comment fonctionne le multicast en ethernet, vu que la gestion de groupes me paraît trop haut niveau pour ce protocole ...

                Sinon, bonne doc pour les VLANs : http://wiki.openwrt.org/OpenWrtDocs/NetworkInterfaces (je pense que les noms d'interface vlan0 et vlan1 ne sont plus valables maintenant, ça doit être eth0 (puisque le VLAN du LAN n'est pas taggé) et eth0.1)

                Et là, je suis en train de me dire que ton problème vient peut-être des VLANs : tu sais ce que font les switchs qui sont entre ton PC et l'automate ? Quand tu branches ton routeur, tu le places où exactement ? Parce que je ne comprend pas pourquoi tu compares la connexion en passant par 2 switchs avant d'arriver à ton PC, et en branchant l'automate direct sur ton routeur : ça n'est pas la même chose du tout, les 2 switchs peuvent faire plein de chose dessus. En l'occurrence, il y en a un qui doit tagger le traffic de ton automate.

                Au fait, t'arrives à le contrôler comme ça depuis windows, dans cette config, ton automate ? Parce que ça me paraît bizarre que les frames arrivent taggées et que ton PC gère ça tout seul .... (c'est possible, je ne peux pas vraiment savoir ce que fait windows)

Suivre le flux des commentaires

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