Activité pratique
Durée2h30La couche réseau
Introduction
Vous allez effectuer plusieurs exercices au cours de cette séance. Il est conseillé de créer un répertoire (par exemple le répertoire lab-reseau-entreprise) sur votre machine, et d'y conserver les informations relatives à chacun des labs (fichiers de configurations etc.).
Deux PCs connectés l’un à l’autre
Deux PCs sont connectés directement l’un à l’autre par un câble Ethernet (appelé aussi câble RJ 45) disposant de 8 broches.

Nous allons connecter deux PC (virtuels) entre eux avec un câble Ethernet en suivant les étapes que nous décrivons ci-dessous.
Raccordement Ethernet des PCs
Créer deux PCs (pc1 et pc2) connectés au même domaine de collision A (taper les commandes suivantes) :
kathara vstart -n pc1 --eth 0:Akathara vstart -n pc2 --eth 0:AVous allez voir apparaitre deux fenêtres (l’une pour pc1 et l’autre pour pc2) qui vous seront utiles par la suite pour lancer des commandes (de configuration pour l’équipement) sur les équipements (pc1 et pc2 ici).
Remarques : Un domaine de collision (dans l’exemple A) peut être vu comme matérialisant le lien (le câble) Ethernet séparant deux équipements.
Le fait que pc2 et pc1 aient le même nom d’interface réseau (eth 0) n’a aucune signification. Le nom de l’interface Ethernet configuré pour chaque PC lui appartient. On aurait pu par exemple pour PC1 attribuer –eth 0:A et pour PC2 –eth 1:A.
Configuration IP
Configurer les deux terminaux en leur attribuant des adresses IP et masques IP sur leurs interfaces réseaux (eth0).
Dans la fenêtre de pc1, tapez la commande suivante :
ip address add 192.168.1.2/24 dev eth0 Dans la fenêtre de pc2, taper la commande suivante :
ip address add 192.168.1.3/24 dev eth0 Vérification
Afficher la configuration IP que vous venez d’établir. Taper la commande suivante pour pc1 et pc2 :
ip addrAnalyse du traffic
Analyser les messages échangés entre pc1 et pc2 au moyen du logiciel Wireshark
Pour pouvoir capturer les messages échangés, vous allez utiliser la commande tcpdump, puis, vous utiliserez wireshark pour pouvoir visualiser ces messages. Pour cela, suivez les étapes suivantes:
-
Dans le répertoire courant (à partir duquel vous avez lancé kathara), créer le répertoire ./shared/. C’est un répertoire spécial, partagé entre toutes les machines virtuelles lancées par Kathara, et la machine hôte. Nous y placerons les fichiers pc1.cap et pc2.cap contenant les messages générés avec kathara pour pc1 et pc2.
-
Sur la fenêtre relative à pc1, taper la commande suivante :
tcpdump -s 0 -i eth0 -U -w /shared/pc1.pcap & -
Sur la fenêtre relative à pc2, taper la commande suivante :
tcpdump -s 0 -i eth0 -U -w /shared/pc2.pcap &Remarquetcpdump va générer un fichier pc1.cap ou pc2.cap (dans le répertoire shared crée à cet effet) qui correspond à du binaire (et donc non visualisable). Les options de tcpdump utilisées sont les suivantes :
-s 0 : extrait 2621144 octets du message échangé avant de passer aux prochains 2621144 octets;
-i : sélectionne l'interface (ici eth0) sur laquelle la capture doit avoir lieu, ce sera souvent une carte Ethernet;
-U -w : permet de rediriger chaque paquet capturé vers un fichier dont le nom est spécifié. -
Effectuer un ping entre les deux PCs pour tester la connectivité
Pour pc1, lancez la commande suivante :
ping 192.168.1.2Pour pc2, lancez la commande suivante :
ping 192.168.1.1Remarque : la commande ping envoie périodiquement une demande ECHO_REQUEST ICMP de manière à recevoir en réponse un message ECHO RESPONSE ICMP d’un hôte ou d’une passerelle. Elle est utile pour calculer le RTT (temps aller retours, en anglais Round Trip Time) par exemple.
-
Analyser les traffic reçu par pc1 et pc2
Après avoir lancé le logiciel wireshark et ouvert le fichier pc1.pcap (en sélectionnant dans le menu fichier, l’option ouvrir puis en sélectionnant le fichier pc1.pcap), analyser le contenu des messages échangés.

-
Mettre fin au TP
kathara lclean
Créer des fichiers de configuration pour automatiser les équipements
Répertoire de travail
Créer un répertoire dédié.
Dans ce répertoire, créez les fichiers suivants :
lab.confpc1.startuppc2.startup
Remarque :
- Le fichier
lab.confpermet de déterminer la topologie du réseau (équipements, interconnexion entre les équipements). - Les fichiers
pc1.startupetpc2.startupcontiennent un ensemble de commandes exécutées au démarrage des équipements.
Contenu du fichier “lab.conf”
Le fichier lab.conf stipule que pc1 et pc2 sont reliés au domaine de collision A avec leurs interfaces respectives eth0 :
pc1[0]=A
pc2[0]=ALe contenu du fichier pc1.startup contient les commandes à exécuter sur pc1:
ip address add 192.168.1.2/24 dev eth0
tcpdump -s 0 -i eth0 -U -w /shared/pc1.pcap
ping 192.168.1.3 Contenu du fichier pc2.startup contient les commandes à exécuter sur pc2:
ip address add 192.168.1.3/24 dev eth0
tcpdump -s 0 -i eth0 -U -w /shared/pc2.pcapDémarrer le Lab
kathara lstart Utilisation en live
Vous pouvez, de même que précédemment, lancer des pings etc. en utilisant pour cela les deux fenêtres qui sont apparues.

Mettre fin au Lab
kathara lcleanAstuce
Pensez toujours à mettre fin au TP. Si ce n’est pas le cas, les containers resteront actifs et ne pourront pas se relancer.
Si cela arrive, vous pouvez tout nettoyer avec un :
kathara wipeQuelques concepts expliqués
L’adressage IPv4
Une adresse IPv4 (par exemple, 192.168.1.1) se représente sous forme de quatre entiers de 8 bits séparés par des points.
Chaque entier est compris entre 0 et 255 (correspondant à 8 bits). Ces quatre entiers forment une adresse unique sur un réseau IPv4.
- Les bits les plus à gauche identifient le réseau.
- Les bits les plus à droite identifient l’équipement.
Masque de sous-réseau
Un masque de sous-réseau IPv4 (par exemple, 255.255.255.0) se compose également de quatre octets. Il définit quelle partie de l’adresse correspond au réseau et quelle partie correspond à l’hôte.
- La partie du masque avec des bits à 1 indique la portion réseau.
- La partie avec des bits à 0 indique la portion hôte.
Exemple de masque : 255.255.255.0 (ou /24)
- En binaire :
11111111.11111111.11111111.00000000 - Les 24 premiers bits sont pour le réseau.
- Les 8 derniers bits sont pour les hôtes.
Pourquoi et comment utiliser le masque
L’adresse IPv4 et le masque de sous-réseau permettent de déterminer si deux adresses sont dans le même réseau ou non. En appliquant une opération ET logique entre une adresse IP et un masque, on isole la partie réseau.
Exemple :
- Adresse IP :
192.168.1.10=11000000.10101000.00000001.00001010 - Masque :
255.255.255.0=11111111.11111111.11111111.00000000 - Partie réseau :
192.168.1.0=11000000.10101000.00000001.00000000
Adresses IPv4 publiques et privées
Les adresses IPv4 publiques sont accessibles depuis Internet et doivent être uniques dans le monde entier. Les adresses IPv4 privées, en revanche, sont réservées pour une utilisation au sein d’un réseau local et ne sont pas routées sur Internet.
Plages d’adresses IPv4 privées (RFC 1918) :
10.0.0.0 – 10.255.255.255(16 777 216 adresses)172.16.0.0 – 172.31.255.255(1 048 576 adresses)192.168.0.0 – 192.168.255.255(65 536 adresses)
L’adresse de broadcast
Une adresse de broadcast est utilisée pour envoyer un paquet à tous les hôtes d’un réseau. Elle se distingue par le fait que tous les bits de la portion hôte de l’adresse IP sont à 1.
Exemple :
- Adresse IP :
192.168.1.10 - Masque :
255.255.255.0 - Adresse de broadcast :
192.168.1.255
En binaire :
- Adresse IP :
11000000.10101000.00000001.00001010 - Broadcast :
11000000.10101000.00000001.11111111
Les adresses de loopback :
La plage d’adresse IPv4 127.0.0.0/8 (les adresses IPv4 comprises entre 127.0.0.0 et 127.255.255.255 donc) est attribuée/réservée à la boucle locale. L’adresse la plus utilisée dans cette plage est 127.0.0.1, qui représente généralement la boucle locale par défaut. Les adresses de boucle locale permettent de tester le fonctionnement des applications réseau ou des services localement (sur l’équipement sans qu’un seul paquet ne soit envoyé par une quelconque interface réseau) : elles permettent à des applications sur un équipement de communiquer entre elles directement.
Sous-réseaux
Un sous-réseau est une partie d’un réseau plus vaste. Le sous-réseau 192.168.1.0/24 fait partie du réseau 192.168.0.0/16 qui fait lui-même partie du réseau 192.0.0.0/8 par exemple.
Quizz
La commande ip
La commande ip permet de visualiser les interfaces réseau disponibles et d’afficher des informations les concernant, telles que les adresses IP associées. Voici quelques-unes des informations disponibles :
-
Nom de l’interface : Par exemple, deux interfaces
loeteth0dans notre exemple. -
État opérationnel de l’interface : Indiqué avec des drapeaux comme
UP,DOWN,UNKNOWN,RUNNING. D’autres drapeaux commeLOOPBACKindiquent s’il s’agit d’une interface de boucle locale. Les capacités de l’interface (par exemple,MULTICAST,BROADCAST) sont également affichées. -
Adresse MAC : Pour l’interface
eth0qui supporte Ethernet, la lignelink/etheraffiche :- L’adresse MAC unicast :
0e:a4:7e:56:05:59 - L’adresse MAC broadcast :
ff:ff:ff:ff:ff:ff
- L’adresse MAC unicast :
-
MTU (Maximum Transmission Unit) : Spécifie la taille maximale des paquets pouvant être envoyés sur l’interface (1500 octets pour Ethernet).
-
Queueing Discipline : Spécifie le mécanisme de mise en file d’attente utilisé (par exemple,
qdisc pfifo_fast). L’algorithmefq_codelest souvent utilisé pour gérer dynamiquement la longueur des files d’attente tout en assurant une distribution équitable des flux. La taille maximale de la file d’attente est de 1000. -
Adresses IP (le cas échéant) : Les adresses IP attribuées sont listées sous les lignes
inet(IPv4) etinet6(IPv6), avec leurs masques CIDR. Exemple :inet 192.168.1.10/24indique une adresse IPv4 avec un masque de sous-réseau255.255.255.0.
-
Adresses de diffusion et de multidiffusion : Les adresses de diffusion (
broadcast) ou de multidiffusion (multicast) pour IPv4 sont affichées lorsqu’elles sont disponibles.
Après avoir pris connaissance des informations relatives à l’interface lo lorsque l’on utilise la commande ip, répondez au quizz qui suit
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 135690 bytes 15761772 (15.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 135690 bytes 15761772 (15.7 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0Deux ordinateurs reliés par un pont
Un pont est un équipement qui transmet les paquets entre deux ou plusieurs segments réseau.
Dans ce cas, un pont se comporte comme un commutateur de réseau virtuel, fonctionnant de manière transparente.
Les autres équipements du réseau n’ont pas besoin de connaître son existence. Des périphériques réseau physiques (par exemple, eth1) et des périphériques réseau virtuels (par exemple, tap0) peuvent y être connectés.
Objectif :
Relier un ordinateur pc1 à un serveur wserver, chacun à une interface d’un bridge (pont) :
pc1 —– A —— switch1 ——- B —— wserver
Note :
Les adresses IP de pc1 et wserver diffèrent de celles utilisées dans l’exercice précédent.
Vous pouvez repartir du lab précédent en ajoutant un équipement correspondant au pont.
-
Modifier le fichier
lab.confConfigurez les 3 équipements selon le schéma.Recommandations de configuration :
- L’interface
eth0depc1est reliée au domaine de collision A. - L’interface
eth0deswitch1est reliée au domaine de collision A. - L’interface
eth1deswitch1est reliée au domaine de collision B. - L’interface
eth0dewserverest reliée au domaine de collision B.
- L’interface
-
Modifier les fichiers
pc1.startupetwserver.startupConfigurez ces fichiers pour quepc1etwserverdisposent des mêmes adresses IP que dans l’exercice précédent. -
Configurer le pont (
switch1.startup) Configurez l’équipement switch pour jouer le rôle de pont entre les deux domaines de collision.3.1 Créer un nouveau pont (type bridge) nommé mainbridge
ip link add name mainbridge type bridge3.2 Rajouter 2 interfaces (eth0 et eth1) au pont :
ip link set dev eth0 master mainbridge ip link set dev eth1 master mainbridge3.3 Rendre opérationel le pont mainbridge (état up)
ip link set up dev mainbridge -
Pour visualiser les informations contenues dans la table de commutation du pont:
La première commande ci-dessous établit que les informations contenues dans la table doivent y rester 600 sec. La deuxième ligne permet d’afficher la table de commutation.
brctl setageing mainbridge 600 brctl showmacs mainbridgeVoila ce qui devrait s’afficher : le numéro de port, l’adresse MAC le cas échéant (notamment si les informations affichées sont relatives à l’interface locale : is local? = yes), depuis quand des trames ont transité si pertinent.
On peut voir les informations relatives aux interfaces (is local = yes) du pont lui-même.
brctl showmacs mainbridge port no mac addr is local? ageing timer 1 00:00:00:00:00:b1 yes 0.00 1 00:00:00:00:00:b1 yes 0.00 2 00:00:00:00:00:b2 yes 0.00 2 00:00:00:00:00:b2 yes 0.00 -
Effectuer un ping entre pc1 et pc2
Après ce ping, au contraire, on note (du fait qu’une trame aille de pc1 -> pc2 et qu’une réponse de pc2-> pca soit envoyée en retour) que pc1 et pc2 sont désormais visibles dans les tables du pont. Cette information disparaitra ua bout de 600s.
brctl showmacs mainbridge port no mac addr is local? ageing timer 1 00:00:00:00:00:01 no 4.21 2 00:00:00:00:00:02 no 4.21 1 00:00:00:00:00:b1 yes 0.00 1 00:00:00:00:00:b1 yes 0.00 2 00:00:00:00:00:b2 yes 0.00 2 00:00:00:00:00:b2 yes 0.00 -
Etablir une communication entre un client et un serveur UDP
Nous allons maintenant rajouter sur pc1 un code correspondant à un client UDP et sur wserver un code correspondant à un serveur UDP.
Vous allez exécuter ces deux codes sur le pc1 (client) et le wserveur.
Rappel : sous linux, vous pouvez utiliser l’éditeur nano, et n’oubliez pas de rendre les deux fichiers exécutables :
nano server.c chmod +x server.py python3 server.pyCode pour le serveur UDP:
#/usr/bin/env/python3 #Python UDP Listener, listening on localhost 1025, change address # to listen on other ip/port combos. import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('', 50000)) while True: data, address = sock.recvfrom(65538) text = data.decode('ascii') print('Connection from Client{} says {}'.format(address, text)) text = 'Your data was {} bytes long'.format(len(data)) data = text.encode('ascii') # sock.sendto(data, address)Code pour le client UDP :
#/usr/bin/env/python3 #UDP Client import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) text = 'Hello World' data = text.encode('ascii') sock.sendto(data, ('192.168.1.3', 50000)) data, address = sock.recvfrom(65538) #text = data.decode('ascii') #print('The server {} replied {}'.format(address, text)) -
Utiliser wireshark (et tcpdump) pour voir quels sont les messages qui sont échangés
-
Observer les informations dans la table de commutation du pont.
Héberger un site web
Vous allez héberger une page web (rudimentaire) sur le serveur wserver. À cet effet, vous allez utiliser le serveur web open source apache2 déjà disponible sur les machines virtuelles de Kathara.
Vous allez développer une page web index1.html qui sera hébergée sur le serveur apache2 de la machine wserver.
-
Développer une page Web
Pour écrire une page web (html), utiliser par exemple le tutoriel du w3c : https://www.w3schools.com/html/default.asp -
Sur wserver, démarrer un serveur web apache2
service apache2 start -
Héberger votre site web.
Créer le fichier /var/http/www/index1.html qui contient votre page web. -
Utiliser tcpdump (au niveau de pc1) et wireshark pour analyser les échanges http qui vont avoir lieu.
-
Sur pc1, générez une requête http pour obtenir la page web:
curl -v http://192.168.1.3/index1.htmlOn peut observer la requête HTTP GET ainsi que la réponse renvoyée par le serveur.
-
N’oubliez pas de mettre fin au TP et d’enregistrer vos données
kathara lclean
Réseau local IP
Nous considérons un réseau local IP constitué de 2 routeurs qu’il faut configurer manuellement dans un premier temps pour qu’ils connaissent les routes disponibles, puis, dans un second temps, pour qu’ils puissent acheminer les paquets par ces routes vers les utilisateurs finaux.
Le routage statique consiste à configurer manuellement les tables de routage d’un routeur en y ajoutant des routes. Cette méthode est utile dans les petits réseaux ou pour des chemins statiques spécifiques dans les grands réseaux. Cependant, l’une des limites du routage statique est que les routes ne changent pas à moins d’être modifiées manuellement.
Un routeur utilise les routes contenues dans sa table de routage pour acheminer un paquet vers une destination en suivant l’algorithme suivant :
-
L’adresse de destination se trouve-t-elle sur une interface locale (lien local, directement connecté) ? Si oui, le paquet est acheminé sur cette interface.
-
Existe-t-il une route pour la destination dans la table de routage ? Si oui, utiliser la route disponible qui correspond et est la plus spécifique (c-à-d avec le masque de réseau le plus long). Exemple : Si le paquet doit être envoyé à
192.168.1.3et que deux routes existent dans la table de routage :192.168.0.0/16192.168.1.0/24La route192.168.1.0/24sera utilisée car elle est plus spécifique.
-
Existe-t-il une route par défaut ? Si oui, envoyez le paquet au prochain saut spécifié.
-
Si aucune route n’a été trouvée : Supprimez le paquet et, éventuellement, avertissez l’expéditeur avec un message ICMP de type “Network unreachable”.
Remarque :
Une route par défaut est utilisée lorsque aucune autre route connue ne correspond à l’adresse IP de destination.
Lorsqu’un routeur joue le rôle de passerelle (gateway) vers Internet, il utilise l’adresse 0.0.0.0 pour rediriger tous les paquets inconnus.
Prise en main
Voici le réseau que nous souhaitons obtenir :
pc1 ----A ----- switch ----C ----- r1 ---- D ----- r2 ---- E ----- pc3
|
wserver --- B -----'

Pour vous aider, nous vous mettons à disposition un zip du lab qui contient les fichiers de configuration des différents équipements: routage-init.zip
Après avoir décompressé ce fichier zip dans un répertoire de travail dédié, étudiez les fichiers de configuration de l’exercice (lab.conf) et des équipements. Vous verrez qu’il manque certaines configurations pour certains pc (pc3 et Wserver). La configuration des routeurs (tables de routages) n’a pas été effectuée non plus. Nous avons dans notre scénario deux routeurs r1 et r2 que nous allons émuler. Pour cela, nous utilisons quagga et zebra qui permettant de gérer le routage IP et d’effectuer les mises à jour nécessaires dans notre cas de la table de routage du noyau, des consultations d’interfaces et une redistribution des routes entre différents protocoles de routage. Vous pouvez consulter le lien suivant pour plus d’information sur quagga : documentation.
Mise en place du Lab
Nettoyage préalable
Pour pouvoir sur utiliser zebra + quagga, nous allons devoir changer d’image (nous n’utiliserons plus l’image de base de kathara mais l’image correspondant à quagga). Il faut d’abord nettoyer l’image précédente.
Pour cela, taper la commande suivante :
kathara wipeLa commande wipe permet déteindre tous les équipements kathara qui pourraient encore s’exécuter.

Configuration de kathara
Comme nous avons besoin d’une image de machine virtuelle avec des services dédiés à un routeur (avec zebra + quagga), reconfigurer katara en tapant la commande suivante :
katara settingsLe menu suivant apparait.
. Sélectionner l’option 2

. Sélectionner l’option 8

. Sélectionner l’option 16 (exit)

Démarrage du Lab
Dans le répertoire de travail où vous avez décompressé le fichier “routage-init.zip” précédent, lancez kathara:
kathara lstartVérification des liens directs
Dans chacune des consoles, et en faisant des ping, vérifier que les machines sur un même lien peuvent communiquer entre elles. (pc1 peut communiquer avec webserver; pc1 et webserver peuvent communiquer avec r1; de même pc3 peut communiquer avec r2.)
Route par défaut des PCs
Même des machines terminales ont besoin d’une table de routage. Cette table peut être très simple, et ne comporter qu’une seule indication : le seul est unique routeur à qui confier tous les paquets qui partent, autrement dit la route par défaut.
Afficher et vérifier les routes par défaut sur les PCs.
La commande route -n (ou ip route) permet d’afficher la table de routage IP d’un système Linux.
Les champs principaux de la table de routage sont:
-
Destination : Indique le réseau de destination ou l’adresse IP correspondante. Par exemple,
0.0.0.0correspond à la route par défaut (vers tout réseau inconnu). -
Gateway : Adresse IP de la passerelle (ou gateway) utilisée pour atteindre la destination. Si la destination est
0.0.0.0, cela signifie qu’il n’y a pas de passerelle, et le trafic est envoyé directement sur le réseau local. -
Genmask : Masque de sous-réseau associé à la route.
-
Flags : Indiquent les caractéristiques de la route :
U: La route est Up (active).G: La route utilise une passerelle (gateway).H: La route cible une adresse hôte (une seule machine).D: Route créée dynamiquement par un protocole de routage.M: Route modifiée par le kernel ou un protocole.
-
Metric : Priorité de la route. Les routes avec une métrique plus basse sont privilégiées. Par exemple, une métrique de
0est prioritaire sur une métrique de10. -
Ref : Rarement utilisé aujourd’hui, il compte le nombre de références à cette route.
-
Use : Nombre de fois où la route a été utilisée pour acheminer un paquet.
-
Iface (Interface) : L’interface réseau utilisée pour atteindre la destination.
Vérification de la configuration des routeurs
Les routeurs sont dotés de logiciels pour construire leur table de routage. Voyons cela. Dans un des routeurs, taper la commande suivante pour voir les ports utilisés par zebra lui-même ou par des protocoles de routage comme rip, bgp, ospf etc.
cat /etc/services | grep zebra
zebrasrv 2600/tcp # zebra service
zebra 2601/tcp # zebra vty
ripd 2602/tcp # ripd vty (zebra)
ripngd 2603/tcp # ripngd vty (zebra)
ospfd 2604/tcp # ospfd vty (zebra)
bgpd 2605/tcp # bgpd vty (zebra)
ospf6d 2606/tcp # ospf6d vty (zebra)
isisd 2608/tcp # ISISd vty (zebra)Routage statique des routeurs
Nous allons nous cantonner dans un premier temps à effectuer une configuration statique (c’est-à-dire manuelle) des tables de routage du routeur sans utiliser de protocole de routage (comme ceux que nous avons cité ci-dessus). Dans la console de chaque routeur, taper la commande suivante :
telnet localhost zebraCette commande vous permettra de communiquer avec le deamon zebra (qui nous intéresse ici) et de pouvoir configurer le routage statiquement. Le mot de passe à utiliser (pas très sécure…) est zebra. Les deux routeurs sont maintenant opérationnels.
Configurer vos routeurs zebra (r1 et r2)
Voici les principales étapes de configuration, suivies d’un exemple typique de configuration :
-
Se placer dans un mode permettant de modifier le comportement du routeur : La commande
enablepermet de modifier le comportement d’un routeur, notamment en utilisant la commandewritepour sauvegarder les modifications effectuées.- Si cette commande n’est pas tapée, il n’est possible que de visualiser le comportement du routeur (mode lecture seule).
-
Se placer en mode de configuration : La commande
configure terminalpermet de placer le routeur en mode configuration.- Une fois activé, le prompt change en :
QuaggaC(config)#. - Pour désactiver le mode de configuration, tapez la commande
end.
- Une fois activé, le prompt change en :
-
Configurer et activer l’adressage IP pour une interface donnée :
- Entrez dans le mode de configuration de l’interface à configurer, par exemple
eth0:
interface eth0- Configurez l’adresse IP (ici 192.168.1.34/27) avec la commande :
ip address 192.168.1.34/27- Activez l’interface (si elle est désactivée) avec :
no shutdown- Rendez le changement d’état des liens détectable par Zebra et quittez la configuration de l’interface avec :
quit- Vous pouvez ensuite continuer avec une autre interface ou mettre fin à la configuration avec :
exit - Entrez dans le mode de configuration de l’interface à configurer, par exemple
Pour vous faciliter la tâche, voici un exemple typique correspondant à la configuration de l’adresse et du masque IP pour une interface donnée:
zebra# enable
zebra#configure terminal
zebra(config)#interface eth0
zebra(config-if)#ip address 192.168.1.34/27
zebra(config-if)#no shutdown
zebra(config-if)#link-detect
zebra(config-if)# quit
zebra(config)#endAttention : l'adresse 192.168.1.34 n'est pas l'adresse d'un réseau, mais l'adresse IP donnée à l'interface eth0 du routeur. Il est ainsi possible de faire un ping vers cette adresse IP.
Commandes de configuration importantes :
list: Liste toutes les commandes disponibles.configure terminal: Permet d’initier les configurations et de passer le routeur en mode de configuration.write terminal: Affiche la configuration en cours.write: Sauvegarde la configuration en mémoire.exit: Quitte le mode actuel et revient dans le mode précédent.show: Montre les informations de configuration.
Commandes liées aux interfaces :
interface ifname: Sélectionne l’interface appeléeifname(par exemple,eth0).shutdown: Désactive l’interface courante (après avoir sélectionné l’interface avecinterface ifname).no shutdown: Active l’interface courante.ip address address/prefix: Configure l’adresse IPv4 et le préfixe de sous-réseau.ip6 address address/prefix: Configure l’adresse IPv6 et le préfixe de sous-réseau.no ip address address/prefix: Supprime la configuration de l’adresse et du préfixe IPv4.no ip6 address address/prefix: Supprime la configuration de l’adresse et du préfixe IPv6.
Voici un exemple de commande pour rajouter une route vers le réseau destinataire 10.59.0.0/24 et le prochain saut (adresse IP du prochain routeur) est 10.59.1.193
r1# configure terminal
r1(config)# ip route 10.59.0.0/24 10.59.1.193
r1(config)# quit
r1# show ip routeCommandes pour afficher des routes :
show ip route: Affiche les routes IPv4.show ipv6 route: Affiche les routes IPv6.show interface: Affiche les informations sur les interfaces réseau.show ipforward: Vérifie si la fonctionnalité de “faire suivre” (forwarding) est activée. Cela est indispensable pour un routeur.
Test final
Tout est bien configuré ?
Si oui, pc1 et pc3 peuvent maintenant se pinger, de même que wserber et pc3. Vérifiez !
Si oui, bravo. Sinon, recommencez…
Bonne configuration !