Redistribution De Routes : Configuration

Nous avons vu le but de la redistribution, les problèmes posés par celle-ci, puis nous avons fait un aperçu des méthodes qui existent pour redistribuer les routes.

Passons au plus intéressant, la pratique !

Nous allons implémenter les solutions vues précédemment, dans une topologie.

Nous verrons la Distribution List, la Prefix List et les Route Maps.

 

1)     Topologie

La topologie que nous allons utiliser est presque la même que dans l’article traitant de la théorie.

Topologie

Nous retrouvons 3 réseaux : un OSPF, un EIGRP, et un RIP.

Comme toujours, les IP des interfaces sont celles du réseau associé + ID du routeur.

Exemple pour R3 S0/1 : 10.0.34.3 /24

 

2)     Configuration de base

 

Voici la liste des choses à mettre en place avant de commencer :

–          IP des interfaces

–          Interfaces Loopback

 

Configurons ensuite le routage.

 

OSPF

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1

 

R1(config-router)#network 172.16.30.0 0.0.0.255 area 0
R1(config-router)#network 172.16.31.0 0.0.0.255 area 0
R1(config-router)#network 172.16.32.0 0.0.0.255 area 0
R1(config-router)#network 172.16.33.0 0.0.0.255 area 0
R1(config-router)#network 10.0.13.0 0.0.0.255 area 0
R1(config-router)#network 10.0.12.0 0.0.0.255 area 0

 

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 10.0.12.0 0.0.0.255 area 0

 

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 10.0.13.0 0.0.0.255 area 0

 

EIGRP

R2(config)#router eigrp 1
R2(config-router)#no auto-summary
R2(config-router)#network 10.0.25.0 0.0.0.255

 

R3(config)#router eigrp 1
R3(config-router)#no auto-summary
R3(config-router)#network 10.0.34.0 0.0.0.255

 

R4(config)#router eigrp 1
R4(config-router)#no auto-summary
R4(config-router)#network 10.0.34.0 0.0.0.255
R4(config-router)#network 10.0.45.0 0.0.0.255

 

R5(config)#router eigrp 1
R5(config-router)#no auto-summary
R5(config-router)#network 10.0.25.0 0.0.0.255
R5(config-router)#network 10.0.45.0 0.0.0.255

 

R4(config-router)#network 172.16.20.0 0.0.0.255
R4(config-router)#network 172.16.21.0 0.0.0.255
R4(config-router)#network 172.16.22.0 0.0.0.255
R4(config-router)#network 172.16.23.0 0.0.0.255

 

RIP

R5(config)#router rip
R5(config-router)#version 2
R5(config-router)#network 10.0.56.0

 

R6(config)#router rip
R6(config-router)#version 2
R6(config-router)#network 10.0.56.0
R6(config-router)#network 172.16.0.0

(Il faudra un peu de temps à R5 pour recevoir la routes 172.16.0.0 /16)

 

La configuration de base est prête.

Avant de passer à la redistribution, vérifier que les routes se sont bien propagées.

R3 Routing Table

 

R5 Routing Table

 

3)     Redistribution basique

Passons aux choses sérieuses !

Nous allons commencer par redistribuer les routes OSPF dans EIGRP

 

La configuration doit s’effectuer sur R2 et R3.

R2 EIGRP Conf

Pour redistribuer les routes OSPF dans EIGRP, il faut aller dans le mode EIGRP (attention à ne pas se tromper).

Il est très important de spécifier la métrique quand on redistribue des routes dans EIGRP (de même pour RIP). Sans une métrique choisie, les routes sont annoncées avec une métrique infinie.

Pour OSPF, une métrique de 20 est utilisée si rien n’est spécifié.

Pour BGP, la métrique est conservée.

 

Il faut ensuite faire de même pour R3 :

R3 EIGRP Configuration

 

Allons voir sur R4 si la redistribution a fonctionné :

R4 Routing Table

Les routes ayant le préfix « EX » sont des routes externes, c’est-à-dire les routes que nous avons importées dans EIGRP.

 

Parfait !

Faisons de même en important les routes EIGRP dans OSPF

R2 OSPF Configuration

La commande est presque la même que précédemment.

Le mot clé « Subnet » permet de ne pas résumer les routes quand elles sont redistribuées.

Le « metric-type » permet de définir si la métrique doit grandir après redistribution.

Un « Metric-type » de 1 signifie que la métrique augmente après la redistribution (à chaque fois qu’un routeur annonce cette route)

Un « Metric-type » de 2 signifie que la métrique reste la même après redistribution (tous les routeurs recevant cette route verrons une métrique de 50)

 

Ne pas oublier de faire de même sur R3 (même si ce n’est pas obligatoire).

R3 OSPF Configuration

 

Voyons le résultat sur R1 :

R1 Routing Table

Parfait, il connait les routes venant d’EIGRP !

 

Finissons par la redistribution entre RIP et EIGRP

R5 EIGRP Configuration

R5 RIP Configuration

 

Vérifions si R6 connait toutes les routes

R6 Routing Table

En effet.

Libre à vous de faire divers test pour vous assurer du bon fonctionnement de la redistribution.

 

4)     Distribution List

 

Nous venons de voir la redistribution basique.

Voyons maintenant une première technique permettant de contrôler la redistribution.

La Distribution List se base sur une ACL pour savoir si oui ou non il faut redistribuer une route.

 

Prenons un exemple : nous ne voulons pas qu’une route vers le réseau 172.16.33.0 /24 soit redistribuée.

Nous allons donc faire une ACL n’autorisant que les routes voulues (ou bien une ACL interdisant la route non voulue).

 

R2(config)#access-list 1 permit 172.16.30.0 0.0.0.255
R2(config)#access-list 1 permit 172.16.31.0 0.0.0.255
R2(config)#access-list 1 permit 172.16.32.0 0.0.0.255
R2(config)#access-list 1 permit 10.0.12.0 0.0.0.255
R2(config)#access-list 1 permit 10.0.13.0 0.0.0.255

Le Deny All qui est automatiquement placé à la fin, se chargera de refuser le reste.

 

R2(config)#router eigrp 1
R2(config-router)#distribute-list 1 out

 

N’oublions pas de faire la même chose sur R3 :

R3(config)#access-list 1 permit 172.16.30.0 0.0.0.255
R3(config)#access-list 1 permit 172.16.31.0 0.0.0.255
R3(config)#access-list 1 permit 172.16.32.0 0.0.0.255
R3(config)#access-list 1 permit 10.0.12.0 0.0.0.255
R3(config)#access-list 1 permit 10.0.13.0 0.0.0.255

 

R3(config)#router eigrp 1
R3(config-router)#distribute-list 1 out

 

Puis vérifions le résultat sur R5 :

R5 Routing Table

Plus aucune trace de la route vers 172.16.32.0 /32

Au passage les réseaux sont en /32 à cause des interfaces Loopback

La commande ip ospf network point-to-point sur les interfaces Loopback résout ce problème

 

5)     Prefix List

 

La Prefix List ressemble un peu à la distribution List. Son fonctionnement est relativement simple.

Voici un exemple :

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 10 permit 172.16.20.0/21 ge 24 le 26

Tout d’abord, il faut donner un nom à la Prefix List

Ensuite, on choisit un numéro de séquence. Celui-ci permet de créer plusieurs entrées dans une Prefix List. Elles seront parcourues du plus bas numéro de séquence au plus haut (un peu à la manière d’une ACL)

Ensuite nous choisissons Permit ou Deny

Nous choisissons ensuite le sous-réseau concerné

Les 2 dernières options sont facultatives

« ge 24 le 32 » signifie que le masque de la route redistribuée doit être au minimum de 24, et au maximum de 32

Par exemple :

172.16.20.0 /24 -> OK

172.16.20.0 /26 -> OK

172.16.20.0 /23 -> Non

 

Voici la configuration à appliquer à R2 et R3 :

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 10 permit 172.16.20.0/21 ge 24 le 26
R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 20 deny 0.0.0.0/0 le 32

La deuxième entrée permet de refuser tout le reste

R2(config)#router ospf 1
R2(config-router)#distribute-list prefix PL_EIGRP-To-OSPF out

Une fois cela appliqué à R2 et R3, allons voir sur R1 si le résultat est bon :

R1 Routing Table

Les routes vers 172.16.20.0 /21 sont toujours là

Par contre, il n’y a plus les routes vers 10.0.34.0 /24 et 10.0.45.0 /24

Ajoutons une permission pour ces routes (à faire sur R2 et R3) :

R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 15 permit 10.0.34.0/24
R2(config)#ip prefix-list PL_EIGRP-To-OSPF seq 16 permit 10.0.25.0/24

 

Si vous souhaitez tester le filtrage par masque, changer celui d’une interface Loopback de R4 :

R4(config-if)#ip address 172.16.23.1 255.255.255.224

 

Voyons le résultat :

R1 Routing Table

Pas de routes vers 172.16.23.0 /27, et les routes vers 10.0.25.0 /24 et 10.0.34.0 /24 ont réapparu !

 

6)     Route Map Basique

 

Les routes Map sont une solution plus avancées que la Distribution List ou la Prefix List.

Elles permettent de faire beaucoup plus de chose.

Nous allons étudier certaines des possibilités se rapportant à la redistribution de routes.

 

Chaque entrée d’une Route Map a un numéro de séquence.

Les entrées sont parcourues du plus bas au plus haut numéro de séquence, jusqu’à trouver une correspondance.

Il y a un Deny ALL implicite à la fin de la Route Map.

 

Voici la structure d’une Route Map :

R2(config)#route-map Name SeqNumber
R2(config-route-map)#match Condition
R2(config-route-map)#set Option

 

Voyons cela en pratique.

 

Mais avant, retirons les Prefix List et Distribution List que nous avons ajouté

R2(config)#router eigrp 1
R2(config-router)#no distribute-list 1 out
R2(config)#router ospf 1
R2(config-router)#no distribute-list prefix PL_EIGRP-To-OSPF out

 

Pareil pour R3

 

Nous allons faire une Route Map pour contrôler la redistribution EIGRP vers OSPF et une autre pour OSPF vers EIGRP.

R2(config)#route-map EIGRP-TO-OSPF 10

Nous avons créé l’entrée numéro 10 dans la Route Map EIGRP-TO-OSPF

 

R2(config-route-map)#match ip address prefix-list PL_EIGRP-To-OSPF

L’entrée numéro 10 va s’appliquer aux routes menant vers les réseaux capturés par la Prefix List PL_EIGRP-To-OSPF (nous avions créé cette Prefix List précédemment).

 

R2(config-route-map)#set metric 50

Les routes concernées par l’entrée 10 de la Route Map, seront redistribuées avec une métrique de 50.

 

R2(config-route-map)#set metric-type type-2

Une fois redistribuées, la métrique des routes n’augmentera pas

 

R2(config)#route-map EIGRP-TO-OSPF 20
R2(config-route-map)#set metric 100
R2(config-route-map)#set metric-type type-2

 

Avec cette deuxième entrée, nous permettons la redistribution de toutes les autres routes, avec une métrique de 100 et de type 2.

 

Voici comment afficher le résumé des Route Map :

R2 Route Map

Tout semble bon.

 

Il faut maintenant utiliser la Route Map.

R2(config)#router ospf 1
R2(config-router)#no redistribute eigrp 1 metric 50 subnets
2(config-router)#redistribute eigrp 1 subnets route-map EIGRP-TO-OSPF

 

Faire de même sur R3, puis allez voir sur R1 si tout est bon.

R1 Routing Table

Toutes les routes sont là.

Certaines avec une métrique de 50, d’autres avec 100.

 

Bien. Créons une Route Map pour OSPF vers EIGRP

La voici :

route-map OSPF-TO-EIGRP permit 10
match ip address 1
set metric 50 50 50 50 50
route-map OSPF-TO-EIGRP permit 20
set metric 100 100 100 100 100

 

Par contre, nous souhaitons ne pas redistribuer la route vers 172.16.33.0 /24.

Nous allons donc créer une ACL faisant référence à 172.16.33.0 /24, puis ajouter une entrée dans la Route Map.

R2(config)#access-list 2 permit 172.16.33.0 0.0.0.255
R2(config)#route-map OSPF-TO-EIGRP deny 9
R2(config-route-map)#match ip address 2

 

L’entrée No 9 refuse tout ce qui est capté par l’ACL 2.

 

Il ne reste plus qu’à appliquer la Route Map.

 

R2(config)#router EIGRP 1
R2(config-router)#no redistribute ospf 1 metric 100 100 100 100 100
R2(config-router)#redistribute ospf 1 route-map OSPF-TO-EIGRP

 

Faites de même sur R3.

 

Puis allez voir le résultat sur R4 :

R4 Routing Table

Toutes les routes sont là, sauf 172.16.33.0 /24.

C’est ce que nous voulions.

 

Libre à vous de modifier ces Routes Map afin de vous familiariser avec le concept.

 

7)     Route Map – Tag de routes

 

Dans l’article précédent, nous avons vu qu’il est possible de créer une boucle de routage en faisant de la redistribution. Les Tag de routes permettront d’empêcher cela.

Voyons d’abord un cas de boucle de routage.

Prenons un exemple :

R5 veut joindre 172.16.10.0 /24 (c’est-à-dire R6)

Dans sa table de routage, il possède une route RIP menant à ce réseau.

Jusqu’ici tout est normal.

Mais saviez-vous que R5 possède aussi une route EIGRP pour aller vers 172.16.10.0 /24 ?

Voici un extrait du résultat de la commande « R5#show ip eigrp topology »

R5 EIGRP Topology

Cette entrée correspond aux réseaux derrière R6.

Mais alors pourquoi ne voit-on pas la route EIGRP dans la table de routage de R5 ?

R5 Routing Table

Simplement car la route alternative que R5 connait, lui a été annoncé par R2 en mode redistribution EIGRP.

Cette route alternative a pour AD 170. Ce qui explique qu’elle ne soit pas visible dans la table de routage.

Et d’où vient cette route au fait ?

R3 a appris la route pour 172.16.10.0 /24 par R5 (grâce à la redistribution de RIP dans EIGRP).

R3 a ensuite redistribué cette route dans OSPF.

Jusqu’ici rien d’anormal.

Puis, R2 a pris connaissance de la route, puis l’a re-redistribué vers R5.

Au final, R2 n’aurais pas dû redistribuer des routes EIGRP dans leur zone d’origine.

 

Encore une fois, R5 préfère la route RIP à la route externe EIGRP.

Mais imaginez que nous avions mis en place de l’OSPF à la place de l’EIGRP (et inversement).

En OSPF il n’y a pas d’AD spéciale pour les routes externes.

Nous pouvons simuler cela en changeant l’AD des routes EIGRP externes.

 

R5(config)#router eigrp 1
R5(config-router)#distance eigrp 110 109

(dans le cas présent, il faut que l’AD externe soit plus faible que l’AD interne)

Et là, c’est le drame.

R5 Routing Table

Pour joindre 172.16.10.0 /24, R5 va envoyer les paquets vers R2.

Au final nous aurons une boucle de routage !

R5 Traceroute

Vous pouvez constater que les requêtes de ping ne parviennent plus à destinations.

Voici les conditions pour créer une boucle de routage :

  • Avoir une redistribution mutuelle. Ici R2 et R3 font tous les deux de la redistribution, ce qui permet aux routes d’être re-redistribuées.
  • Qu’un routeur (ici R5) possède deux routes possible : une bonne (vers R6) et une mauvaise (la route re-redistribuée)
  • Que la route re-redistribuée ai une AD plus faible que la bonne route.

 

Voyons maintenant comment éviter les boucles de routage.

Le Tag de routes permettra aux routeurs de ne pas redistribuer les routes déjà redistribuées.

Par exemple, R2 pourra reconnaitre les routes qui ont été redistribuées dans OSPF par R3.

 

Voyons cela en pratique, ce sera plus simple.

Nous allons taguer toutes les routes redistribuées.

 

R2(config)#route-map EIGRP-TO-OSPF 10
R2(config-route-map)#set tag 10
R2(config)#route-map EIGRP-TO-OSPF 20
R2(config-route-map)#set tag 20

 

R2(config)#route-map OSPF-TO-EIGRP 10
R2(config-route-map)#set tag 30
R2(config)#route-map OSPF-TO-EIGRP 20
R2(config-route-map)#set tag 40

 

Faites de même sur R3

Toutes les routes redistribuées sont maintenant taguées.

Il ne reste plus qu’à empêcher EIGRP-TO-OSPF de redistribuer les routes taguées par OSPF-TO-EIGRP (et inversement).

 

R2(config)#route-map EIGRP-TO-OSPF deny 5
R2(config-route-map)#match tag 30 40

 

R2(config)#route-map OSPF-TO-EIGRP deny 5
R2(config-route-map)#match tag 10 20

 

Faites de même sur R3.

 

Allons voir le résultat sur la table de routage de R5 :

R5 Routing Table

Plus de boucle de routage en vue !

 

Au passage, vous pouvez rétablir les paramètres d’AD EIGRP sur R5 (ils n’étaient utiles que pour créer une boucle de routage):

R5(config)#router eigrp 1
R5(config-router)#distance eigrp 90 170

 

 

Pour résumer, dans certains cas la redistribution de routes peut causer une boucle de routage.

Ici nous avons forcé la boucle, mais elle peut très bien survenir d’elle-même si l’on respecte les critères cités précédemment.

 

Le Tag de routes est une des solutions pour empêcher cela. Des Prefix List ou des Distribution List peuvent aussi suffire.

Il conviendra de s’adapter à la topologie.

 

 

8)     Modification de la distance administrative

 

Comme nous l’avons vu dans l’article précédent, la perte de la distance administrative (ou AD), peut amener à choisir une route moins bonne.

Pour constater cela, allez voir la table de routage de R2 :

R2 Routing Table

 

Pour joindre 172.16.10.0 /21, R2 va utiliser R1 comme NetHop. Alors que R5 est bien plus indiqué.

Si R2 a choisi R1, c’est à cause de la distance administrative.

Il a le choix entre :

NextHop R1, AD 110

NextHop R5, AD 170

 

La redistribution de routes a donc faussé le choix de route.

 

La solution est simple : changer les paramètres d’AD sur R2.

R2(config)#router eigrp 1
R2(config-router)#distance eigrp 90 105

 

Et le résultat :

R2 Routing Table

 

 

Tagués avec : , , ,
Publié dans Redistribution De Routes
3 commentaires pour “Redistribution De Routes : Configuration
  1. imi dit :

    Plus aucune trace de la route vers 172.16.33.0 /32 😉

    Merci de votre aide à travers ce site 🙂

  2. imi dit :

    dans la section 5) des prefix list, est il normal de trouver des routes vers les réseaux : 172.16.21.0, 172.16.22.0, 172.16.23.0 sur R1?

    • Valentin Weber dit :

      Bonjour,
      Oui, c’est justement ce que nous voulions avec cette Prefix List. Relisez bien l’explication de cette Prefix List.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.