Le routage IP
Objectifs
Mettre en oeuvre le routage IP sur 3 réseaux reliés par deux routeurs, l'un sous Windows, l'autre sous Linux. On utilisera d'abord le routage statique, puis le routage dynamique au moyen du protocole RIP et le l'interface Quagga sous Linux.
On utilisera deux postes de travail :
Configuration
- On utilisera 3 réseaux
- réseau gauche : 192.168.1.0/24
- interréseau : 172.16.0.0/16
- réseau droite : 192.168.2.0/24
- poste de travail Windows 2000 (p2000) (192.168.1.100)
- serveur Linux (srvlinux) (192.168.1.1 et 172.16.0.1)
- serveur Windows (srvwin) (172.16.0.2 et 192.168.2.1)
- poste de travail Linux SysResCD (plinux) (192.168.2.100)
- au début, le routage n'est activé sur aucune des machines passerelles (srvlinux et srvwin)
- les passerelles par défaut ne sont pas configurées.
Schéma
Matériel nécessaire (anc. méthode)
- 2 cartes réseau sur chacune des machines faisant office de routeur
- on peut relier les machines selon la manière classique avec un hub et deux câbles droits ou plus directement avec des câbles croisés (3 en tout)
Autre solution : la virtualisation
- on peut utiliser 4 machines virtuelles (3 Linux et une Windows pour le serveur)
- les deux machines faisant office de routeur devront avoir deux cartes (!)
- pour l'installation, on utilisera des cartes configurées en mode NAT de manière à installer tous les paquetages (tcpdump, quagga, telnet, mc, …)
- pour la mise en oeuvre du TP, une fois les paquet installés on utilisera des réseaux locaux VirtualBox .
Outils
ifconfig
(Linux),netcardconfig
(Knoppix) etipconfig
(Windows) : pour configurer/vérifier la configuration IP des machinesroute
: pour afficher/modifier le contenu des tables de routagetraceroute
outracert
sous Windows : pour vérifier le chemin emprunté par les paquetstcpdump
,ethereal
, ouwireshark
: pour observer les paquets transitant par une interface- les paquet
quagga
(pour le protocole RIP sous Linux) et le serveur RIP (Windows), telnet
(pour se connecter aux serveurs zebra/quagga)- et bien sur la commande ping ….
Mode opératoire
- configuration des interfaces
- vérification de la connectivité
- paramétrage des passerelles par défaut sur les postes de travail
- activation du routage sur les passerelles
- création des routes statiques sur les passerelles
- tests avec ping et traceroute
Plan de test
Test de la configuration IP de chacune des machines
- taper
ifconfig
sur la machine plinux - On obtient
eth0 Lien encap:Ethernet HWaddr 00:05:5D:64:51:B0 inet adr:192.168.2.100 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:169 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 RX bytes:0 (0.0 b) TX bytes:26036 (25.4 Kb)
- Vérifier la table de routage sur la machine plinux avec la commande route
Table de routage IP du noyau
Destination | Passerelle | Genmask | Indic | Metric | Ref | Use | Iface |
---|---|---|---|---|---|---|---|
192.168.2.0 | + | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
127.0.0.0 | + | 255.0.0.0 | U | 0 | 0 | 0 | lo |
Test de connectivité des machines entre elles avec ping
Connectivité p2000-srvlinux
- ping p2000 > srvlinux sur l'interface réseau gauche (192.168.1.1)
- ping p2000 > srvlinux sur l'interface réseau interréseau (172.16.0.1)
Connectivité srvlinux-srvwin
- ping srvlinux > srvwin sur l'interface réseau interréseau (172.16.0.2)
- ping srvlinux > srvwin sur l'interface réseau droite (172.16.0.2)
Connectivité srvnt-plinux
- ping srvwin > plinux sur l'interface réseau interréseau (172.16.0.2)
- ping srvlinux > srvwin sur l'interface réseau droite (172.16.0.2)
Parametrage des passerelles par défaut sur les clients
Sur la machine p2000
- indiquer la passerelle par défaut puis relancer l'interface
- vérifier les routes avec la commande
route print
Sur la machine plinux
- taper route add default gw 192.168.2.1
- vérifier les routes avec la commande
route
Activation du routage sur les passerelles
Sur la machine srvwin
- cliquer sur la case
Activer le routage
- redémarrer au besoin
Sur la machine srvlinux
- taper la commande suivante :
echo "1" > /proc/sys/net/ipv4/ip_forward
Création des routes statiques sur les passerelles
Sur la machine srvwin
- cliquer sur la case
Activer le routage
- redémarrer au besoin
- taper la commande suivante :
route add 192.168.1.0 mask 255.255.255.0 172.16.0.1
- vérifier la table de routage avec la commande route print
Sur la machine srvlinux
- taper la commande suivante :
route add -net 192.168.2.0/24 gw 172.16.0.2
- ou bien, si l'on souhaite utiliser la notation classique plutôt que la notation CIDR, taper :
route add -net 192.168.2.0 netmask 255.255.255.0 gw 172.16.0.2
- vérifier la table de routage avec la commande route
Tests avec ping et traceroute
Depuis la machine p2000
- taper
ping 192.168.2.100
et vérifier le fonctionnement effectif du routage - taper
tracert 192.168.2.100
et vérifier que les paquets passent effectivment par les deux passerelles
Depuis la machine plinux
- taper
ping 192.168.1.100
et vérifier le fonctionnement effectif du routage - taper
traceroute 192.168.1.100
et vérifier que les paquets passent effectivement par les deux passerelles
Routage dynamique avec RIP
Dans ce cas de figure, les routes vers les réseaux distants ne seront plus créées par nous-même mais automatiquement par les deux passerelles qui s'enverront des informations de routage grâce au protocole RIP. Il faudra auparavant supprimer les deux routes distantes sur chacune des deux passerelles
Sur la machine svrwin
- installer le service RIP et redémarrer
- la route statique ne doit plus être présente car elle n'a pas du être créée avec l'option permanente.
Sur la machine svrlinux
- installer le paquetage quagga
- voir le howto plus bas et http://openmaniak.com/fr/quagga_tutorial.php
- on peut, si l'on souhaite visualiser les paquet RIP, faire une capture de paquets avec tcdump. Taper :
tcpdump -i ethx -p 520
où ethx est l'interface qui se trouve sur l'inter-réseau et 520 le port utilisé par le protocole RIP.
- au bout de quelques temps, après l'échange des paquets RIP, on remarque que la nouvelle route apparaît dans la table de routage. On peut alors tester le routage depuis les postes p2000 et plinux ; on procédera comme auparavant avec les commandes
ping
ettraceroute
.
Mise en évidence du fonctionnement du routage dynamique
- sur srvlinux, désactiver l'interface coté réseau gauche
- sur srvwin, constater la disparition de la route menant au réseau gauche après quelque temps
Remarques
- on peut faire un essai avec un poste sur l'interréseau (adr par exemple 172.16.0.100). Le paramétrage IP de ce poste aura comme adresse de passerelle soit 172.16.0.1 soit 172.16.0.2
- on pourrait également ajouter deux routes statiques commes celles que l'on a ajouté sur chacunes des passerelles srvlinux et srvwin même si cette solution est moins cohérente et moins facile à mettre en oeuvre que la précédente.
Liens et références
- un tutoriel Quagga : http://openmaniak.com/fr/quagga.php
- les documents de Philippe Latu et P. Massol sur le site inetdoc : http://www.inetdoc.net/guides/