Tom Daluzeau
← Parcours Réseau · TP
Réseau · TP · leçon 6 / 8TP 5 · OSPF14 minTerminée

OSPF en zone unique et authentification MD5

Tu sais dire quand utiliser le routage dynamique, calculer un masque générique, configurer OSPF en zone 0 sur un routeur Cisco, vérifier les voisins et les routes, puis protéger les échanges par un mot de passe haché en MD5.

Mis à jour le

À recouper avec le cours. Cette leçon a été écrite à partir du plan du chapitre, avant relecture avec les supports. En cas de doute, le cours fait foi.

Pourquoi on voit ça

Un routeur connaît seulement les réseaux branchés sur ses propres interfaces. Pour les autres, il faut lui donner des routes. Avec trois routeurs, tu peux les écrire à la main. Avec trente, non. Et si un lien tombe, il faut que quelqu’un corrige.

OSPF règle ce problème : les routeurs s’échangent eux-mêmes leurs routes. Il est demandé dans le projet de sécurisation, avec une contrainte en plus : les routeurs doivent s’authentifier par mot de passe haché.

Routage statique ou dynamique

Routage statique Routage dynamique
Qui écrit les routes Toi, une par une (ip route …) Les routeurs, grâce à un protocole
Si un lien tombe Tu corriges à la main Le protocole recalcule tout seul
Adapté à Un petit réseau qui ne bouge pas Un réseau plus grand ou qui évolue

OSPF en bref

OSPF (Open Shortest Path First) est un protocole de routage dynamique à état de liens. Trois idées :

  • Voisins. Chaque routeur envoie des messages Hello sur ses interfaces. Deux routeurs reliés qui se reconnaissent deviennent voisins.
  • État de liens. Chaque routeur décrit ses liens (quels réseaux, à quel coût) et transmet cette description à ses voisins. À la fin, tous les routeurs de la zone ont la même carte du réseau.
  • Plus court chemin. Sur cette carte, chaque routeur calcule le meilleur chemin vers chaque réseau.

L’image : au lieu de demander son chemin au voisin, chaque routeur possède le plan complet de la ville et calcule lui-même son itinéraire.

Le coût

Chaque lien a un coût, qui dépend de son débit : plus le lien est rapide, plus le coût est bas. OSPF additionne les coûts le long du chemin et garde le chemin au coût total le plus bas.

Lien Coût par défaut
FastEthernet (100 Mb/s) 1
Ethernet (10 Mb/s) 10
Série (1,544 Mb/s) 64
R1 R2 R3 FastEthernet · coût 1 FastEthernet · coût 1 lien série · coût 64 Par R2 : 1 + 1 = 2, c'est le chemin retenu En direct : 64, un routeur de moins mais un coût bien plus haut
OSPF compare les coûts additionnés, pas le nombre de routeurs traversés.

La zone 0

OSPF range les routeurs dans des zones. Au programme : la zone unique. Tous les routeurs sont dans la même zone, la zone 0 (zone dorsale, backbone).

Le masque générique

OSPF n’utilise pas le masque de sous-réseau mais son inverse, le masque générique (wildcard mask). Tu le retrouveras dans les ACL.

masque générique = 255.255.255.255 − masque de sous-réseau
255 255 0 255 255 0 255 255 0 255 224 31 Tout à 255 − masque (/27) = masque générique 0 : cet octet doit être identique 255 − 224 = 31 valeurs libres
Une soustraction par octet : seul l'octet différent de 255 demande un calcul.

La soustraction se fait octet par octet :

Préfixe Masque Masque générique
/24 255.255.255.0 0.0.0.255
/30 255.255.255.252 0.0.0.3
/27 255.255.255.224 0.0.0.31
/16 255.255.0.0 0.0.255.255

Lecture : un octet à 0 veut dire « cet octet doit être identique », un octet à 255 veut dire « n’importe quelle valeur ».

Configuration

Le montage utilisé dans toute la leçon :

Zone 0 192.168.1.0/24 LAN de R1 192.168.2.0/24 LAN de R2 R1 R2 router-id 1.1.1.1 router-id 2.2.2.2 G0/0 G0/0 S0/0/0 .1 .2 S0/0/0 10.0.0.0/30 messages Hello : R1 et R2 deviennent voisins
Trois réseaux, deux routeurs, une seule zone.

Sur R1 :

R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 192.168.1.0 0.0.0.255 area 0
R1(config-router)# network 10.0.0.0 0.0.0.3 area 0
Commande Rôle
router ospf 1 Lance OSPF. 1 est le numéro de processus : il est local au routeur et peut être différent chez le voisin.
router-id 1.1.1.1 Donne un identifiant unique au routeur. Il a la forme d’une adresse IP, mais c’est un nom.
network … area 0 Active OSPF sur les interfaces de ce réseau et annonce ce réseau, dans la zone 0.

Règle simple : une ligne network par réseau connecté que tu veux annoncer. Sur R2, tu fais la même chose avec router-id 2.2.2.2 et ses propres réseaux (192.168.2.0 et 10.0.0.0).

Vérification

D’abord, les voisins :

R1# show ip ospf neighbor
Neighbor ID     Pri   State      Dead Time   Address      Interface
2.2.2.2           0   FULL/  -   00:00:35    10.0.0.2     Serial0/0/0

Neighbor ID est le router-id du voisin. L’état FULL veut dire que les deux routeurs ont fini d’échanger leurs informations. Pas de ligne ? Les routeurs ne sont pas voisins.

Ensuite, la table de routage :

R1# show ip route
C    192.168.1.0/24 is directly connected, GigabitEthernet0/0
O    192.168.2.0/24 [110/65] via 10.0.0.2, 00:01:12, Serial0/0/0

La lettre O marque une route apprise par OSPF. Entre crochets : 110 est le nombre attribué au protocole OSPF, 65 est le coût total du chemin. via 10.0.0.2 donne le prochain routeur.

L’authentification MD5

Pourquoi

Par défaut, un routeur OSPF fait confiance à tout routeur qui lui dit Hello. Quelqu’un qui branche un routeur pirate peut donc annoncer de fausses routes et attirer le trafic vers lui, ou le faire disparaître.

Avec l’authentification, chaque message OSPF porte une preuve calculée à partir d’un mot de passe partagé. Le mot de passe ne circule jamais en clair : c’est un haché MD5 du message et du mot de passe qui est envoyé. Un routeur qui ne connaît pas le mot de passe est ignoré.

R2 connaît MonSecret Routeur pirate ne connaît pas la clé R1 recalcule le haché Hello + haché MD5 fausses routes + haché faux même haché : accepté haché différent : ignoré
Le mot de passe ne circule jamais : seul le haché voyage, et R1 le recalcule de son côté.

Comment

Deux étapes, à faire sur les deux routeurs.

  1. Sur l’interface qui mène au voisin, le numéro de clé et le mot de passe :
R1(config)# interface Serial0/0/0
R1(config-if)# ip ospf message-digest-key 1 md5 MonSecret
  1. Dans le processus OSPF, activer l’authentification MD5 pour la zone :
R1(config)# router ospf 1
R1(config-router)# area 0 authentication message-digest

Le numéro de clé (1) et le mot de passe doivent être identiques des deux côtés, majuscules comprises. Sinon, le voisin disparaît de show ip ospf neighbor et les routes O disparaissent de la table.

Contexte, pas à apprendre. MD5 est aujourd’hui considéré comme un algorithme faible. Les versions récentes de Cisco IOS proposent des hachés plus solides, mais c’est MD5 qui est au programme.

À retenir

  • Routage statique : tu écris les routes. Routage dynamique : les routeurs les apprennent et s’adaptent aux pannes.
  • OSPF est un protocole à état de liens : les voisins s’échangent la carte du réseau, et chaque routeur choisit le chemin au coût le plus bas. Zone unique = zone 0.
  • Masque générique = 255.255.255.255 − masque. /24 → 0.0.0.255, /30 → 0.0.0.3.
  • router ospf 1, router-id, puis une ligne network <réseau> <masque générique> area 0 par réseau connecté.
  • show ip ospf neighbor doit afficher FULL ; show ip route affiche les routes OSPF avec la lettre O.
  • Authentification : ip ospf message-digest-key 1 md5 … sur l’interface et area 0 authentication message-digest dans le processus, avec la même clé des deux côtés. Elle empêche un routeur inconnu d’injecter de fausses routes.

Entraînement

12 questions, dont 4 à compléter. Tu réponds, on passe à la suivante. La note arrive à la fin.

Cartes · 7

Réviser les cartes ici

Espace : retourner