jeudi 12 mars 2015

Configuration Des Différents Types De Zones OSPF

Après avoir vu la théorie des zones OSPF, voyons la pratique.
Nous allons voir comment configurer les différentes zones détaillées dans l’article précédent.
Nous ne reviendrons que très peu sur la théorie. Il est donc important de maitriser les bases.
 1)     La topologie
 Voici la topologie qui sera utilisée dans cet article. Il s’agit de la même que dans l’article précédent.

1)     Configuration Basique

 Avant de passer à la configuration des zones, mettons en place la configuration basique.
Premièrement, appliquez les IP indiquées sur les interfaces associées.
Une fois cela fait, il faut configurer le protocole OSPF.
Voici la procédure :
 R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 10.0.12.1 0.0.0.0 area 0
R1(config-router)#network 10.0.13.1 0.0.0.0 area 0

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 10.0.12.2 0.0.0.0 area 0
R2(config-router)#network 10.0.23.2 0.0.0.0 area 0
R2(config-router)#network 10.40.1.2 0.0.0.0 area 40
R2(config-router)#network 10.50.1.2 0.0.0.0 area 50

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 10.0.13.3 0.0.0.0 area 0
R3(config-router)#network 10.0.23.3 0.0.0.0 area 0
R3(config-router)#network 10.60.1.3 0.0.0.0 area 60

R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
R4(config-router)#network 10.40.1.4 0.0.0.0 area 40
R5(config)#router ospf 1
R5(config-router)#router-id 5.5.5.5
R5(config-router)#network 10.50.1.5 0.0.0.0 area 50

R6(config)#router ospf 1
R6(config-router)#router-id 6.6.6.6
R6(config-router)#network 10.60.1.6 0.0.0.0 area 60
R6(config-router)#network 10.70.1.6 0.0.0.0 area 70

R7(config)#router ospf 1
R7(config-router)#router-id 7.7.7.7
R7(config-router)#network 10.70.1.7 0.0.0.0 area 70
 Configurons R1 comme un ASBR :
 R1(config)#ip route 172.16.0.0 255.255.255.0 Null0
R1(config)#ip route 172.16.1.0 255.255.255.0 Null0
R1(config)#ip route 172.16.2.0 255.255.255.0 Null0
R1(config)#ip route 172.16.3.0 255.255.255.0 Null0

R1(config)#router ospf 1
R1(config-router)#redistribute static subnets metric-type 1 metric 200

Vérifions que les routes externes sont bien redistribuées et que les routes des zones voisines sont bien accessibles :
Bien, la configuration de base est faite.
Les relations OSPF sont en place et toutes les zones sont en mode standard.
Actuellement, les LSA de types 3, 4 et 5 peuvent transiter librement entre les zones.
Il va donc falloir mettre en place les zones vues dans l’article précédent.
Autre chose que nous allons devoir traiter : la zone 70.
Si vous avez été attentifs, vous aurez surement remarqué que la zone 70 n’est pas directement reliée à la zone 0.
Cela est contraire aux principes des zones.
Ce type de topologie ne doit pas être mis en place dans une bonne architecture.
 Mais si pour une bonne raison vous devez mettre en place ce type de topologie (une zone reliée à la zone 0 par une autre zone), il faudra utiliser un « Virtual Link ».
Sans cela, la zone 70 sera isolée du reste.
 Voyons cela, avant de passer aux différents types de zone.

 3)     Virtual Link

Comme dit précédemment, le Virtual Link permet de relier la zone 70 à la zone 0 et ce de manière virtuelle.
 Pour l’instant, le routeur R7 est totalement isolé (malgré sa relation avec R6).
La configuration du Virtual Link est très simple :
 R3(config)#router ospf 1
R3(config-router)#area 60 virtual-link 6.6.6.6
 R6(config)#router ospf 1
R6(config-router)#area 60 virtual-link 3.3.3.3
Voyons si R7 est moins seul :
En effet, c’est comme si il était connecté à la zone 0.

4)     Stubby Area 


Attaquons le vif du sujet en commencent pas la Stubby Area.
Pour rappel, son but est d’empêcher les LSA de type 4 et 5 de rentrer (et de circuler) dans la zone.
Nous allons mettre cela en place pour la zone 40.
R4 n’aura donc plus les routes externes (172.16.0.0 /22) mais une route par défaut pointant vers R2.
 La configuration est très simple :
 R2(config)#router ospf 1
R2(config-router)#area 40 stub
 R4(config)#router ospf 1
R4(config-router)#area 40 stub
 Vérifions si les routes externes ont bien été remplacées par une route par défaut :
En effet !
 Vous pouvez aussi constater que R4 ne possède plus de LSA de type 4 et 5 dans sa base de données :
Les LSA de types 4 et 5 s’arrêtent à R2. La même commande sur ce dernier vous permettra de voir les LSA de types 4 et 5.
 Il est à noter que tous les routeurs de la zone 40 doivent être en mode Stub.

 5)     Totally Stubby Area
Comme dit dans le précédent article, le but de cette zone est d’empêcher le transit des LSA de types 3, 4 et 5.
Le routeur ne connaitra que les routes internes à sa zone. Les autres seront remplacées par une route par défaut.
Voyons cela pour la zone 50 :

R2(config)#router ospf 1
R2(config-router)#area 50 stub no-summary

R5(config)#router ospf 1
R5(config-router)#area 50 stub

Vérifions la table de routage :
Parfait, il ne reste plus que les / la route interne.
Un petit coup d’œil à la base de données pour être sûr :

6)     Not So Stubby Area 

 Pour ce type de zone, réutilisons la zone 40.
Mais avant toutes choses, retirons la configuration actuelle :
Vous pouvez aussi essayer de conserver la configuration Stub puis de configurer la redistribution. Un message d’erreur vous dira qu’il n’est pas possible de configurer la redistribution dans une zone Stub (voir article précédent).

R4(config)#router ospf 1
R4(config-router)#no area 40 stub

R2(config)#router ospf 1
R2(config-router)#no area 40 stub

Puis, ajoutons des routes statiques sur R4 :

R4(config)#ip route 172.18.0.0 255.255.255.0 Null 0
R4(config)#ip route 172.18.1.0 255.255.255.0 Null 0
R4(config)#ip route 172.18.2.0 255.255.255.0 Null 0
R4(config)#ip route 172.18.3.0 255.255.255.0 Null 0

Mettons en place la redistribution :
R4(config)#router ospf 1
R4(config-router)#redistribute static subnets metric 200 metric-type 1
 Si vous consultez les tables de routage des autres routeurs, vous verrez que les routes ont été redistribuées.
 Passons maintenant cette zone en Not So Stubby :
R2(config)#router ospf 1
R2(config-router)#area 40 nssa

R4(config)#router ospf 1
R4(config-router)#area 40 nssa

Normalement, à ce stade, R4 devrait être capable de redistribuer les routes 172.18.0.0 /22 vers le reste de la topologie.
Vérifions sur R3 :
R3 a bien connaissance des routes !
Mais est ce que R4 fonctionne toujours comme un routeur Stub (c’est-à-dire qu’il ne reçoit pas les routes redistribuée) ?
En effet, il ne possède pas les routes redistribuées (cad 172.16.0.0 /22).
On garde les avantages du mode Stub, tout en permettant la redistribution de route depuis l’intérieure de la zone.
Parfait non ?
Presque. Vous n’avez rien remarqué dans la table de routage de R4 ?
Oui, il manque bien la route par défaut !
R4 sera donc incapable de joindre les réseaux 172.16.0.0 /22.
En mode NSS, R2 n’annonce pas de route par défaut.
Pas de soucis, il y a une solution :
R2(config)#router ospf 1
R2(config-router)#area 40 nssa default-information-originate
 Retour sur R4 :
Et voilà !
R4 et en mode Stubb (ou plutôt NSS) et permet la redistribution de route.
 Si vous êtes curieux, je vous invite à aller consulter les bases de données OSPF des différents routeurs, et voir quels types de LSA elles contiennent.

 7)     Totally Stubby Not So Stubby Area 

Le principe est le même que pour le mode NSS.
Ici nous gardons les avantages du mode Totally Stubby (pas de LSA de types 3, 4 et 5), mais nous avons la possibilité de redistribuer des routes.
Il n’y a qu’une seule commande à changer.
(Bien entendu, il faut d’abord annuler la configuration précédente)
R2(config-router)#area 40 nssa no-summary
Voici à quoi ressemble alors la table de routage de R4 :

8)     Conclusion

 Et bien voilà, nous avons vu comment mettre en place une configuration OSPF avec des zones.
Nous avons d’abord vu l’utilité d’un Virtual Link.
Pour rappel, voici sa configuration :
R3(config)#router ospf 1
R3(config-router)#area 60 virtual-link 6.6.6.6

R6(config)#router ospf 1
R6(config-router)#area 60 virtual-link 3.3.3.3

Ensuite, nous avons vu comment configurer une Stubby Area :
R2(config)#router ospf 1
R2(config-router)#area 40 stub

R4(config)#router ospf 1
R4(config-router)#area 40 stub

Puis nous avons vu la Totally Stubby Area
R2(config)#router ospf 1
R2(config-router)#area 50 stub no-summary

R5(config)#router ospf 1
R5(config-router)#area 50 stub
Par après, nous avons vu la Not So Stubby Area :
R2(config)#router ospf 1
R2(config-router)#area 40 nssa
R2(config-router)#area 40 nssa default-information-originate

R4(config)#router ospf 1
R4(config-router)#area 40 nssa

Et enfin, la Totally Stubby Not So Stubby Area :
R2(config-router)#area 40 nssa no-summary

OSPF Multi-Area- Théorie

1)     La topologie

 Afin d’illustrer les exemples, nous utiliserons la topologie suivante.
Par ailleurs, nous l’utiliserons aussi dans la partie pratique.
Nous ne nous soucierons pas de la configuration appliquée aux routeurs pour le moment.

2)     Rappels sur les zones

 Avant d’étudier les différents  types de zones, revenons sur le fonctionnement d’une zone basique.
Ces notions ont été traitées dans l’article sur les notions de base d’OSPF.

Premièrement, à quoi servent-les zones ?
Simplement à alléger le travail des routeurs.
Au sein d’une même zone, tous les routeurs se connaissent.
Par exemple, R2 connait R1 et R3, ainsi que R4 et R5. Par contre, il ne connait pas R6 et R7.
Ainsi, les LSA ne peuvent pas sortir d’une zone.  Par exemple, les LSA qui circulent dans la zone 0 n’iront jamais dans la zone 40.

Néanmoins, les routes d’une zone sont tout de même annoncées dans les autres zones.
R4 aura donc connaissance des routes pour 172.17.0.0 /22

En bref, les Area Border Router ne redistribuent pas les LSA (du moins certains types de LSA) dans d’autres zones, mais par contre, ils redistribuent les routes.
Pour rappel, il est possible de résumer les routes avant de les redistribuer. Pour cela, il faut que l’adressage soit hiérarchique (pour permettre la création d’une route résumée qui englobe les routes internes).
Au passage, les Autonomous System Border Router injectent dans la zone les routes venant d’un autre protocole de routage (ici ce sera R1).

Nous avions aussi vu qu’il faut que toutes les zones soient connectées à la zone 0.
Sinon, les routes n’arrivent pas dans la dernière zone.
Prenons l’exemple des zones 60 et 70.
R3 va envoyer à R6 les routes qu’il connait.
Par contre, R6 ne va pas renvoyer ces routes à R7.

A retenir :
  • Utilité des zones : localiser les MAJ à la zone, réduire la taille de la topologie à connaitre
  • Toutes les zones doivent être connectées à la zone 0
  • L’adressage doit être hiérarchique (pour le résumé entre les zones)
  • ABR : fait le lien entre plusieurs zones
  • ASBR : injecte des routes venant d’autres protocoles de routage

3)     Les différents messages LSA

La partie suivante a déjà été partiellement traitée dans l’article sur les bases d’OSPF.

Nous allons voir qu’il existe différents types de LSA en OSPF. Il est important de les connaitre afin de bien comprendre le fonctionnement des différents types de zones.

Voici les LSA qui existent :
  • Type 1 : Décrit les interfaces d’un routeur
  • Type 2 : décrit les routeurs connectés au segment
  • Type 3 : Route de résumé envoyée dans une autre Area par l’ABR – Area Border Router
  • Type 4 : Décrit l’ASBR – Autonomous System Border Router. Généré par l’ASBR et envoyé dans les autres zones. Permet de faire connaitre le routeur ID dans d’autres zones.
  • Type 5 : Route redistribuée par l’ASBR (route externes, type RIP, EIGRP, etc…)
  • Type 7 (abordée plus en détails avec la Not So Stubby Area) : Comme le type 5, mais qui peut circuler dans une NSSA. Il est transformé en Type 5 à la sortie de la NSSA

Revenons plus en détail sur ces 6 types.

Type 1 et 2 : ils permettent aux routeurs d’une zone de se connaitre, et de construire une carte topologique de la zone.
Type 3 : il permet d’envoyer des routes d’une zone A  à une zone B. Ainsi, les routes de la zone A, seront présentes dans la zone B, et ce sans connaitre la topologie de la zone A. Il est possible de résumer les routes avant de les envoyées.
Type 5 : il permet à l’ASBR de redistribuer des routes externes dans une zone.
Type 4 : il permet de faire connaitre l’ASBR. Reprenons la topologie. R1 est l’ASBR, car il peut injecter des routes externes.
Grace au LSA de type 5, R1 va redistribuer ses routes externes. Quand R3 recevra des LSA de type 5 de la part de R1, il n’y aura pas de problème.
Il va ensuite faire suivre ces LSA dans la zone 60.
Considérons R6. Il va recevoir un LSA de type 5 venant de R1 (grâce à R3 qui l’a fait suivre).
Mais il ne va pas reconnaitre l’expéditeur du LSA (le routeur R1). En effet, le routeur ID à l’origine du LSA est celui de R1. Or R6 ne connait pas R1, car il ne fait partie de sa zone.
R6 aura donc une information dans sa base de données, lui disant que pour joindre le réseau 172.16.0.0 /22, il faut d’abord joindre le routeur R1. Mais R6 ne connait pas R1. Même si il a une route pour R1, il ne sait pas qu’elle mène au routeur ayant pour ID celui de R1.

Le LSA de type 4 permet donc de faire connaitre l’ASBR dans toutes les zones.

Pour illustrer cette explication, voyons cela en pratique.
R1, R3 et R6 ont été configurés de manière basique (IP, OSPF)
R1 redistribue les routes statiques qu’il possède.
Chaque routeur a un router-id correspondant à son Hostname.

Donc, R1 va envoyer des LSA de type 5 pour annoncer les routes externes.
Voyons cela  sur R3 (avec la commande « show ip ospf database »)   :
R3 sait comment joindre le réseau 172.16.0.0 /22. Il doit pour cela joindre le routeur ayant pour ID 1.1.1.1. Attention, il ne s’agit pas de joindre l’IP 1.1.1.1, mais bien le routeur ayant cet ID.
Il faut donc que R3 ai connaissance de R1.
Cela tombe bien, ils sont dans la même zone. Les LSA de types 1 et 2 qui circulent au sein de la zone, permettent aux routeurs de se connaitre.
R3 connait le routeur ayant pour ID 1.1.1.1. Il sait donc comment le joindre.

Comme nous l’avions dit, jusqu’ici, il n’y a pas de problème. Nul besoin de LSA de type 4.
Voyons où ceux-ci sont utiles.

Que se passe-t-il quand R3 fait suivre des LSA de type 5 venants de R1, vers R6 ?
R6 réceptionne les LSA, et remplit sa base de données.
Ici le problème est flagrant : R6 ne connait pas R1 (l’ID 1.1.1.1)


Il ne peut donc pas se créer une route pour 172.16.0.0 /22. Celle-ci devrait pointer vers R1. Or R6 ne connais pas R1, car ils ne sont pas dans la même zone (c’est le principe des zones).
Encore une fois, nous parlons bien de l’ID 1.1.1.1 (ce qui n’a rien à voir avec une éventuelle IP 1.1.1.1).
Bref, il faut que R6 sache qui est R1.
C’est ici qu’interviennent les LSA de type 4.
Avant de faire suivre les LSA de type 5, R3 va envoyer un LSA de type 4 (aussi appelé Summary ASB LS) à R6 :
R6 sait donc que pour joindre R1, il faut passer par R3.
A partir des LSA de type 4 et 5, R6 peut maintenant se construire une route pour 172.16.0.0 /22.

En bref, un LSA de type 4 est généré par un ABR, afin de faire connaitre l’ASBR dans d’autres zones.
Ensuite, les routeurs pourrons assimiler les LSA de type 5, même si l’ASBR n’est pas dans leur zone.
 Type 7 : il est un peu particulier. Nous l’étudierons plus tard avec les Not So Stubby Area.

 4)     Les différents types de zones

 La Backbone Area : toutes les zones doivent y être connectées

La Standard Area : type de zone par défaut. Les LSA de type 1 et 2 ne sortent pas de la zone (comme toujours).
Les LSA de types 3, 4 et 5 peuvent s’échanger entre les zones standards

Stubby Area : les LSA de types 4 et 5 ne sont pas envoyés dans la zone. A la place, une route par défaut est utilisée.

Par exemple, R4 (à gauche sur la topologie) ne recevra jamais les LSA de type 5 venant de R1.

Il n’aura pas conscience des routes externes.
Il connaitra bien les réseaux 10.0.12.0, 10.0.13.0, etc… En effet, les LSA de type 3 entrent bien dans les zones Stubby.
 Mais alors, comment joindre les réseaux externes ?
Avec une route par défaut !
Celle-ci est automatiquement créée sur R4, si il est en mode Stubby.
 Voici la table de routage de R4 quand il est en mode Stubby :
Nous pouvons voir qu’il possède toujours les routes importées depuis d’autres zones. Par contre, il ne possède plus de routes externes. A la place, il a une route par défaut, pointant vers R2.
 Sans le mode Stubby, nous aurions 4 routes pour le réseau 172.16.0.0 /22
 Totally Stubby Area : Empêche les LSA de type 3, 4 et 5 de rentrer.
 Les routeurs de l’Area ne connaîtront que les réseaux internes à l’Area.
Pour joindre les réseaux des autres zones, ou les réseaux externes, une route par défaut est utilisée.
 Voici la table de routage de R5, quand l’Area 50 est en Totally Stubby
Si nous rajoutons d’autres routeurs dans la zone 50, R5 connaitra leurs réseaux (grâce aux LSA de type 1 et 2).
 Not So Stubby Area : oui, le nom de ce type de zone est … spécial !
 Le but est de permettre la présence d’un ASBR dans une Stubby ou Totally Stubby Area. A noter que pour une Totally Stubby Area, nous appellerons la zone « Totally Stubby Not So Stubby Area ». Oui, vous avez bien lu …
 Pourquoi faut-il une configuration particulière ?
En Stubby ou Totally Stubby, les LSA de types 4 et 5 ne circulent pas.
L’ASBR ne pourra donc pas redistribuer de routes externes.
 En mode NSSA, l’ASBR utilisera le fameux LSA de type 7 pour remplacer les LSA de type 4 et 5
A la sortie de la NSSA, le LSA de type 7 est transformé en type 4 ou 5 selon le cas.
 Voyons un exemple :
Nous ajoutons des routes statiques sur R4
Voici le message du routeur quand nous volons configurer la redistribution (et donc en faire un ASBR) :
Il refuse de redistribuer les routes externes, car les LSA de types 4 et 5 ne pourront pas circuler dans l’Area.
La redistribution n’aura donc aucun effet.
Pour corriger le problème, la zone doit être en NSSA
Une fois cela fait (détail de la configuration dans un prochain article), les routes peuvent être redistribuées
 R2 possède maintenant des LSA de type 7 :
Comme dit précédemment, à la sortie de la zone NSSA, les LSA de types 7 sont convertis en types 4 et 5 (nous retrouvons le fonctionnement normal de la redistribution)
 Voyons si R3 reçoit bien les LSA de type 5 correspondants au réseau 172.18.0.0 /22 :
En effet, R3 n’y voit que du feu !
Notons au passage, qu’il considère R2 comme l’ASBR, et non pas R4.

 5)     Conclusion

 Nous avons vu la théorie sur les différents types de zones OSPF
Pour rappel, les voici :
  • Standard Area : zone par défaut, tous les LSA peuvent y circuler
  • Stub Area : zone qui ne laisse pas circuler les LSA de type 4 et 5 (les routes externes sont alors remplacées par une route par défaut)
  • Totally Stubby Area : zone qui ne laisse pas circuler les LSA de type 3, 4 et 5 (les routes externes et celles des autres zones sont alors remplacées par une route par défaut)
  • Not So Stubby Area : Zone Stub qui continent un ASBR. Les LSA de types 4 et 5 sont remplacées par du type 7, au sein de la zone. Ils sont convertis en types 4 et 5 à la sortie
  • Totally Stubby Not So Stubby Area : même chose qu’une NSSA mais pour Totally Stubby Area

Bien sûr, pour bien comprendre tout cela, nous avons étudié les messages LSA.
Voici un récapitulatif :
  • Type 1 : Décrit les interfaces d’un routeur
  • Type 2 : décrit les routeurs connectés au segment
  • Type 3 : Route de résumé envoyée dans une autre Area par l’ABR – Area Border Router
  • Type 4 : Décrit l’ASBR – Autonomous System Border Router. Généré par l’ASBR et envoyé dans les autres zones. Permet de faire connaitre le routeur ID dans d’autres zones.
  • Type 5 : Route redistribuée par l’ASBR (route externes, type RIP, EIGRP ; statique, etc…)
  • Type 7 : Comme le type 5, mais qui peut circuler dans une NSSA. Il est transformé en Type 5 à la sortie de la NSSA
Si la théorie est claire, vous pouvez passer à la pratique (dans l’article suivant).

Les configurations ne sont pas compliquées du tout. Le plus gros du travail était de comprendre le fonctionnement des zones.