Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP Routage

TP Routage Exo 3, Apprenez le fonctionnement des réseaux TCP/IP

    22 avril 2021 à 23:26:53

    Salut,

    Je me suis lancé dans l'exo 3 de routage mais j'ai un souci que je ne comprends pas et il n'y a pas de correction dans le cour. 

    Lien de l'exo : https://openclassrooms.com/fr/courses/857447-apprenez-le-fonctionnement-des-reseaux-tcp-ip/854659-le-routage#/id/r-2153910

    Pour faire un résumer, j'ai mais 8 machines virtuelles (4 Clients / 4 Routeurs)

    Sur chaque routeur j'ai fait en sorte qu'ils ne rejettent pas les requêtes qui leur sont pas destiné en remplaçant le 0 par un 1 dans le fichier hostname avec la commande : 

    echo 1 > /proc/sys/net/ipv4/ip_forward

    J'ai ensuite set une ip pour les clients et deux pour les routeurs :

    Routeur 1 : 

    ifconfig eth0 192.168.10.254/24 && ifconfig eth0:0 192.168.11.254/24

    Routeur 2 : 

    ifconfig eth0 10.0.10.254/24 && ifconfig eth0:0 192.168.10.253/24

    Routeur 3 : 

    ifconfig eth0 192.168.11.253/24 && ifconfig eth0:0 10.0.11.253/24

    Routeur 4 : 

    ifconfig eth0:0 10.0.11.254/24

    Client 1 entre le routeur 1 et 2

    ifconfig eth0 192.168.10.1/24  

    Client 2 entre le routeur 2 et rien

    ifconfig eth0 10.0.10.1/24 

    Client 3 entre le routeur 1 et 3

    ifconfig eth0 10.0.10.1/24 

    Client 4 entre le routeur 3 et 4

    ifconfig eth0 10.0.11.1/24 


    Après ça ne reste plus qu'à faire les tables de routages : 

    Routeur 1 : 

    route add -net 192.168.10.0/24 gw 192.168.10.254
    route add -net 192.168.11.0/24 gw 192.168.11.254
    route add -net 10.0.10.0/24 gw 192.168.10.253
    route add default gw 192.168.11.253

    Routeur 2 : 

    route add -net 10.0.10.0/24 gw 10.0.10.254
    route add -net 192.168.10.0/24 gw 192.168.10.253
    route add default gw 192.168.10.254

    Routeur 3 : 

    route add -net 192.168.11.0/24 gw 192.168.11.253
    route add -net 10.0.11.0/24 gw 10.0.11.253
    route add -net 192.168.10.0/24 gw 192.168.11.254
    route add -net 10.0.10.0/24 gw 192.168.11.254
    route add default gw 10.0.11.254

    Routeur 4 : 

    route add -net 10.0.11.0/24 gw 10.0.11.254
    route add -net 10.0.10.0/24 gw 10.0.11.253
    route add -net 192.168.11.0/24 gw 10.0.11.253
    route add -net 192.168.10.0/24 gw 10.0.11.253

    Client 1 entre le routeur 1 et 2

    route add -net 192.168.10.0/24 gw 192.168.10.1
    route add -net 10.0.10.0/24 gw 192.168.10.253
    route add default gw 192.168.10.254

    Client 2 entre le routeur 2 et rien

    route add -net 10.0.10.0/24 gw 10.0.11.1
    route add default 10.0.10.254

    Client 3 entre le routeur 1 et 3

    route add -net 192.168.11.0/24 gw 192.168.11.1
    route add -net 10.0.10.0/24 gw 192.168.11.254
    route add -net 192.168.10.0/24 gw 192.168.11.254
    route add default gw 192.168.11.253

    Client 4 entre le routeur 3 et 4

    route add -net 10.0.11.0/24 gw 10.0.11.1
    route add -net 10.0.10.0/24 gw 10.0.11.253
    route add -net 192.168.10.0/24 gw 10.0.11.253
    route add -net 192.168.11.0/24 gw 10.0.11.253

    Donc je vais enfin pouvoir expliquer mon problème, j'arrive à ping les machines qui on un réseau adjacent (Client 1 à Client 2 ou Client 3)

    Mais lorsque j'essais de ping des machines avec un réseau d'écart plus rien... (Client 1 à Client 4)

    Je n'arrive pas à comprendre où est mon erreur. 

    J'ai utilisé la commande tcpdump pour sniffer ça fonctionnait parfaitement sur les Clients mais je n'ai pas réussi à obtenir des résultats sur les Routeurs et ceux que j'arrive à ping ou pas. (Commande utilisé sur les Routeur : tcpdump -i eth0 icmp)

    Merci aux sauveurs qui m'aideront =) 




    -
    Edité par frithy 22 avril 2021 à 23:28:32

    • Partager sur Facebook
    • Partager sur Twitter
      23 avril 2021 à 7:58:27

      Pour qu'une passerelle sous linux  fasse  "traverser" les paquets qui lui arrivent d'un côté pour aller de l'autre conformément aux routes qui sont définies,  il faut que "ip_forward" soit activé. Par défaut, il ne l'est pas.

      Faire le test sur un réseau de 3 machines avant de se noyer dans les détails d'un réseau à 8, qui a beaucoup plus de raisons d'être configuré de travers.

      -
      Edité par michelbillaud 23 avril 2021 à 12:17:26

      • Partager sur Facebook
      • Partager sur Twitter
        23 avril 2021 à 10:29:46

        Justement j'avais déjà faire et réussi celui à 3 machines donc je voulais faire plus dure. De plus j'ai activé le ip_forward (voir première ligne de code).
        • Partager sur Facebook
        • Partager sur Twitter
          23 avril 2021 à 12:13:08

          Il est fort possible qu'il y ait un loupé. D'expérience, quand on administre, on oublie de configurer des machines, on tape de travers une commande sur trois, on configure parfaitement les machines et la config est perdue quand elles rebootent, etc :-/ On fait plein de conneries. C'est une situation parfaitement normale.

          Avant tout, s'ôter de la tête l'idée "je suis sur d'avoir tout bien fait". Si tout était bien fait, ça marcherait et on n'aurait pas besoin de chercher. Faut juste y aller tranquillement et être méthodique. Si il y a un problème, c'est pas la faute des Esprits Malfaisants, il y a une cause et on va la trouver.

          C'est bien d'avoir pensé à taper les commandes, mais il faut vérifier ensuite le résultat.

          cat /proc/sys/net/ipv4/ip_forward

          Sinon, c'est un exercice "suivez les paquets".

          Procédure

          • on lance un ping en boucle d'une machine vers une autre.
          • on se connecte sur la première passerelle qui est sur le chemin.
          • Avec un sniffer (tcpdump, whatever), on vérifie 1) qu'elle reçoit les pings  d'un côté 2) que les paquets partent de l'autre
          • si 1) échoue : problème de route en amont, ou d'adresse IP de la passerelle
          • si 1) réussi et 2 échoue, vérifier ip_forward, les adresses et les routes de la passerelle
          • et passer à la passerelle suivante.
          ---
          On peut aussi revoir ce qu'il faut mettre en place comme routes.

          Visiblement, les sous-réseaux sont hiérarchisés, et les routes par défaut sont dans le sens R2 -> R1 -> R3 -> R4 -> dehors. Dans ce sens, ça va.

          Pour le sens inverse, prévoir des routes explicites.
          Par exemple R4 a besoin de savoir que, pour aller vers 10.0.10.0/24, il faut passer par R3. Et R3, via R1. Et R1, via R2.
          C'est marqué : Il faut toujours penser qu'on ne peut joindre une machine QUE si le routage fonctionne dans les DEUX SENS.

          -
          Edité par michelbillaud 23 avril 2021 à 12:29:30

          • Partager sur Facebook
          • Partager sur Twitter
            23 avril 2021 à 12:44:22

            Bonjour,

            C'est casse-gueule de faire ce genre d'archi manuellement sur des labo virtuel (autant migrer sur des logiciels comme CiscoPacketTracer ou GNS3), ça te fait plus perdre du temps que ça va t'aider dans ton apprentissage (sachant que tu sembles déjà avoir bien compris ce qui est présenté dans ce cours).

            Quelques commandes utilises pour savoir si tout est configuré correctement (c'est surtout le résultat de ces commandes qui sont intéressantes à connaître pour t'aider):

            ip a # affiche la config des interfaces réseaux
            ip r # affiche la table de routage
            ip n # affiche la table ARP

            Pour éviter certains problèmes, tu devrais avoir des interfaces réseaux différentes sur les routeurs, connectés à des réseaux virtuels distincts (sur Virtualbox, utilise les réseaux internes avec deux interfaces pour chaque routeur). Parce que là, ça donne l'impression que tout est sur le même support de transmission, et l'utilisation d'interface virtuel sur Linux pour émuler tout ça me semble un peu tiré par les cheveux.

            Une commande tout aussi intéressante pour suivre le routage de tes paquets:

            traceroute
            # ou
            tracepath
            • Partager sur Facebook
            • Partager sur Twitter
              23 avril 2021 à 13:32:30

              Merci à vous deux je vais essayer de tous reprendre voir ou ça bloque. =)
              • Partager sur Facebook
              • Partager sur Twitter
                23 avril 2021 à 13:59:15

                on commence par remplacer ifconfig par ip, et après on se dit qu'il faudrait se mettre à IPv6, sorti en 1998 :-)
                • Partager sur Facebook
                • Partager sur Twitter

                TP Routage

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown