Académique Documents
Professionnel Documents
Culture Documents
Objectifs
Mettre en oeuvre les concepts de routage statique et quelques outils liés au routage.
Préambule
Pour répondre aux questions qui suivent, aidez-vous des commandes en annexe.
Rédigez soigneusement votre compte-rendu en indiquant les commandes utilisées et en donnant
des explications claires et précises pour montrer que vous avez compris. Mettez à jour votre dépôt
git au fur et à mesure que vous rédigez votre compte-rendu.
Ne restez pas bloqué, posez des questions à votre enseignant !
1 Routage statique
Les routeurs R1, R2 et R3 sont interconnectés selon la figure suivante.
R1
eth0 eth1
Lancez les commandes qui suivent :
a b
vstart -D R1 --eth0=a --eth1=b eth0 eth0
vstart -D R2 --eth0=a --eth1=A
R2 R3
vstart -D R3 --eth0=b --eth1=B
eth1 eth1
A B
Chaque commande lance un routeur et une console qui vous permet de configurer ce routeur.
2) Configurez et activez les interfaces des routeurs en vous basant sur l’adressage IPv4 vu en TD.
Comment vérifier que la configuration IP est correcte ?
3) Affichez la table de routage des routeurs. Pourquoi les tables de routage ne sont-elles pas
vides ? Quelle est la particularité des routes déjà présentes ? Que signifie « scope link » ?
4) Configurez les tables de routage de manière à ce que les 3 routeurs puissent envoyer des
données (ping) vers les 4 réseaux a, b, A et B.
2 Traceroute
Faites une capture de trames sur l’interface eth0 de R1 et une capture de trames sur l’interface
eth1 de R1 en exécutant les 4 commandes suivantes :
- sur R1 :
R1:~# tcpdump -Uni eth0 -w /hosthome/R1_eth0.cap &
R1:~# tcpdump -Uni eth1 -w /hosthome/R1_eth1.cap &
2 fenêtres de Wireshark s’affichent. Attention de bien mettre à gauche de votre écran la capture de
l’interface eth0 de R1, et à droite la capture de l’interface eth1 de R1.
Aidez-vous des captures de trames pour répondre aux questions qui suivent.
1) Sur R2, utilisez la commande « traceroute -I icmp -q 1 » vers le réseau B, en mettant comme
paramètre l’adresse IP associée à l’interface eth1 de R3.
7) Qui répond à ce paquet ? Par quel type de message (protocole, type, code) ? Quelle est la
signification de la réponse ?
10) Qui répond à ce paquet ? Par quel type de message (protocole, type, code) ? Quelle est la
signification de la réponse ?
11) Dans ces échanges, quels sont les messages qui permettent à traceroute de connaître l’adresse
IP des routeurs qui sont sur le chemin de la destination ?
12) Pourquoi l’adresse IP associée à l’interface eth0 de R3 n’est-elle pas renvoyée par traceroute ?
3 Tracepath
Le MTU (Maximum Transmission Unit) est la charge maximale que peut transporter une trame
ethernet sur une liaison. Toutes les interfaces ethernet connectées à la même liaison doivent avoir
le même MTU. Le MTU par défaut est généralement de 1500 octets.
1) Configurez un MTU de 1000 octets sur les interfaces connectées à la liaison ‘b’.
2) Transmettez, avec ping, une requête ICMP de 1200 octets depuis R2 vers le réseau B, avec
l’option ‘-M dont’ (voir annexe). Qu’affiche la commande ping ?
3) La requête parvient-elle à destination ? Quelle est la différence entre la requête envoyée par R2
et cette même requête après avoir été transmise par R1 vers R3 ?
4) Quelle est la différence entre la réponse renvoyée par R3 et cette même réponse après avoir été
transmise par R1 vers R2 ?
5) Transmettez, avec ping, une requête ICMP de 1200 octets depuis R2 vers le réseau B, mais, cette
fois-ci, sans l’option ‘-M dont’ (voir annexe). Qu’affiche la commande ping ?
10) Quelle est la valeur du flag « don’t fragment » des paquets IP envoyés par R2 ?
11) Quelles sont les différences dans l’entête IP des paquets envoyés successivement par R2 ?
12) Qui répond aux 2 premiers paquets ? Par quel type de message (protocole, type, code) ? Quelle
est la signification de la réponse ?
14) Qui répond au 3ème paquet ? Par quel type de message (protocole, type, code) ? Quelle est la
signification de la réponse ?
16) Qui répond au 4ème et dernier paquet ? Par quel type de message (protocole, type, code) ?
Quelle est la signification de la réponse ?
18) Comment tracepath a-t-il su que la liaison b a un MTU de 1000 (analysez pour cela le contenu
des messages ICMP renvoyés par R1) ?
19) Résumez maintenant les réponses aux questions précédentes pour expliquer le
fonctionnement de tracepath.
20) Quelles sont les similitudes entre le fonctionnement de traceroute et de tracepath tel que vous
les avez utilisés ?
21) Quelles sont les différences entre le fonctionnement de traceroute et de tracepath tel que vous
les avez utilisés ?
4 RIP
Supprimez les routes créées précédemment.
Si ce n’est pas déjà fait, lancez une capture de trames sur les 2 interfaces ethernet de R1.
Pour éviter d’être pollué par des messages ARP et IGMP, appliquez un filtre d’affichage « rip ».
1) Sur R1, activez RIP sur le réseau a. Que constatez-vous sur la capture de trames ?
2) A quelle couche du modèle OSI le protocole RIP appartient-il ? Quel protocole de couche
3) Quelle est la « command » RIP envoyée ? Quelle est la version de RIP ? Ce message est envoyés
aux autres routeurs situés sur ce réseau pour obtenir des routes de leur part. RIP n’étant pas
encore activé sur R2, ce dernier ne répond pas.
4) Toujours sur R1, activez maintenant RIP sur le réseau b. Que constatez-vous sur la capture de
trames ? A quelle fréquence sont envoyés les nouveaux messages RIP ? Ces messages se nomment
« mises à jour non sollicitées (unsollicited updates) ».
6) Sur R2 et R3, activez RIP sur les réseaux directement connectés à ces routeurs. Quel est l’intérêt
du message de requête ?
7) Quelles sont les différences entre le contenu des réponses envoyées par R1 et sa table de
routage ? Pourquoi y a-t-il des différences ?
8) Quelle est la métrique associée au réseau A dans les annonces de R2 ? Quelle est la métrique
associée au réseau A dans les annonces de R1 ? Selon vous, quelle est la métrique associée au
réseau A dans les annonces de R3 ? A quoi correspond la métrique ?
9) Affichez la table de routage de chaque routeur et vérifiez que les métriques associées aux
différentes routes correspondent à votre réponse à la question précédente. Selon vous, si on
ajoutait un lien direct entre R2 et R3, quelle serait la métrique associée au réseau A sur R3 ?
10) Simulez une panne de l’interface eth1 de R2 en la désactivant. Que remarquez-vous au sujet
des messages RIP reçus et envoyés par R1 ? Quelle est la métrique associée au réseau A désormais
inaccessible ? Pourquoi cette valeur est-elle utilisée ? Que signifie-t-elle ? Quel est le délai entre la
panne et la suppression de la route vers A dans R3 ?
11) Activez de nouveau eth1 sur R2. Désactivez cette fois-ci eth0. R2 n’envoie plus de messages
RIP vers R1. Attendez quelques minutes en scrutant les annonces de R1. Au bout de combien de
temps (timeout) R1 considère que R2 (et donc A) est inaccessible ?
12) Activez de nouveau eth0 sur R2. Créez un 4ème routeur nommé PIRATE avec une interface
eth0 connectée au réseau A. Configurez l’interface eth0 avec une adresse appartenant à A et
vérifiez que vous pouvez envoyer un ping à R2.
Créez maintenant une interface réseau fictive nommée dummy0 avec la commande ifconfig.
Associez à cette interface une adresse appartenant au réseau B.
Activez RIP. Affichez la table de routage de R2. Que constatez-vous concernant le réseau B ?
Comment remédier à ce problème ?
L2
Arrêtez les routeurs en cours de fonctionnement et lancez les commandes
eth0
qui suivent pour démarrer box, PC et R-FAI selon le schéma :
box
vstart -D box --eth0=L2 --eth1=L1 eth1
vstart -D PC --eth0=L1
L1
vstart -D R-FAI --eth0=L2
eth0
2) Définissez un réseau IPv4 public pour le réseau externe (voir schéma), configurez les interfaces.
4) Envoyez des requêtes d’echo ICMP depuis le PC vers R-FAI. Quelles routes faut-il configurer
sur la box, le PC et R-FAI pour que la communication puisse se faire entre le PC et R-FAI ?
5) Faites une capture de trames sur les interfaces eth0 et eth1 de la box en exécutant les 4
commandes suivantes :
- sur la box :
R1:~# tcpdump -Uni eth0 -w /hosthome/box_eth0.cap &
R1:~# tcpdump -Uni eth1 -w /hosthome/box_eth1.cap &
6) On souhaite maintenant rediriger vers le PC les requêtes HTTP reçues sur l’interface externe
de la box.
Utilisez netcat pour ouvrir le port TCP 8080 sur le PC.
Utilisez netfilter sur la box pour rediriger les requêtes HTTP vers le port TCP 8080 du PC.
7) Depuis R-FAI, vérifiez avec nmap que la socket est ouverte sur le PC et, avec telnet, que vous
pouvez vous y connecter via la box. (pour sortir de telnet : Ctrl+AltGr+] puis « quit »)
Changer le MTU :
ip link set dev <interface> mtu <valeur>
Décompressez le fichier que vous venez de télécharger en tapant la commande suivante (820 Mo
d’espace libre requis) :
tar -xjSf netkit.tar.bz2
Fermez votre terminal, puis rouvrez-le. Normalement les variables d’environnement sont définies.
Si la vérification échoue, faites ce qui est indiqué pour résoudre le problème (souvent il est
nécessaire d’installer certains packages).
Par exemple, sous Debian, il faut permettre l’installation de packages 32 bits en ajoutant
[arch=amd64,i386] sur chaque ligne du fichier /etc/apt/sources.list, comme dans cet exemple :
deb [arch=amd64,i386] http://debian.polytech-lille.fr/debian/ buster main non-free contrib
deb-src [arch=amd64,i386] http://debian.polytech-lille.fr/debian/ buster main non-free contrib
Ensuite il faut lancer les commandes suivantes :
dpkg --add-architecture i386
Lancez de nouveau la commande précédente pour vérifier qu’il n’y a plus d’erreur.
Vous pouvez maintenant commencer le TP.
Les machines sont allumées du lundi au vendredi de 8h à 21h environ, sauf les machines n°26 qui
sont allumées en permanence.