Mise en œuvre du routage statique sous Cisco IOS
Ce chapitre vous guidera étape par étape, de façon progressive, dans la création de vos premières routes sous Cisco IOS. Pour cela, nous allons commencer par ajouter un nouveau réseau à notre infrastructure Packet Tracer. Ceci nous amènera à effectuer la configuration d'interface réseau, mais aussi et surtout à ajouter les routes nécessaires pour que les paquets trouvent leur chemin. Enfin, nous terminerons par évoquer un point important : la boucle de routage.
Sommaire
I. Ajout de réseaux
Augmentons la taille du réseau. Vous allez insérer au-dessus du routeur un deuxième routeur de même modèle (1941) et lui attacher deux switchs et deux PC, un peu comme un "miroir" de la topologie d'en bas, ce qui vous donnera ceci :

Nommez comme moi le second routeur R2, le switch en haut à gauche SW-3 et celui en haut à droite SW-4. Configurez les appareils de manière correcte en n'omettant aucun élément d'une configuration basique.
Vous ne savez plus comment faire ? N'hésitez pas à revenir sur le premier cours : Maîtrisez Cisco IOS : les bases indispensables
Une fois ceci fait, il faut désormais choisir les 2 nouveaux réseaux. Pour ma part, je vais utiliser 10.0.0.0/24 en haut à gauche et 172.22.0.0/16 en haut à droite. Comme précédemment, j'utiliserai les dernières adresses pour les interfaces du routeur, les avant-dernières pour les interfaces Vlan des switchs et les adresses en "X.10" pour les PC.
Je ne vous donne pas ici tout de suite la solution, je vous laisse dresser les tableaux d'adressage vous-même, car c'est en s'entraînant qu'on progresse ! Mais pas de panique, ils sont disponibles dans le fichier fourni un peu plus loin.
Adressez les appareils et vérifiez que PC2 communique bien avec PC4 via un ping. À la fin, vous devriez donc avoir deux infrastructures : une en bas et une en haut.
Si vous n'y arrivez pas, voici le fichier de correction :

Lorsque tout communique au sein de chaque petite infrastructure, il sera temps de relier les deux. Mais, aucune interface n'étant disponible sur les routeurs, il va falloir en rajouter !
Sur Packet Tracer, il est possible de gérer les slots d'extension des appareils. Si vous cliquez sur le routeur R1 puis sur l'onglet Physical, vous verrez apparaître à gauche une liste à côté de la photo de l'arrière du périphérique. C'est la liste des extensions disponibles.

Nous allons insérer un module fibre, qui s'appelle ici HWIC-1GE-SFP. Pour cela, il faut éteindre le routeur, insérer le module et le redémarrer.
Note : si vous avez fait des modifications sur la configuration, pensez bien à la sauvegarder avant d’arrêter l'appareil !
Pour arrêter le routeur, il suffit d'appuyer sur son bouton d'alimentation comme vous le feriez en vrai. Ensuite, il faut glisser-déposer le module, puis le Gbic fibre nommé GLC-LH-SMD. Voici le détail de la manipulation avec cette animation :

Faites la même chose sur R2 de sorte que chaque routeur puisse disposer de son module. Une fois fait, si vous affichez les interfaces disponibles sur le routeur, vous devriez en avoir une nouvelle :
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 192.168.1.254 YES NVRAM up up
GigabitEthernet0/1 172.16.0.254 YES NVRAM up up
GigabitEthernet0/1/0 unassigned YES unset down down
Vlan1 unassigned YES NVRAM administratively down down
On remarque que l'interface GigabitEthernet0/1/0 a bien été rajoutée, mais qu'elle est down. Il va falloir la connecter et l'allumer !
Pour la connecter, utilisez le câble fibre, représenté par un trait orange sur Packet Tracer puis connectez les interfaces.
II. Adressage de la nouvelle interface
Rien de bien neuf ici, les commandes sont les mêmes que précédemment, mais avec un changement au niveau du nom de l'interface. Mais, quelle IP mettre ?
Il m'arrive parfois de voir des personnes qui, arrivées à ce stade, prennent une adresse dans un des réseaux présents, comme par exemple pour R2 la 10.0.0.1.
Essayons :
R2(config-if)#ip add 10.0.0.1 255.255.255.0
% 10.0.0.0 overlaps with GigabitEthernet0/0
Aïe ! Il y a un problème ! Pour les non-anglophones, le routeur refuse notre adresse, car elle "chevauche" celle de l'interface GigabitEthernet0/0... Et, il a tout à fait raison.
N'oubliez jamais qu'un routeur est une passerelle entre des réseaux, il est donc lui-même à la croisée des chemins et présents dans tous les réseaux, mais il ne PEUT PAS avoir deux interfaces dans le même réseau, ce n'est pas son rôle ! Alors oui, certains lecteurs ici présents vont se dire "Tu as dis que la box était un routeur et ma box a plusieurs interfaces dans le même réseau". C'est vrai, sauf que les 4 petites interfaces situées à l'arrière de votre box représentent en réalité... Un switch ! D'ailleurs, vous pouvez tout à fait en ajouter un sur Packet Tracer à un routeur existant comme nous l'avons fait avec le module fibre, il se nomme HWIC-4ESW (nous ne l'utiliserons pas ici).
Donc, on ne peut pas utiliser une adresse d'un réseau existant, donc il faut créer un nouveau réseau ! Là encore, vous prenez ce que vous voulez, pour ma part, on va imaginer qu'il s'agit d'Internet, donc je vais utiliser une plage publique : 90.185.20.0/24 avec la première adresse pour R1 et la deuxième pour R2. Je vous laisse faire l'adressage, normalement ça doit être facile pour vous à ce stade.
Une fois l'adressage fait, faites un ping depuis R1 :
R1#ping 90.185.20.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 90.185.20.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms
Mes deux routeurs communiquent bien ensemble. Maintenant, toujours sur R1, voyons voir à quoi ressemble la table de routage :
Gateway of last resort is not set
90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 90.185.20.0/24 is directly connected, GigabitEthernet0/1/0
L 90.185.20.1/32 is directly connected, GigabitEthernet0/1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/24 is directly connected, GigabitEthernet0/1
L 172.16.0.254/32 is directly connected, GigabitEthernet0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.254/32 is directly connected, GigabitEthernet0/0
La nouvelle route pour le nouveau réseau a bien été ajoutée, ce qui explique que mes deux routeurs communiquent. Essayons maintenant de faire communiquer les deux réseaux. Tout d'abord, essayons de faire un ping de PC0 vers la nouvelle interface de R1 (n'oubliez pas que le premier ping est toujours échoué) :
C:\>ping 90.185.20.1
Pinging 90.185.20.1 with 32 bytes of data:
Request timed out.
Reply from 90.185.20.1: bytes=32 time<1ms TTL=255
Reply from 90.185.20.1: bytes=32 time<1ms TTL=255
Reply from 90.185.20.1: bytes=32 time<1ms TTL=255
Ping statistics for 90.185.20.1:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Bien, cela signifie au moins que le routage fonctionne. Maintenant, toujours depuis PC0, faites un ping vers l'interface de R2 dans le nouveau réseau :
C:\>ping 90.185.20.2
Pinging 90.185.20.2 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 90.185.20.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Comment expliquer ceci ? PC0 communique bien avec R1 qui lui-même communique bien avec R2 pourtant PC0 ne communique pas avec R2.
Encore une fois, l'explication se trouve dans la table de routage. Rappelez-vous, l'IP source est inscrite dans l'entête IP, ici l'IP source est 192.168.1.10 (PC0). Lorsque vous lancez le ping, en réalité, il va bien jusqu'à R2, car sinon c'est R1 qui vous aurait répondu (comme lors du test à la fin du point A), or ici la réponse est bien "La demande a expiré", ce qui veut dire qu'aucune réponse n'a été reçue.
Voici ce qui s'est passé sur R2 :
- R2 reçoit le paquet, il regarde l'IP de destination pour prendre une décision
- Il regarde dans sa table de routage et voit qu'elle correspond à une route locale, soit lui-même ; il traite donc le paquet
- Il voit que c'est un ping, il crée donc le paquet retour, avec SON IP en source et l'IP de PC0 en destination.
- A nouveau, il consulte sa table de routage pour voir quelle route emprunter :
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/24 is directly connected, GigabitEthernet0/0
L 10.0.0.254/32 is directly connected, GigabitEthernet0/0
90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 90.185.20.0/24 is directly connected, GigabitEthernet0/1/0
L 90.185.20.2/32 is directly connected, GigabitEthernet0/1/0
172.22.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.22.0.0/16 is directly connected, GigabitEthernet0/1
L 172.22.1.254/32 is directly connected, GigabitEthernet0/1
Aucune trace d'un tel réseau ! Et comme la première ligne l'indique : "La passerelle de dernier recours n'est pas utilisée", donc pas de route par défaut. Le paquet est donc détruit, car il ne peut être acheminé.
III. Ajout des routes statiques
On va donc remédier à cela. Il faut que R1 ait connaissance des réseaux de R2 et inversement. Les routes doivent donc être écrites sur l'un et sur l'autre pour permettre la communication.
Imaginons que nous sommes R1, avec la table de routage suivante :
Gateway of last resort is not set
90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 90.185.20.0/24 is directly connected, GigabitEthernet0/1/0
L 90.185.20.1/32 is directly connected, GigabitEthernet0/1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/24 is directly connected, GigabitEthernet0/1
L 172.16.0.254/32 is directly connected, GigabitEthernet0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.254/32 is directly connected, GigabitEthernet0/0
Nous savons que les réseaux de R2 sont 10.0.0.0/24 et 172.22.0.0/16, ce qui est la réponse à la question "Où je vais". Maintenant, la question "À qui je m'adresse". Là encore, attention aux pièges. On est R1, pour aller vers le réseau 10.0.0.0/24, on doit s'adresser à R2, mais seulement à l'adresse de R2 que l'on connaît !
Donc, la seule adresse de R2 connue de R1 est 90.185.20.2, voici donc notre réponse. Maintenant la question "Par où je sors" ? L'interface qui relie R1 à R2 est GigabitEthernet 0/1/0. Ce qui nous donne les informations suivantes :
| Où je vais ? | À qui je m'adresse ? | Par où je sors ? |
| 10.0.0.0/24 | 90.185.20.2 | GigabitEthernet0/1/0 |
| 172.22.0.0/16 | 90.185.20.2 | GigabitEthernet0/1/0 |
Sur IOS, une route s'écrit littéralement en répondant aux questions. Il est possible de déterminer soit l'adresse du prochain routeur, soit l'interface de sortie. Il est même possible de donner les deux, on parle à ce moment-là d'une route pleinement spécifiée (cette fonctionnalité n'est toutefois pas présente sur Packet tracer). Je vous propose donc d'essayer les deux, une méthode par route. Commençons par la première route, en mode de configuration de terminal :
R1(config)#ip route 10.0.0.0 255.255.255.0 90.185.20.2
J'ai bien indiqué où je vais et à qui je m'adresse. Affichez la table de routage :
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
S 10.0.0.0/24 [1/0] via 90.185.20.2
90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 90.185.20.0/24 is directly connected, GigabitEthernet0/1/0
L 90.185.20.1/32 is directly connected, GigabitEthernet0/1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/24 is directly connected, GigabitEthernet0/1
L 172.16.0.254/32 is directly connected, GigabitEthernet0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.254/32 is directly connected, GigabitEthernet0/0
La route a bien été ajoutée avec un "S" en début de ligne et spécifie bien que ce réseau est atteignable "via" R2.
Maintenant, la deuxième route, mais en spécifiant l'interface de sortie cette fois-ci et non le prochain saut :
R1(config)#ip route 172.22.0.0 255.255.0.0 GigabitEthernet 0/1/0
%Default route without gateway, if not a point-to-point interface, may impact performance
Le message renvoyé par le routeur est très intéressant. Les débutants pensent toujours qu'il s'agit d'une erreur et que la route n'a pas été prise en compte, mais il n'en est rien, c'est un message d'avertissement. Pour ceux qui ne parlent pas anglais (je vous conseille de vous y mettre !) : "La route par défaut sans passerelle, s'il ne s'agit pas d'une interface point à point, peut avoir un impact sur les performances."
Je vous avoue que la formulation laisse un peu à désirer. Il ne s'agit pas d'une route par défaut, mais le message nous concerne quand même, je vais donc tenter de le reformuler : "Une route configurée sans adresse et uniquement avec une interface de sortie, si la connexion n'est pas en point à point, peut avoir un impact sur les performances". Mieux, non ?
En effet, ici, nous sommes bien en point à point (R1 et directement relié à R2, sans rien d'autre), donc le paquet ne peut aller qu'à un seul endroit. Néanmoins, ce n'est pas toujours le cas. Il peut y avoir des occasions ou les routeurs sont connectés à des switchs, on parle alors de réseau multi-accès. Ça ressemble à ceci :

Imaginez si vous indiquez une interface de sortie. Le paquet va sortir par l'interface indiquée, mais après, où va-t-il ? Car, à aucun moment une IP est donnée ici, hors le paquet en a besoin !
L'explication se trouve dans la manière dont la route est incluse dans la table. Réaffichez la table de routage de R1 :
10.0.0.0/24 is subnetted, 1 subnets
S 10.0.0.0/24 [1/0] via 90.185.20.2
90.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 90.185.20.0/24 is directly connected, GigabitEthernet0/1/0
L 90.185.20.1/32 is directly connected, GigabitEthernet0/1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/24 is directly connected, GigabitEthernet0/1
L 172.16.0.254/32 is directly connected, GigabitEthernet0/1
S 172.22.0.0/16 is directly connected, GigabitEthernet0/1/0
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
L 192.168.1.254/32 is directly connected, GigabitEthernet0/0
Regardez bien la différence entre la première route que nous avons configurée avec une adresse de prochain saut et la seconde avec une interface de sortie. Oui oui, vous avez bien vu, pour la deuxième, R1 considère que le réseau est directement connecté. Il s'attend donc à trouver ce réseau immédiatement après l'interface. Encore une fois, dans notre cas, cela fonctionnera, car seul R2 peut réceptionner le paquet et lui sait où est ce réseau, mais dans le cas du schéma un peu plus haut, cela ne fonctionnerait pas.
Revenons à notre infrastructure. Maintenant que les premières routes sur R1 sont renseignées, essayons d'utiliser le PC2 pour faire des tests (pour rappel, c'est celui en haut à gauche).
Dans un premier temps, envoyons un ping vers l'interface "Internet" de R1 :
C:\>ping 90.185.20.1
Pinging 90.185.20.1 with 32 bytes of data:
Request timed out.
Reply from 90.185.20.1: bytes=32 time<1ms TTL=254
Reply from 90.185.20.1: bytes=32 time<1ms TTL=254
Reply from 90.185.20.1: bytes=32 time<1ms TTL=254
Ping statistics for 90.185.20.1:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Bonne nouvelle ! Nos réseaux ont l'air de communiquer. Essayons avec l'interface G0/0 de R1 :
C:\>ping 192.168.1.254
Pinging 192.168.1.254 with 32 bytes of data:
Reply from 10.0.0.254: Destination host unreachable.
Reply from 10.0.0.254: Destination host unreachable.
Request timed out.
Reply from 10.0.0.254: Destination host unreachable.
Ping statistics for 192.168.1.254:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Enfin, ils ne communiquent pas tout à fait, car il nous reste à faire les routes sur R2 ! Comme il s'agit de vous entraîner, je vous laisse les faire, reprenez le modèle des routes faites sur R1.
Si vous avez réussi, bravo ! vous savez désormais configurer des routes statiques !
Le fichier de correction est disponible ici :

IV. La boucle de routage
J'aimerais faire un petit point sur la route par défaut. Celle-ci est indispensable, en effet, mais mal configurée, elle peut s'avérer dangereuse pour la stabilité du réseau. Si vous reprenez notre infrastructure sur Packet Tracer, vous vous rendrez compte que finalement, l'interface G0/1/0 de chaque routeur est la seule porte de sortie vers les autres réseaux. Il est donc courant, dans ce cas de figure et s'il y avait réellement Internet au milieu, de ne mettre qu'une route par défaut.
Je vous propose un petit exercice, reprenez le fichier PKT de base, il contient l'ensemble des adresses, mais pas les routes. Rajoutez les interfaces fibre et remettez les adresses IP que nous avons indiqué plus haut, mais ne configurez aucune route.
Nous allons mettre uniquement des routes par défaut, soit sur R1 :
R1(config)#ip route 0.0.0.0 0.0.0.0 90.185.20.2
Et, sur R2 :
R2(config)#ip route 0.0.0.0 0.0.0.0 90.185.20.1
Maintenant, faites un ping entre PC0 et PC3 pour vérifier que cela fonctionne :
C:\>ping 172.22.0.10
Pinging 172.22.0.10 with 32 bytes of data:
Reply from 172.22.0.10: bytes=32 time<1ms TTL=126
Reply from 172.22.0.10: bytes=32 time<1ms TTL=126
Reply from 172.22.0.10: bytes=32 time<1ms TTL=126
Reply from 172.22.0.10: bytes=32 time<1ms TTL=126
Ping statistics for 172.22.0.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
On voit que le routage fonctionne parfaitement, c'est normal ! Chaque routeur, dès qu'il voit une adresse de destination qui n'est PAS un de ses réseaux, l'envoie à l'autre routeur.
Maintenant, imaginons qu'un nouveau réseau soit ajouté, par exemple 192.168.2.0/24 et que le routage soit laissé tel quel. Toujours depuis PC0, si vous faites un ping vers le PC imaginaire en 192.168.2.10, celui-ci échouera, mais pas parce que le réseau en question n'existe pas (du moins, pas en premier lieu). Packet Tracer ne permet pas de simuler certaines choses, notamment les fins de vie TTL. Rappelez-vous, le TTL est le compteur qui diminue à chaque traversée de routeur pour éviter que les paquets tournent en boucle sur le net.
Oui, ici, c'est bien ce qui se passe. Comme je vous l'ai dit, chaque routeur renvoie à l'autre tout paquet dont l'adresse de destination n'est pas un de ces réseaux, donc ils se renvoient le paquet ! Cela peut se voir avec l'onglet simulation si vous limitez le filtre à ICMP (si vous ne savez plus comment faire, c'est ici). Lorsque vous lancez le ping, voici ce qu'il se passe :

C'est pourquoi, en l'absence d'Internet, il vaut mieux être spécifique sur les routes. Si la route par défaut est indiquée, alors il faudra toujours faire attention lors de changements dans l'infrastructure à vérifier que celle-ci ne viendra pas perturber le routage...
Envie d'aller plus loin ? Rendez-vous dans la suite de ce cours pour découvrir le routage avancé !
