User Tools

Site Tools


informatique:cisco:redistribution_de_route

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:cisco:redistribution_de_route [2009/02/06 08:50] – default-information originate pteuinformatique:cisco:redistribution_de_route [2015/11/06 09:35] (current) – [Redistribution de routes] pteu
Line 6: Line 6:
 Cela se configure dans le protocole de routage grâce à la commande ''redistribute'', les paramètres classiques sont les suivants : ''**redistribute** //protocol// [//process-id//] [**metric** //metric-value//] [**route-map** //map-tag//]'' Cela se configure dans le protocole de routage grâce à la commande ''redistribute'', les paramètres classiques sont les suivants : ''**redistribute** //protocol// [//process-id//] [**metric** //metric-value//] [**route-map** //map-tag//]''
  
-Par exemple le routeur R1 utilise 2 protocoles de routage (c'est un ASBR) : eigrp 4 et ospf 3. La commande suivante permet d'injecter les réseaux (ainsi que leur masque grâce au paramètre //subnets// appris en EIGRP dans l'OSPF (il faut lire "redistribute from eigrp 4").+Par exemple le routeur R1 utilise 2 protocoles de routage (c'est un ASBR) : eigrp 4 et ospf 3. La commande suivante permet d'injecter les réseaux (ainsi que leur masque grâce au paramètre //subnets//appris en EIGRP dans l'OSPF (il faut lire "redistribute from eigrp 4"). 
 +<code bash> 
 +(config)#router ospf 3 
 +(config-router)#redistribute eigrp 4 subnets 
 +</code>
  
-  (config)#router ospf 3 +**NB** : cette commande n'injecte pas les réseaux OSPF dans EIGRP ! Pour être symétrique il faut préciser la réciproque : 
-  (config-router)#redistribute eigrp 4 subnets +<code bash> 
- +(config)#router eigrp 4 
-**NB** : cette commande n'injecte pas les réseaux OSPF dans EIGRP !+(config-router)#redistribute ospf 3 subnets 
 +</code>
  
  
 =====default-information originate===== =====default-information originate=====
  
-Cette commande à placer dans un processus de routage ne peut être utilisé que sur un ASBR (un routeur qui fait la jonction entre plusieurs zones de routage (AS)). Elle sert à diffuser une route par défaut dans ledit protocole (ce qui n'est pas le cas par défaut, même si le routeur une route par défaut).+Cette commandeà placer dans un processus de routagene peut être utilisée que sur un ASBR (un routeur qui fait la jonction entre plusieurs zones de routage (AS)). Elle sert à diffuser une route par défaut dans ledit protocole (ce qui n'est pas le cas par défaut, même si le routeur possède une route par défaut).
  
 Exemple avec un routeur qui redistribue des routes statiques dans l'OSPF : Exemple avec un routeur qui redistribue des routes statiques dans l'OSPF :
  
-  router ospf 1 +<code bash> 
-   router-id 10.0.0.1 +router ospf 1 
-   redistribute static subnets + router-id 10.0.0.1 
-   default-information originate+ redistribute static subnets 
 + default-information originate 
 +</code>
  
-Les paramètres optionnel possibles sont les suivants : +Les paramètres optionnels sont les suivants : 
-  * ''always'' permet de diffuser une route par défaut même si on n'en a pas (par défaut si le routeur n'a pas de route par défaut, il ne l'annonce pas).+  * ''always'' permet de diffuser une route par défaut même si on n'en a pas dans sa table de routage (par défaut si le routeur n'a pas de route par défaut, il ne l'annonce pas).
   * ''metric'' : pour préciser la métrique de la route par défaut annoncée   * ''metric'' : pour préciser la métrique de la route par défaut annoncée
   * ''metric-type'' : pour préciser le type de métrique (E1 ou E2, par défaut c'est E2)   * ''metric-type'' : pour préciser le type de métrique (E1 ou E2, par défaut c'est E2)
Line 49: Line 56:
 | BGP                   | égale à la métrique de l'IGP | | BGP                   | égale à la métrique de l'IGP |
  
-exemple : redistribuer des routes OSPF dans du RIP avec une métrique de 15+<note warning> 
 +Il est plus que recommandé de définir explicitement la métrique de redistribution d'un protocole dans du RIP. En effet, dans le cas d'OSPF par exemple, la métrique par défaut est 20 ; or le RIP est basé sur un nombre de saut (~métrique) limité à 15. Si on ne défini pas de métrique dans la redistribution, les routes prennent la métrique 20 (considérée comme infinie) et ne sont plus annoncées. 
 +</note>
  
-  router rip +Exemple : redistribuer des routes OSPF dans du RIP avec une métrique de 5
-   version 2 +
-   default-information originate +
-   no auto-summary +
-   redistribute ospf 3 metric 15+
  
 +<code bash>
 +router rip
 + version 2
 + default-information originate
 + no auto-summary
 + redistribute ospf 3 metric 5
 + !
 + ! ou pour tous les protocoles redistribués
 + default-metric 5
 +</code>
 ====Métrique EIGRP==== ====Métrique EIGRP====
  
Line 69: Line 84:
   * Les routes redistribuées dans l'OSPF on le statut d'external 1 ou 2 :   * Les routes redistribuées dans l'OSPF on le statut d'external 1 ou 2 :
     * **E1** précise que la métrique sera incrémenté suivant les liens pris     * **E1** précise que la métrique sera incrémenté suivant les liens pris
-    * **E2** (par défaut) précise que la métrique sera statique = quel que soit le chemin pris, la métrique restera la même +    * **E2** (métrique par défaut) précise que la métrique sera statique = quel que soit le chemin pris, la métrique restera la même (20 par défaut) 
-  * le mot clé **subnets** doit être utiliser pour redistribuer des réseaux avec leur masque (classless)+    * à coût égal, les routes de type E1 sont préférées aux E2. 
 +    Exemple de redistribution de routes statiques dans l'OSPF avec une métrique de 30 et de type E1 : 
 +<code bash> 
 +redistribute static metric 30 metric-type 1 
 +</code> 
 + 
 +  * le mot clé **subnets** __doit__ être utiliser pour redistribuer des réseaux avec leur masque (classless)
    Par exemple pour redistribuer des routes EIGRP dans l'OSPF :    Par exemple pour redistribuer des routes EIGRP dans l'OSPF :
 +<code bash>
 +router ospf 3
 + redistribute eigrp 100 subnets
 +</code>
  
-  router ospf 3 +  * OSPF permet de filtrer les routes qu'on va redistribuer suivant : 
-   redistribute eigrp 100 subnets+    * leur type de métrique : ce paramètre n'est disponible que quand on redistribue des routes depuis l'OSPF, soit ''redistribute ospf'', et peut valoir ''internal'', ''external 1'' et/ou ''external 2''
 +<code bash> 
 +router eigrp 2 
 + redistribute ospf 3 subnet match external 1 external 2 
 +</code> 
 +    * leur adresse : en utilisant une **route-map** 
 +<code bash> 
 +router ospf 1 
 + redistribute eigrp 100 route-map redistibute-EIGRP_to_OSPF 
 +
 +route-map redistibute-EIGRP_to_OSPF permit 10 
 + match ip address ACL-redistibute-EIGRP_to_OSPF 
 +
 +ip access-list standard ACL-redistibute-EIGRP_to_OSPF 
 + permit 192.168.0.0 0.0.0.255 
 + deny any 
 +</code> 
 +Par défaut, tout ce qui ne matche pas l'ACL "ACL-redistibute-EIGRP_to_OSPF" n'est pas redistribué dans ''ospf 1''. La directive ''deny any'' est donc redondante, mais plus prudente. 
 + 
 +====OSPF vers OSPF==== 
 + 
 +Des problèmes peuvent surgir lorsqu'on redistribue de OSPF vers OSPF sur 2 routeurs (pour la redondance) car alors : 
 +  * le routage sera indéterministe (implémentation Cisco) : les distances administratives des 2 instances OSPF étant égales (110), c'est le premier processus qui s'inscrit dans la table de routage qui sera pris en compte, même si la route de ce dernier possède une métrique supérieure à celle de l'autre processus OSPF. 
 +  * on risque des boucles de routage 
 + 
 +Des solutions / contournements à ces problèmes sont indiqués dans cette doc Cisco : [[http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080531fd2.shtml|OSPF Redistribution Among Different OSPF Processes]]
  
-  OSPF permet de filtrer les routes qu'on va redistribuer suivant leur type de métrique ce paramètre n'est disponible que quand on redistribue des routes depuis l'OSPF, soit ''redistribute ospf'', et peut valoir ''internal'', ''external 1'' et/ou ''external 2''.+Une solution est : 
 +  * de diminuer la distance administrative d'un AS pour le préférer à l'autre : 
 +<code bash> 
 +router ospf 1 
 + distance 100 
 +
 +router ospf 2 
 +on ne touche pas à la distance administrative par défaut de l'ospf, 
 +! à savoir 110 
 +</code> 
 +Ceci provoque la priorité inconditionnelle (pas exactement : voir [[informatique:cisco:redistribution_de_route#distance_administrative|Distance administrative]]) des routes de l'OSPF 1 par rapport à l'OSPF 2.
  
-  (config)#router eigrp 2 +  * de mettre en place une route-map avec ACL pour filtrer la redistribution et ainsi éviter les boucles de routage : 
-  (config-router)#redistribute ospf 3 subnet match external external 2+<code bash> 
 +router ospf 1 
 + redistribute ospf 2 subnets route-map AS2_to_AS1 
 +
 +router ospf 2 
 + redistribute ospf 1 subnets route-map AS1_to_AS2 
 +
 +route-map AS2_to_AS1 permit 10 
 + match ip address network_2 
 +
 +route-map AS1_to_AS2 permit 10 
 + match ip address network_1 
 +</code>
  
 +Cela évite que les routes de l'AS2, redistribuées par un R1 dans l'AS1, soient apprises par R2 en tant que route externe et soit également redistribuées à nouveau dans l'AS2, créant une boucle de routage.
  
 +Cette solution pourrait être réaliser avec des ''distribute-list'' in/out.
  
 =====IS-IS===== =====IS-IS=====
Line 94: Line 168:
  
 ====passive-interface==== ====passive-interface====
 +
 Cette commande permet d'empêcher une interface, sur laquelle un protocole de routage est activé, d'émettre des //routing update// mais elle peut toujours en recevoir. Si le protocole de routage est à état de lien (EIGRP, OSPF) il n'émettra plus non plus de paquets //Hello//. Cela peut se configurer sur une interface ou dans la partie routage : Cette commande permet d'empêcher une interface, sur laquelle un protocole de routage est activé, d'émettre des //routing update// mais elle peut toujours en recevoir. Si le protocole de routage est à état de lien (EIGRP, OSPF) il n'émettra plus non plus de paquets //Hello//. Cela peut se configurer sur une interface ou dans la partie routage :
  
-  (config-router)#passive-interface fa0/0+<code bash> 
 +(config-router)#passive-interface fa0/0 
 +</code>
  
 +On peut, par sécurité, mettre le mode passif par défaut sur toutes les interfaces de routage, et ne les activer qu'une par une :
  
 +<code bash>
 +(config-router)#passive-interface default
 +(config-router)#no passive-interface fa0/0
 +</code>
 ====distribute-list==== ====distribute-list====
  
Line 137: Line 219:
 ====Distance administrative==== ====Distance administrative====
  
-Changer le distance administrative des routes apprises par la source 10.0.0.1 qui matchent l'ACL 64 :+La distance administrative permet aux routeurs de privilégier les routes apprises par certains protocoles de routage (jugés plus fiables), indépendamment de la métrique de celle-ciPlus une source est jugée fiable, plus sa distance administrative sera faible pour prioriser ses routes par rapport à une source moins fiable.
  
-  router ospf 3 +Chaque source possède une distance administrative par défaut dont voici le récapitulatif : 
-   distance 125 10.0.0.1 255.255.255.255 64 +^Connected           |0| 
-   +^Static              |1| 
-  access-list 64 permit 10.200.200.32 +^EIGRP summary route |5| 
-  access-list 64 permit 10.3.0.0 0.0.255.255+^eBGP                |20| 
 +^EIGRP (internal)    |90| 
 +^IGRP                |100| 
 +^OSPF                |110| 
 +^IS-IS               |115| 
 +^RIP                 |120| 
 +^Exterior Gateway Protocol (EGP) |140| 
 +^On Demand Routing (ODR) |160| 
 +^EIGRP (external)    |170| 
 +^iBGP                |200| 
 +^Inconnu*            |255| 
 + 
 +* : La distance de 255 détermine une source inconnue qui ne sera pas prise en compte dans la table de routage. 
 + 
 +<note warning> 
 +Rappel : la détermination de la meilleure route se fait dans l'ordre suivant : 
 +  * plus long préfixe (~ masque réseau) 
 +  * plus faible distance administrative 
 +  * plus faible métrique 
 +Cela signifie que la distance administrative ne rentre en ligne de compte qu'à préfixe équivalent. Si tous ces paramètres sont égaux, on se trouve en ECMP et les paquets sont répartis sur les 2 next hop 
 + 
 +Concrètement, si on reçoit ces 2 routes : ''192.168.32.0/19 [90/25789217] via 10.1.1.1'' et ''192.168.32.0/26 [110/229840] via 10.1.1.3'' alors les paquets à destination de l'IP 192.168.32.1 (par exemple) seront routés vers 10.1.1.3 car il annonce un préfixe plus long (/26 contre /19). 
 +</note> 
 + 
 +Pour changer le distance administrative des routes apprises par la source 10.0.0.1 qui matchent l'ACL 64 : 
 +<code bash> 
 +router ospf 3 
 + distance 125 10.0.0.1 255.255.255.255 64 
 +  
 +access-list 64 permit 10.200.200.32 
 +access-list 64 permit 10.3.0.0 0.0.255.255 
 +</code>
  
 Avec l'EIGRP on utilise cette commande : ''**distance eigrp** //internal-distance// //external-distance//''. Il s'agit bien sur de fixer la distance administrative pour, respectivement, les routes internes et externes. Avec l'EIGRP on utilise cette commande : ''**distance eigrp** //internal-distance// //external-distance//''. Il s'agit bien sur de fixer la distance administrative pour, respectivement, les routes internes et externes.
 +<code bash>
 +distance eigrp 80 100
 +</code>
  
 (Avec du BGP : ''distance bgp'') (Avec du BGP : ''distance bgp'')
  
-  distance eigrp 80 100+=====Liens=====
  
-  +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094195.shtml|What Is Administrative Distance ?]] 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094823.shtml|Route Selection in Cisco Routers]]
informatique/cisco/redistribution_de_route.1233910249.txt.gz · Last modified: 2013/10/14 20:52 (external edit)