Février 2014 Archives

samedi 15 février 2014, 09:22:44 (UTC+0100)

Dessine moi une interconnexion réseau

Le développement d'exercices sous forme de défi devient une condition importante pour attirer de nouveaux étudiants vers un domaine particulier. Les enseignements sur les systèmes et les réseaux n'échappent pas à cette condition. J'ai donc modifié la progression des travaux pratiques pour les étudiants de 2nde année d'IUT Génie Électrique, et l'introduction d'une séance Dessine moi une interconnexion réseau a été un succès relativement au vécu des années précédentes.

En premier lieu, j'ai révisé le support de travaux pratiques Configuration d'une interface réseau Ethernet en éliminant l'utilisation des outils net-tools au profit de la commande ip du paquet iproute2.

Avec l'utilisation conjointe des protocoles IPv4 & IPv6, une même interface peut avoir de nombreuses adresses. Le recours systématique à la commande ip s'impose donc. J'ai rencontré plusieurs cas où les étudiants ont ajouté manuellement une adresse IPv4 à une interface préalablement configurée via DHCP. Dans un tel cas de figure, la commande ifconfig ne fait apparaître qu'une seule adresse au lieu de deux et induit les étudiants en erreur.

Ce support est de «facture classique» et le jeu de questions proposé correspond à un scénario de lecture simple. Même si ces questions peuvent être traitées avec l'émulateur de terminal Android®, il n'y a pas d'enjeu particulier. Le support ne sert alors que de base documentaire sur les différentes options de la commande ip.

couche 3 de la modélisation réseau

En second lieu, j'ai créé le nouveau support Dessine moi une interconnexion réseau qui est bâti sur le «mode défi». Il s'agit de partir à la découverte d'une interconnexion de réseaux locaux inconnus. Les étudiants doivent identifier les réseaux communs entre les différents routeurs et aboutir à une représentation graphique des liens entre ces routeurs. Le point de départ du défi est une connexion SSH sur un routeur de cette interconnexion.

Pour faciliter le travail des étudiants, qui sont de véritables débutants, j'ai choisi d'utiliser des routes statiques de façon à ce qu'il soit possible de contacter n'importe quelle adresse d'interface depuis n'importe quel routeur. L'utilisation d'un préfixe agrégeant toutes les routes de l'interconnexion permet de diminuer le nombre des entrées dans la table de routage.

Cet exercice est une illustration de l'utilisation du guide Virtualisation système et enseignement : les routeurs sont des machines virtuelles Debian GNU/Linux et l'interconnexion est réalisée avec Open vSwitch. Le script de lancement de l'ensemble des instances est disponible sur GitHub. J'ai volontairement choisi de faire apparaître une interface distincte par lien réseau pour que l'identification des routes soit plus facile. Il aurait été plus simple du point de vue virtualisation de n'utiliser qu'une interface physique par routeur et autant de sous-interfaces que de VLAN utilisé.

Enfin, bien que le défi s'adresse avant tout à des débutants, il renferme quelques questions d'un niveau un tantinet plus élevé. Deux exemples :

  • D'après la table de routage ci-dessous, quelle est l'interface utilisée pour émettre un paquet à destination de l'adresse 172.19.129.21 ?

    Justifier le choix entre eth1 et eth3.

    $ ip route ls
    default via 192.0.2.1 dev eth0 
    172.19.128.0/22 via 172.19.131.169 dev eth3 
    172.19.129.0/26 dev eth1  proto kernel  scope link  src 172.19.129.12 
    172.19.131.0/25 dev eth2  proto kernel  scope link  src 172.19.131.13 
    172.19.131.128/25 dev eth3  proto kernel  scope link  src 172.19.131.142 
    192.0.2.0/26 dev eth0  proto kernel  scope link  src 192.0.2.11
  • Pourquoi est-il nécessaire d'appliquer la valeur 2 au paramètre de réglage de la fonction reverse path forwarding de certaines interfaces ?

    Extrait du fichier /etc/network/interfaces d'un routeur.

    auto eth2
    iface eth2 inet static
          address 172.19.131.13/25
          up echo 2 >/proc/sys/net/ipv4/conf/eth2/rp_filter

Alors !? Si vous êtes intéressé par ce défi, vous pouvez me contacter par courrier électronique à l'adresse donnée sur la page d'accueil du site inetdoc.