Journal Du routage sous Linux ou comment le temps passe et nous laisse seul avec nos souvenirs

Posté par  . Licence CC By‑SA.
27
10
sept.
2022

Salut Nal,

Il m'arrive régulièrement de donner des cours ou de faire des interventions concernant disons "les bases du réseau" :
- Les adresses IP v4 et v6
- Le principe du routage
- Le routage dynamique
- Le principe de transmission des paquets (couche 2 couche 3)

Chacun sait que le plus efficace lors d'une "formation" reste la pratique, or j'avais l'habitude de disposer de vieux routeurs Cisco et avec un adaptateur USB et un câble série ça faisait la blague.
Mais c'est … chiant, c'est long il faut beaucoup de préparation pour un résultat … MOUAIS !
Le meilleur truc que j'ai réussi à faire c'est d'offrir de l'IPv6 via un tunnel sur un poste à toute une salle divisée en 4 réseaux dual-stack… Avec du routage dynamique v4 et v6, du slaac et du dhcpv4.
ça à pris 5 jours petit à petit, les étudiants étaient ravis.

Je recherche plutôt maintenant des solutions logicielles,

Il y a GNS3, qui est l'artillerie (trop) lourde
Il y a packet-tracer mais qui est trop compliqué et à obtenir et à faire fonctionner

Et puis… Il y a un projet que je qualifierais d'intelligent : Katharà ! https://www.kathara.org/

Basé sur docker et des images quagga, il est édité par l'université de Rome.

C'est un fork de netkit ("The poor man's system to experiment computer networking") https://www.netkit.org/ que j'ai énormément utilisé courant 2010.

C'est beaucoup moins graphique, mais le fait de décrire un réseau et des postes/routeurs en écrivant une poignée de fichiers m'a toujours donné un frisson :p

Récemment j'ai parlé de quagga à des étudiants, en leur expliquant que ça pouvait transformer un linux en router programmable comme un cisco.
J'ai ensuite fait des recherches et j'ai découvert que Quagga était mort et enterré…

Et je n'ai trouvé aucun article qui s'en émeuve :)

Visiblement c'est FRR (que je ne connais pas) qui a pris la suite.

En fait j'écris ce journal pour partager ma réflexion sur ces outils, et vous demander si vous avez d'autres outils à partager,

Voilà, voilà, paix et prospérité comme dirait l'autre.

  • # Moi de même

    Posté par  . Évalué à 4.

    Je donne aussi ce genre de TP.

    Il y a GNS3, qui est l'artillerie (trop) lourde

    Avec des VM ils est vraiment contraignant, mais tu peut l'utiliser avec docker. C'est très confortable, tu a bien moins de problème d'interface etc. Je l'ai utilisé pendant les confinements. Avec des VM c'est un enfert, mais avec des conteneurs ça passe tout seul.

    On utilise socklab ici https://github.com/drakkar-lig/socklab

    C'est un outil qui permet de créer et manipuler des sockets tcp et udp.

    C'est bien mais pas parfait. Le fait d'utiliser des numéros pour identifier les sockets n'aident pas les étudiants qui doivent jongler entre le port local, le port destinataire, le n° de socket local et le n° de socket destinataires (ils utilisent plusieurs machines à côté les unes des autres donc ils voient les 2 côtés tout le temps).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: Moi de même

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

      Pourtant le github bouge encore : il y a des fichiers modifiés il y a 4 mois, et la dernière release ( 3.5.0) n'est pas si vieille (11 mai 2022).

      • [^] # Re: Moi de même

        Posté par  . Évalué à 2.

        Euh je ne comprends pas. J'en ai pas parlé, je ne connaissais pas. J'ai juste dis que GNS3 aussi peu utiliser des conteneurs.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: Moi de même

        Posté par  . Évalué à 3.

        Nan mais kathara c'est le top,
        Mais y'a que les vieux barbus comme moi que ça fait kiffer d'écrire 4 lignes pour décrire un résal (des réseaux un résal non ?) 😅

        "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

    • [^] # Re: Moi de même

      Posté par  (site web personnel, Mastodon) . Évalué à 4.

      Le fait d'utiliser des numéros pour identifier les sockets n'aident pas les étudiants qui doivent jongler entre le port local, le port destinataire, le n° de socket local et le n° de socket destinataires

      M'enfin, si tes étudiants achoppent sur cette notion, la suite risque d'être bien difficile.

      À moins qu'il n'y ait quelque chose qui m'échappe…

      • [^] # Re: Moi de même

        Posté par  . Évalué à 4.

        Tout à fait pour les numéros de ports, mais ajouter des identifiants de sockets confusants ne me paraît pas utile. Ils construisent leur connaissance, c'est normal de tâtonner, c'est l'objectif d'un TP.

        On peut présenter les choses différemment, si les sockets étaient identifiées par des lettres ("a", "b", "c",…), les étudiants feraient un peu moins d'erreur et je n'ai pas l'impression qu'ils leur manquerai quelques choses à la fin du TP.

        Dans la pratique, c'est pas une difficulté qui va se présenter à eux quand ils manipuleront du réseau. Quand tu code ta socket c'est une variable, le numéro du file descriptor n'est pas un sujet.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: Moi de même

      Posté par  . Évalué à 2.

      Vendu ! Je vais retester GNS3 avec Docker.

      Socklab OK, à tester. Par contre le gars qui met la doc direct en .tex c'est… Original… 😭

      "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # cloonix

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

    Aucune idée si cela fait la même chose, car je n'utilise pas ce genre d'outils, mais ta description m'a rappelé cette news sur cloonix : https://linuxfr.org/news/cloonix-et-les-conteneurs

    • [^] # Re: cloonix

      Posté par  . Évalué à 2.

      De ce que je vois dans le lien c'est hardcore. Je me vois vraiment pas envoyer ça dans les mains de mes étudiants et c'est très spécifique linux.

      Je ne connais pas Katharà (j'imagine que c'est au moins du même acabit), mais avec GNS3 une fois que tu as une image de conteneur pour moi une debian avec socklab, les étudiants peuvent facilement instancier autant de conteneurs qu'ils le souhaitent en choisissant pour chacun le nombre d'interfaces qu'ils ont et les relier comme ils souhaitent. Un click sur une machine pour ouvrir un terminal dedans et un sur un lien pour ouvrir Wireshark prêt à scanner ton réseau virtuel.

      C'est important de supprimer toute la complexité technique pour ne pas perdre 30 à 45 minutes du temps du TP sur des difficultés techniques qui ne concernent pas le sujet du TP.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: cloonix

        Posté par  . Évalué à 1.

        Mouais cloonix m'a l'air assez coton… Et puis c'est un vieux projet, j'avais déjà joué avec il me semble.

        Bon vous êtes plusieurs à citer GNS3, je vais retenter le coup…

        "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # Syntaxe IOS

    Posté par  . Évalué à 3.

    Franchement, si y a un truc que ne regrette pas, c'est bien d'être débarassé de la syntaxe et de la CLI des routeur Cisco dans mon activité pro.

    Tu as BIRD aussi sous linux qui jouit d'une certaine popularité. Néanmoins, je ne donnerai pas d'avis dessus, ça fait trop longtemps que je n'ai pas joué avec.

    https://en.wikipedia.org/wiki/Bird_Internet_routing_daemon

    Faut pas gonfler Gérard Lambert quand il répare sa mobylette.

    • [^] # Re: Syntaxe IOS

      Posté par  . Évalué à 1.

      Merci ! 🤩

      "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # containerlab

    Posté par  . Évalué à 2.

    • [^] # Re: containerlab

      Posté par  . Évalué à 1.

      Dis donc ça m'a l'air bien sexy ce truc,

      Allez une nuit blanche à planifier 😋

      "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # Merci

    Posté par  . Évalué à 1.

    Merci pour vos conseils,

    Ça me fait un peu de tests à faire, royal ! 👌

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

  • # MI-LXC

    Posté par  . Évalué à 4.

    J'avais vu un projet qui semblait bien: https://github.com/flesueur/mi-lxc

    J'ai finalement pas pu tester, mais la doc faisait vraiment envie. Tu as un réseau complet, avec des services sur certaines machines, tu peux faire du routage, ajouter des démons, etc… etc..

Suivre le flux des commentaires

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