Vous êtes sur la page 1sur 5

TP3 Labs, quagga et routage statique. I.

Briquel
TP3 Labs, quagga et routage statique.
irenee.briquel@univ-orleans.fr
Dcembre 2012
Netkit est un mulateur de rseau. Il permet deectuer facilement des exprimentations
rseau en dployant un ensemble de machines virtuelles munies de cartes rseau type Ethernet
relies des domaines de diusion virtuels (appels espaces de collision et fonctionnant par
dfaut comme des hubs). Le noyau utilis est celui de User Mode Linux.
1 Les commandes en l
Linterface haut niveau de Netkit permet de lancer/congurer/arrter un ensemble de ma-
chines virtuelles en bloc, travers la notion de lab. Un lab est un rpertoire constitu dun certain
nombre de chiers. Le chier lab.conf prcise la conguration gnrale du rseau. Pour chaque
machine virtuelle, un rpertoire portant son nom contient les chiers ajouter larborescence
de la machine, un chier au nom de la machine et termin par .startup contient les commandes
excuter au dmarrage de la machine. Ainsi, il est possible de dployer en une seule commande
un rseau compos de multiples machines.
Les commandes suivantes de manipulation de lab sont excuter depuis le rpertoire du
rseau en question :
linfo permet dobtenir des informations sur le rseau ;
lstart permet de lancer le rseau ;
lhalt permet darrter des machines dun rseau;
lcrash permet darrter brutalement des machines ;
lclean permet de nettoyer les chiers temporaires.
Les commandes en v sont bien entendu toujours disponibles (vlist, etc).
Parcourez rapidement les pages de manuel des commandes ci-dessus.
2 Routage simple.
Nous allons dployer un premier rseau virtuel, schmatis sur la gure 1 et dont le lab est
contenu dans le dossier labL3TP2.tgz que lon trouvera sur Celene. Il est constitu de cinq
machines, deux routeurs et de quatre domaines de collision.
Dcompressez larchive du lab dans le rpertoire /tmp. laide de la commande linfo, gnrez
un chier Postscript dcrivant la topologie du rseau.
Lancez le rseau avec la commande lstart, et vriez que pc1 et pc2 sont visibles lune depuis
lautre.
Les interfaces des machines pc* et www sont toutes dj congures, ainsi que les interfaces
eth0 de rt1 et eth1 de rt2. Vous ne disposez de terminaux que sur les machines pc*. La
conguration des routeurs se fera ncessairement distance. Pour cela, un serveur ssh tourne
sur chacun des routeurs rt1 et rt2.
L3 Info Rseaux Cours : Ali Ed-Dbali 1/5
TP3 Labs, quagga et routage statique. I. Briquel
Vriez que vous pouvez vous connecter via ssh sur rt1 depuis pc1 (ou pc2) et sur rt2 depuis
pc4.
Congurez les interfaces rseau de rt1 et rt2 conformment la gure 1 et vriez la connectivit
laide de la commande ping.
La conguration des tables de routage statiques est modiable avec la commande route.
laide de la commande route (dont vous lirez le manuel), achez la table de routage de chaque
machine. Modiez de manire cohrente la table de routage de chaque machine de sorte que nimporte
quelle machine ait accs nimporte quelle autre.
Notez que pour pc{1,2,4}, il est susant de dnir une seule route par dfaut (route add
default gw A.B.C.D) avec pour passerelle le routeur le plus proche.
Testez avec ping que le rseau est totalement fonctionnel. laide de traceroute, observez les
chemins suivis par les messages.
3 Dmons quaga.
3.1 Mise en place des routeurs
Dans la suite du TP, nous allons muler chacune de ces machines routeur par quagga, qui
implmente un routeur logiciel compatible entre autres rip et ospf. On pourra ensuite congurer
distance ces routeurs laide dun client comme telnet.
Quittez le lab (avec la commande lhalt et relancez-le ; les routeurs sont ainsi remis zro.
Les commandes que vous allez utiliser sont similaires celles des routeurs CISCO par exemple.
Limplmentation quagga est base sur quelques dmons qui sintercalent entre le systme et les
oprations rseaux. Nous allons utiliser le dmon zebra pour mettre en place une conguration
statique.
Ce qui suit est eectuer lintrieur une session ssh sur rt1 (depuis pc1 ou
pc2), puis sur rt2.
Le dmon zebra prend en paramtre le chier de conguration zebra.conf qui se trouve dans
/etc/quagga. Des exemples sont donns dans /usr/share/doc/quagga/examples. Copiez le chier
dexemple zebra.conf.sample laide de la commande suivante :
cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf
Consultez le chier zebra.conf (par exemple avec la fonction less et trouvez-y le mot de passe
pour se connecter au routeur :
hostname Routeur
password motdepassedurouteur
Vriez dans le chier /etc/quagga/daemons lactivation du dmon zebra.
Finalement lancez le dmon par la commande /etc/init.d/quagga restart
3.2 Conguration zebra : prliminaire
Dans le terminal du pc1, lorsque vous fates un telnet 10.1.0.254 2601, vous vous connec-
tez au dmon zebra du routeur rt1. A linvite Password, il faut saisir le mot de passe indiqu
dans le chier /etc/zebra/zebra.conf. Vous entrez dans le mode VIEW, linvite devient Routeur
> o le > vous rappelle que vous tes en mode VIEW :
L3 Info Rseaux Cours : Ali Ed-Dbali 2/5
TP3 Labs, quagga et routage statique. I. Briquel
Visionnez lensemble des commandes disponibles ce stade ( ? pour les listes de commandes).
Visionnez les paramtres de la commande dachage de la conguration (show ?).
Visualisez les interfaces disponibles sur votre routeur (show interface) et la table de routage
avec ip route.
3.3 Passage en modes privilgis
Tapez la commande enable :
Routeur> enable
Routeur#
Le # indique le mode privilgi.
Visionnez les commandes disponibles et passez en mode configure terminal (terminal de con-
guration) :
Routeur# configure terminal
Routeur(config)#
La commande exit vous permet de revenir au mode ENABLE, puis au mode VIEW :
Routeur(config)# exit
En mode enable, enregistrez les modications depuis running-config vers startup-config
(nhsitez pas le faire souvent).
Routeur# copy running-config startup-config
Lensemble des commandes est enregistr dans le chier /etc/quagga/zebra.conf qui sera lu
par le routeur chaque dmarrage.
En fonction de votre localisation (rt1 ou rt2), modiez le nom (passez en mode configuration
terminal) :
Routeur(config)# hostname R1(Zebra)
R1(Zebra)(config)#
3.4 Conguration des interfaces des routeurs
La conguration dune interface rseau se fait par la suite de commandes suivantes
1. Entre dans la conguration dune interface :
R1(Zebra)(config)# interface xxxx (xxxx = nom de linterface, eth0 par exemple)
R1(Zebra)(config-if)#
2. Dnition dune adresse IP dont le format gnral est A.B.C.D/M avec A.B.C.D = adresse
IP et M est la taille du masque en bits.
R1(Zebra)(config-if)# ip address A.B.C.D/M
3. Attribution dun commentaire sur linterface
R1(Zebra)(config-if)\# description <commentaire>
L3 Info Rseaux Cours : Ali Ed-Dbali 3/5
TP3 Labs, quagga et routage statique. I. Briquel
Congurez les interfaces du routeur rt1 disposition en fonction du plan dadressage prsent.
Enregistrez la conguration. Revenez au mode ENABLE et visionnez la table de routage. Toutes
les adresses rseau correspondant vos interfaces apparaissent en tant que connected. Ce qui
est normal, les rseaux immdiatement connects au routeur font automatiquement partie de sa
table de routage.
Faites de mme pour le routeur rt2, en y accdant via le poste pc4.
3.5 Routage statique
Il reste renseigner chaque routeur et lui indiquer le moyen datteindre tel ou tel rseau.
Ajout des routes statiques manquantes chez rt1 et rt2.
La syntaxe gnrale de la commande est :
ip route A.B.C.D/M W.X.Y.Z
La premire adresse suivie du masque correspond ladresse du rseau de destination. La
deuxime adresse correspond ladresse du routeur voisin situ sur la route.
Allez en mode conguration de terminal et saisissez les routes statiques manquantes pour chaque
routeur. Revenez en mode ENABLE et enregistrez la conguration.
Dans chaque machine pc*, ajoutez les routes manquantes. Vriez que le rseau est oprationnel.
Un serveur HTTP tourne sur la machine www. Vriez que vous arrivez lire sa page daccueil
laide dun navigateur en mode texte (links ou lynx).
3.6 Bonus : usurpation didentit
La table ARP peut tre construite linitiative dune machine quelconque du sous-rseau et
non dune communication par lenvoi dun ARP reply. On peut utiliser pour cela la commande
arpspoof -i <iface> -t <target> <dest> o <iface> est linterface rseau dont on veut uti-
liser ladresse MAC, <target> est ladresse IP de la machine dont on veut modier la table ARP
et <dest> ladresse IP de la machine pour laquelle on veut se faire passer. La commande forcera
dans la table ARP de <target> la correspondance entre ladresse IP <dest> et ladresse MAC
de <iface>.
1. Testez cette construction de la table ARP en vidant la table de la machine pc1 et en
demandant une machine pc2 de lui adresser cet ARP reply.
2. Comment peut-on utiliser cette construction dune table ARP pour capturer toutes les
communications vers lextrieur de pc1 depuis pc2 ?
3. Comment la cible peut-elle dtecter ce type dusurpation ?
L3 Info Rseaux Cours : Ali Ed-Dbali 4/5
TP3 Labs, quagga et routage statique. I. Briquel
p
c
1
e
t
h
0
.
1
p
c
2
e
t
h
0
.
2
h
u
b
A
1
0
.
1
.
0
.
0
/
1
6
r
t
1
e
t
h
0
.
2
5
4
e
t
h
1
.
2
5
4
e
t
h
2
.
2
5
4
h
u
b
B
1
0
.
2
.
0
.
0
/
1
6
w
w
w
e
t
h
0
.
1
h
u
b
C
1
0
.
3
.
0
.
0
/
1
6
r
t
2
h
u
b
D
1
0
.
4
.
0
.
0
/
1
6
p
c
3
e
t
h
0
.
1
p
c
4
e
t
h
0
.
1
e
t
h
0
.
2
5
3
e
t
h
1
.
2
5
4
F
i
g
u
r
e
1

u
n
r

s
e
a
u
u
n
p
e
u
p
l
u
s
s

r
i
e
u
x
L3 Info Rseaux Cours : Ali Ed-Dbali 5/5