Redistribution entre OSPF et EIGRP — seed metric, default-metric, routes externes D EX, administrative distance, pièges CCIE.
La redistribution permet à des routeurs tournant des protocoles différents d'échanger des routes. Dans un réseau d'entreprise, OSPF et EIGRP coexistent souvent suite à des fusions, migrations ou segmentations d'infrastructure. La redistribution se configure sur le routeur frontière — l'ASBR (Autonomous System Boundary Router).
Le routeur ASBR participe aux deux protocoles simultanément. Il importe les routes d'un domaine dans l'autre via la commande redistribute. La redistribution est unidirectionnelle par configuration — il faut la configurer dans chaque sens séparément.
| Protocole | Link-State (LSA) |
| Metric | Cost (basé sur BW) |
| AD interne | 110 |
| AD externe | 110 (E1/E2) |
| Route externe | O E1 ou O E2 |
| Protocole | Hybrid (DUAL) |
| Metric | Composite (BW, Delay…) |
| AD interne | 90 |
| AD externe | 170 |
| Route externe | D EX |
Quand deux protocoles proposent la même route, le routeur installe celle avec la plus faible AD. C'est critique en redistribution mutuelle.
| Source de la route | AD | Priorité |
|---|---|---|
| Connected | 0 | Maximale |
| Static | 1 | |
| EIGRP interne (D) | 90 | |
| OSPF (O) | 110 | |
| RIP | 120 | |
| EIGRP externe (D EX) | 170 | Faible |
Trois routeurs. R2 est l'ASBR qui redistribue entre le domaine OSPF (gauche) et le domaine EIGRP (droite). Cette topologie sert de référence pour tous les exemples CLI de ce chapitre.
| Interface | Adresse | Protocole | Remarque |
|---|---|---|---|
| R1 Lo0 | 10.1.1.1/24 | OSPF | Réseau à redistribuer vers EIGRP |
| R1 Gi0/0 | 10.12.0.1/30 | OSPF | Lien R1—R2 |
| R2 Gi0/0 | 10.12.0.2/30 | OSPF | Interface OSPF de l'ASBR |
| R2 Gi0/1 | 10.23.0.1/30 | EIGRP | Interface EIGRP de l'ASBR |
| R2 Lo0 | 2.2.2.2/32 | OSPF EIGRP | Router-ID des deux protocoles |
| R3 Gi0/0 | 10.23.0.2/30 | EIGRP | Lien R2—R3 |
| R3 Lo0 | 10.3.3.3/24 | EIGRP | Réseau à redistribuer vers OSPF |
On configure la redistribution sur R2 (l'ASBR), sous le processus router eigrp 1. Les routes OSPF apparaîtront dans la table de R3 comme routes D EX (EIGRP externe, AD=170).
! ── R2 : Redistribuer OSPF dans EIGRP ────────────────── router eigrp 1 redistribute ospf 1 metric 10000 100 255 1 1500 ! BW(kbps) delay reliability load MTU network 10.23.0.0 0.0.0.3 network 2.2.2.2 0.0.0.0 no auto-summary
metric (ou default-metric), EIGRP assigne un metric infini (0 0 0 0 0). Les routes redistribuées n'apparaissent pas dans la table de routage des voisins.
router eigrp 1 redistribute ospf 1 default-metric 10000 100 255 1 1500 ! default-metric s'applique à TOUTES les redistributions du processus
R3# show ip route eigrp D EX 10.1.1.0/24 [170/28416] via 10.23.0.1, 00:01:12, GigabitEthernet0/0 ^-- AD=170 = route EIGRP externe R3# show ip eigrp topology 10.1.1.0/24 EIGRP-IPv4 Topology Entry for AS(1)/ID(3.3.3.3) for 10.1.1.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 28416 Descriptor Blocks: 10.23.0.1 (GigabitEthernet0/0), from 10.23.0.1, Send flag is 0x0 Composite metric is (28416/26112), route is External External data: Originating router is 2.2.2.2 AS number of route is 1 (OSPF process ID 1) External protocol is OSPF, external metric is 2 Administrator tag is 0 (0x00000000)
On configure la redistribution sur R2 sous le processus router ospf 1. Les routes EIGRP apparaîtront dans la table de R1 comme routes O E2 (OSPF externe type 2) par défaut.
! ── R2 : Redistribuer EIGRP dans OSPF ────────────────── router ospf 1 redistribute eigrp 1 subnets ! ^── OBLIGATOIRE pour redistribuer les /30, /24, etc. ! Sans subnets : seuls les réseaux classful sont redistribués network 10.12.0.0 0.0.0.3 area 0 network 2.2.2.2 0.0.0.0 area 0
subnets est OBLIGATOIRE !subnets, OSPF ne redistribue que les réseaux classful (A, B, C sans prefix). Tous les sous-réseaux (/30, /24 avec host bits...) sont silencieusement ignorés. C'est un piège classique CCIE.
| Type | Metric | Comportement | Usage |
|---|---|---|---|
| E2 (défaut) | Fixe (20 par défaut) | La metric ne change pas en traversant OSPF | Cas standard — plus simple |
| E1 | Croissante | La metric s'additionne avec le cost OSPF interne | Quand on a plusieurs ASBR et qu'on veut choisir le plus proche |
! Forcer E1 avec metric-type : router ospf 1 redistribute eigrp 1 subnets metric-type 1 metric 50
R1# show ip route ospf O E2 10.3.3.0/24 [110/20] via 10.12.0.2, 00:01:05, GigabitEthernet0/0 ^-- AD=110, metric externe=20 (défaut) R1# show ip ospf database external OSPF Router with ID (1.1.1.1) (Process ID 1) Type-5 AS External Link States LS age: 72 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 10.3.3.0 (External Network Number) Advertising Router: 2.2.2.2 ← R2 est l'ASBR Network Mask: /24 Metric Type: 2 (Larger than any link state path) Metric: 20 Forward Address: 0.0.0.0
Le cas typique : un routeur de bordure (R3) participe à la fois au domaine EIGRP AS100 et à BGP AS64512. Il redistribue les préfixes BGP vers les routeurs EIGRP internes.
redistribute bgp sous EIGRP ne redistribue que les routes apprises via eBGP.
Les routes iBGP (*>i dans show ip bgp) sont exclues par défaut,
même si elles sont dans la RIB. Le hit count du prefix-list reste à 0 sans message d'erreur.router bgp :
router bgp 64512 bgp redistribute-internal
router eigrp,
pas sous BGP. BGP ne "pousse" pas ses routes — c'est EIGRP qui les "tire" depuis la RIB BGP.
La seed metric est obligatoire (comme pour tout redistribute dans EIGRP).
! ── R3 : participe à BGP AS64512 et à EIGRP AS100 ────── ! ── Cas eBGP (peer AS différent) — fonctionne sans config supplémentaire router bgp 64512 neighbor 10.34.0.4 remote-as 65000 ! eBGP → routes redistribuables par défaut router eigrp 100 redistribute bgp 64512 metric 10000 100 255 1 1500 ! ── Cas iBGP (même AS) — bgp redistribute-internal OBLIGATOIRE router bgp 64512 neighbor 10.34.0.4 remote-as 64512 ! iBGP bgp redistribute-internal ! ← OBLIGATOIRE pour redistribuer les routes iBGP ! Sans cette ligne : redistribute bgp sous EIGRP ignore silencieusement ! toutes les routes *>i — hit count prefix-list reste à 0 router eigrp 100 network 10.13.0.0 0.0.0.3 redistribute bgp 64512 metric 10000 100 255 1 1500
! Objectif : ne redistribuer que certains préfixes BGP dans EIGRP ! et taguer pour éviter la re-redistribution EIGRP→BGP ! 1. Filtrage par prefix-list ip prefix-list PL-BGP-TO-EIGRP permit 10.1.0.0/16 le 24 ip prefix-list PL-BGP-TO-EIGRP permit 172.16.0.0/12 le 24 ! 2. Route-map avec tag (anti-loop si redistribution EIGRP→BGP aussi présente) route-map RM-BGP-TO-EIGRP permit 10 match ip address prefix-list PL-BGP-TO-EIGRP set metric 10000 100 255 1 1500 set tag 200 ! marqueur : "vient de BGP" ! 3. Redistribution filtrée router eigrp 100 redistribute bgp 64512 route-map RM-BGP-TO-EIGRP ! 4. Si redistribution EIGRP→BGP aussi configurée : bloquer les routes taguées route-map RM-EIGRP-TO-BGP deny 10 match tag 200 ! bloquer ce qui vient de BGP (tag=200) route-map RM-EIGRP-TO-BGP permit 20 ! laisser passer les routes EIGRP natives router bgp 64512 address-family ipv4 unicast redistribute eigrp 100 route-map RM-EIGRP-TO-BGP
| Routeur | Vue de 10.1.1.0/24 | DA | Remarque |
|---|---|---|---|
| R4 | Connected / réseau annoncé | 0 | Source originale |
| R3 | B 10.1.1.0/24 [200/0] | 200 (iBGP) | Route iBGP dans la RIB de R3 |
| R3 (EIGRP) | Redistribuée depuis RIB BGP | — | EIGRP annonce en tant que route externe vers R1 |
| R1 / R2 | D EX 10.1.1.0/24 [170/...] | 170 | EIGRP external — DA intentionnellement haute |
10.1.1.0/24 est apprise via iBGP (DA=200). EIGRP ne participe pas
au même préfixe nativement, donc il n'y a pas de compétition de DA. R3 installe la route iBGP
en RIB, puis EIGRP la redistribue depuis la RIB avec la seed metric configurée.
Le problème de DA surviendrait si une route OSPF ou EIGRP native existait pour ce même préfixe.
! Si R3 est un routeur de bordure avec un peer eBGP (AS différent) router bgp 64512 neighbor 203.0.113.1 remote-as 65000 ! eBGP peer FAI address-family ipv4 unicast neighbor 203.0.113.1 activate ! DA eBGP = 20 → beaucoup plus prioritaire que EIGRP interne (90) ! La route eBGP sera dans la RIB et sera redistribuée dans EIGRP ! ⚠️ Si un préfixe eBGP (DA=20) et EIGRP interne (DA=90) coexistent : ! eBGP gagne → EIGRP "ne voit pas" sa propre route → attention aux boucles router eigrp 100 redistribute bgp 64512 route-map RM-BGP-TO-EIGRP ! Même configuration — le filtre est encore plus important en eBGP
! Sur R3 — vérifier que BGP a la route R3# show ip bgp 10.1.1.0/24 BGP routing table entry for 10.1.1.0/24, version 2 Paths: (1 available, best #1, table default) 10.34.0.4 from 10.34.0.4 (4.4.4.4) Origin IGP, metric 0, localpref 100, valid, internal, best ! Sur R3 — vérifier que la redistribution EIGRP voit la route R3# show ip eigrp topology 10.1.1.0/24 EIGRP-IPv4 Topology Entry for AS(100)/ID(3.3.3.3) for 10.1.1.0/24 State is Passive, 1 Successor(s), FD is 28416 Descriptor Blocks: 0.0.0.0 (GigabitEthernet0/0), from Redistributed, Send flag is 0x0 Composite metric is (28416/0), route is External External data: External protocol is BGP, external metric is 0 Administrator tag is 200 (0x000000C8) ← tag configuré ! Sur R1 — vérifier réception en D EX R1# show ip route 10.1.1.0 Routing entry for 10.1.1.0/24 Known via "eigrp 100", distance 170, metric 28416 Tag 200, type external Last update from 10.13.0.2 on GigabitEthernet0/1 ! Vérifier le tag anti-loop dans la topology table R1# show ip eigrp topology 10.1.1.0/24 External data: External protocol is BGP, external metric is 0 Administrator tag is 200 (0x000000C8)
EIGRP utilise une métrique composite à 5 composantes. Quand on redistribue des routes dans EIGRP, on doit fournir une valeur de départ (seed metric) pour chaque composante — sinon EIGRP ne peut pas calculer de metric et la route est ignorée.
| # | Paramètre | Unité | K-value | Valeur recommandée pour redistribution |
|---|---|---|---|---|
| 1 | Bandwidth | kbps | K1=1 | 10000 (10 Mbps) |
| 2 | Delay | 10 µs | K2=0 | 100 (1000 µs = 1 ms) |
| 3 | Reliability | 0–255 | K3=0 | 255 (100% fiable) |
| 4 | Load | 0–255 | K4=0 | 1 (charge minimale) |
| 5 | MTU | bytes | K5=0 | 1500 |
Metric = 256 × (10⁷/BW_min + sum(delay)/10)! ❌ Sans metric → metric infinie → routes ignorées par les voisins EIGRP router eigrp 1 redistribute ospf 1 ! R3 ne verra JAMAIS ces routes ! ✅ Avec metric explicite router eigrp 1 redistribute ospf 1 metric 10000 100 255 1 1500 ! ✅ Avec default-metric (affecte toutes les redistributions du processus) router eigrp 1 redistribute ospf 1 redistribute static default-metric 10000 100 255 1 1500 ! Les deux redistributions utilisent cette metric
! En sens inverse (EIGRP → OSPF), pas de seed metric nécessaire ! OSPF a une metric par défaut de 20 pour les routes externes (E2) router ospf 1 redistribute eigrp 1 subnets ! metric = 20 (E2) automatiquement ! Pour changer la metric externe OSPF : router ospf 1 redistribute eigrp 1 subnets metric 100 metric-type 1
| Contexte | Recommandation | Raison |
|---|---|---|
| Redistribution simple (une seule source) | 10000 100 255 1 1500 | Valeur neutre, toutes routes égales |
| Plusieurs ASBR (redistribution mutuelle) | Metric différente par ASBR | Contrôler le chemin préféré |
| Route-map avec set metric | Metric par préfixe | Granularité maximale |
R3# show ip route Codes: D - EIGRP, EX - EIGRP external, O - OSPF ... D EX 10.1.1.0/24 [170/28416] via 10.23.0.1, GigabitEthernet0/0 D EX 10.12.0.0/30 [170/28416] via 10.23.0.1, GigabitEthernet0/0 R3# show ip eigrp topology EIGRP-IPv4 Topology Table for AS(1)/ID(3.3.3.3) ... P 10.1.1.0/24, 1 successors, FD is 28416 via 10.23.0.1 (28416/26112), GigabitEthernet0/0, External R3# show ip eigrp topology 10.1.1.0/24 External data: External protocol is OSPF, external metric is 2 Originating router is 2.2.2.2
R1# show ip route ospf O E2 10.3.3.0/24 [110/20] via 10.12.0.2, GigabitEthernet0/0 O E2 10.23.0.0/30 [110/20] via 10.12.0.2, GigabitEthernet0/0 R1# show ip ospf database external ! Montre les LSA Type-5 générés par l'ASBR R2 Advertising Router: 2.2.2.2 Metric: 20, Metric Type: 2 R1# show ip ospf border-routers ! Identifie les ASBR dans le domaine OSPF OSPF Router with ID (1.1.1.1) (Process ID 1) Base Topology (MTID 0) OSPF_Router with ID (2.2.2.2) (Process ID 1) ←ASBR
R2# show ip protocols Routing Protocol is "ospf 1" Redistributing: eigrp 1 with metric mapped to 20, includes subnets Routing Protocol is "eigrp 1" Redistributing: ospf 1, metric 10000 100 255 1 1500 R2# show ip route | include O|D O 10.12.0.0/30 is directly connected, GigabitEthernet0/0 D 10.23.0.0/30 is directly connected, GigabitEthernet0/1 O 10.1.1.0/24 [110/2] via 10.12.0.1, GigabitEthernet0/0 D 10.3.3.0/24 [90/...] via 10.23.0.2, GigabitEthernet0/1
La commande redistribute ospf 1 sans metric ni default-metric crée une redistribution qui ne fonctionne pas. Aucun message d'erreur, les routes ne s'affichent pas chez les voisins.
! ❌ Mauvais — R3 ne verra rien router eigrp 1 redistribute ospf 1 ! ✅ Correct router eigrp 1 redistribute ospf 1 metric 10000 100 255 1 1500
subnets manquant dans OSPFSans subnets, OSPF ne redistribue que les réseaux classful. Les /30, /29, etc. sont silencieusement perdus. À l'examen, toujours vérifier ce mot-clé en premier.
! ❌ Mauvais — /30 et /24 non redistribués router ospf 1 redistribute eigrp 1 ! ✅ Correct router ospf 1 redistribute eigrp 1 subnets
Si R3 apprend une route via EIGRP interne (D, AD=90) ET via redistribution (D EX, AD=170), il préfère la route interne. Mais si R2 lui-même apprend une route OSPF (AD=110) et une route D EX (AD=170) pour le même préfixe, il préfère OSPF — ce qui peut empêcher la redistribution de ce préfixe vers EIGRP.
redistribute connected vs network dans EIGRPEn EIGRP, network x.x.x.x annonce et active EIGRP sur l'interface. redistribute connected injecte les routes connectées comme routes externes (D EX, AD=170). Si une interface est dans les deux, elle est annoncée en interne — pas de conflit. Mais si elle n'est dans aucun network, redistribute connected l'injecte comme externe.
Par défaut, redistribute ospf 1 dans EIGRP redistribue toutes les routes OSPF, y compris les routes redistribuées d'autres domaines. Sans filtrage, on peut créer involontairement des boucles ou annoncer des routes non souhaitées.
! Bonne pratique : toujours filtrer avec une route-map ip prefix-list PL-OSPF-TO-EIGRP permit 10.1.0.0/8 le 24 route-map RM-OSPF-TO-EIGRP permit 10 match ip address prefix-list PL-OSPF-TO-EIGRP set metric 10000 100 255 1 1500 router eigrp 1 redistribute ospf 1 route-map RM-OSPF-TO-EIGRP
Cliquez sur une carte pour révéler la réponse.
subnets est OBLIGATOIRE pour les routes non classful.