🏛️ ArchiZeroTrust CCIE Routing Redistribution OSPF
🔵 Redistribution · OSPF

Redistribution OSPF

Redistribuer vers et depuis OSPF — mots-clés obligatoires, types de routes externes E1/E2/N1/N2, ASBR multiples, filtrage à la redistribution et vérification.

OSPF et la redistribution : OSPF est un protocole link-state. Les routes redistribuées apparaissent comme des routes externes dans la LSDB via des LSA Type 5 (zones normales) ou LSA Type 7 (zones NSSA). Le routeur qui effectue la redistribution devient un ASBR (Autonomous System Boundary Router).
Position de l'ASBR dans la topologie OSPF
EIGRP / BGP
domaine externe
ASBR
router ospf 1
redistribute …
LSA Type 5
flood dans OSPF
Tous les routeurs
OSPF voient la route
⚠️ LSA Type 5 ne pénètre pas dans les stub areas. En zone NSSA, l'ASBR génère un LSA Type 7 converti en Type 5 à l'ABR.
Mots-clés spécifiques OSPF
Mot-cléObligatoire ?Effet
subnets Quasi-obligatoire Sans ce mot-clé, seules les routes classful sont redistribuées. Tous les sous-réseaux sont ignorés silencieusement.
metric <val> Optionnel Seed metric de la route externe. Défaut : 20 pour E2. Si absent, OSPF utilise 20.
metric-type {1|2} Optionnel Type E1 (cumulatif) ou E2 (fixe). Défaut : E2. Voir onglet E1/E2.
tag <val> Optionnel Tag 32-bit transporté dans le LSA. Utilisé pour anti-loop en redistribution mutuelle.
route-map <nom> Optionnel Filtrage et modification des attributs (metric, metric-type, tag) par route.
match {internal|external|nssa-external} Optionnel Quand la source est OSPF lui-même (redistribution inter-process) — filtre par type de route OSPF source.
Syntaxe — Redistribuer dans OSPF

⚙️ Structure générale

! Toujours sous le processus OSPF cible
router ospf 1
  redistribute <source> [subnets] [metric <val>] [metric-type {1|2}] \
               [tag <val>] [route-map <nom>]
Redistribuer EIGRP → OSPF

📋 EIGRP → OSPF

! Minimal (déconseillé — metric-type E2 par défaut, metric 20)
router ospf 1
  redistribute eigrp 100 subnets

! Recommandé — E1, metric explicite, tag anti-loop
router ospf 1
  redistribute eigrp 100 subnets metric-type 1 metric 20 tag 100

! Avec route-map pour filtrage sélectif
ip prefix-list PFX-EIGRP seq 5 permit 10.0.0.0/8 le 24

route-map EIGRP-TO-OSPF deny 10
  match tag 200          ! bloquer routes déjà venant d'OSPF (anti-loop)
route-map EIGRP-TO-OSPF permit 20
  match ip address prefix-list PFX-EIGRP
  set metric-type type-1
  set metric 20
  set tag 100

router ospf 1
  redistribute eigrp 100 subnets route-map EIGRP-TO-OSPF
Redistribuer BGP → OSPF

📋 BGP → OSPF

! Redistribuer toutes les routes BGP best-path dans OSPF
router ospf 1
  redistribute bgp 65001 subnets metric-type 1 metric 10

! Avec filtre — redistribuer seulement certains préfixes BGP
route-map BGP-TO-OSPF permit 10
  match ip address prefix-list PFX-BGP-INTERNE
  set metric 10
  set metric-type type-1
  set tag 300

router ospf 1
  redistribute bgp 65001 subnets route-map BGP-TO-OSPF

! ⚠️ Attention : redistribuer toute la table BGP dans OSPF
! peut injecter des milliers de routes — toujours filtrer !
Redistribuer routes statiques / connectées

📋 Static / Connected → OSPF

! Routes statiques
router ospf 1
  redistribute static subnets metric-type 1 metric 5

! Routes connectées (interfaces avec ip address)
router ospf 1
  redistribute connected subnets metric 1

! Les deux avec route-map commun
route-map STATIC-CONN-TO-OSPF permit 10
  match ip address prefix-list PFX-AUTORISE
  set metric 1
  set metric-type type-1

router ospf 1
  redistribute static    subnets route-map STATIC-CONN-TO-OSPF
  redistribute connected subnets route-map STATIC-CONN-TO-OSPF
Redistribution inter-process OSPF

📋 OSPF process 1 → OSPF process 2

! Cas : deux process OSPF sur le même routeur (VRF, migration…)
router ospf 2
  redistribute ospf 1 subnets

! Avec match pour ne redistribuer que les routes internes du process 1
router ospf 2
  redistribute ospf 1 subnets match internal

! Options de match disponibles :
!   match internal          → intra-area + inter-area
!   match external 1        → routes E1 du process source
!   match external 2        → routes E2 du process source
!   match nssa-external 1   → routes N1
!   match nssa-external 2   → routes N2
!   (combinables : match internal external 1 external 2)
Redistribuer depuis OSPF : La commande redistribute ospf <pid> est placée sous le protocole cible, pas sous OSPF. OSPF lui-même ne "pousse" pas ses routes — c'est le protocole receveur qui les "tire" depuis la RIB OSPF.
OSPF → EIGRP

📋 OSPF → EIGRP

! Seed metric EIGRP obligatoire (5 composantes)
router eigrp 100
  redistribute ospf 1 metric 10000 100 255 1 1500

! Ou avec default-metric pour tous les redistribute
router eigrp 100
  default-metric 10000 100 255 1 1500
  redistribute ospf 1

! Filtrer : ne redistribuer que les routes internes OSPF
route-map OSPF-TO-EIGRP deny 10
  match tag 100           ! anti-loop : bloquer routes venant d'EIGRP
route-map OSPF-TO-EIGRP permit 20
  match route-type internal ! uniquement intra/inter-area
  set tag 200
route-map OSPF-TO-EIGRP permit 30
  match route-type external   ! E1 et E2 aussi si voulu
  set tag 200

router eigrp 100
  redistribute ospf 1 metric 10000 100 255 1 1500 route-map OSPF-TO-EIGRP
OSPF → BGP

📋 OSPF → BGP

! ⚠️ COMPORTEMENT PAR DÉFAUT SOUS BGP :
! redistribute ospf ne redistribue que les routes INTERNES
! (intra-area O + inter-area O IA) — les E1/E2 sont EXCLUES

! Routes internes uniquement (comportement par défaut)
router bgp 65001
  address-family ipv4 unicast
    redistribute ospf 1
! Équivalent explicite :
    redistribute ospf 1 match internal

! Pour inclure aussi les routes externes E1 et E2 :
router bgp 65001
  address-family ipv4 unicast
    redistribute ospf 1 match internal external 1 external 2

! Pour inclure également les routes NSSA :
router bgp 65001
  address-family ipv4 unicast
    redistribute ospf 1 match internal external 1 external 2 \
                         nssa-external 1 nssa-external 2

! Avec route-map — filtrage sélectif + attributs BGP
route-map OSPF-TO-BGP permit 10
  match route-type internal
  set metric 100          ! MED dans BGP
  set origin igp          ! forcer origin IGP au lieu de incomplete (?)

router bgp 65001
  address-family ipv4 unicast
    redistribute ospf 1 route-map OSPF-TO-BGP
! Note : avec route-map, le match internal/external de redistribute
! est ignoré — c'est la route-map qui contrôle tout
OSPF → IS-IS

📋 OSPF → IS-IS

! Redistribuer OSPF dans IS-IS (routes externes IS-IS)
router isis CORE
  redistribute ospf 1 metric 50 metric-type external level-2

! metric-type : internal (défaut) ou external
! level-1, level-2, ou level-1-2
⚠️ match route-type dans une route-map (source OSPF) : La commande match route-type fait référence au type de route dans OSPF (internal, external, nssa-external). Elle n'est disponible que quand la source est OSPF. Ne pas confondre avec match ip route-source ou match interface.
Les 4 types de routes externes OSPF

E2 — External Type 2 (défaut)

Seed metric fixe. La métrique ne change pas en traversant le domaine OSPF. Tous les routeurs voient la même métrique E2 quelle que soit leur distance à l'ASBR.

LSA : Type 5 ou Type 7 (NSSA)

Sélection : Si deux ASBR ont la même métrique E2, le choix est fait sur le coût interne OSPF jusqu'à l'ASBR — mais uniquement comme tie-breaker.

E1 — External Type 1

Métrique cumulative = seed metric + coût interne OSPF jusqu'à l'ASBR. Reflète le vrai coût end-to-end.

Recommandé quand plusieurs ASBR redistribuent les mêmes préfixes — la sélection est déterministe basée sur le coût total.

Préférence : E1 est toujours préféré sur E2 pour le même préfixe.

N2 — NSSA External Type 2 (défaut NSSA)

Équivalent E2 mais dans une zone NSSA. Généré par un LSA Type 7 dans la NSSA, converti en Type 5 à l'ABR vers le reste du domaine. Métrique fixe.

N1 — NSSA External Type 1

Équivalent E1 dans une zone NSSA. Métrique cumulative. Converti en E1 (Type 5) à l'ABR. Préféré sur N2 pour le même préfixe.

Règle de préférence
PRIORITÉ (plus haute → plus faible) pour le même préfixe :
E1 > E2 > N1 > N2
⚠️ E1 est toujours préféré sur E2, même si la métrique E2 est numériquement plus petite.
⚠️ N1/N2 ne sortent pas de la NSSA sans conversion par l'ABR.
Configuration et vérification

⚙️ Forcer E1

! Dans la commande redistribute
router ospf 1
  redistribute eigrp 100 subnets metric-type 1 metric 20

! Via route-map (plus fin, par préfixe)
route-map RM-E1 permit 10
  set metric-type type-1
  set metric 20
router ospf 1
  redistribute eigrp 100 subnets route-map RM-E1

🔍 Vérifier le type de route

show ip ospf database external
! Chercher : LS Type = AS External Link
!            Metric Type = 2 (E2) ou 1 (E1)
!            Metric = valeur
!            Tag = valeur du tag

show ip route ospf
! Routes E1 : O E1  10.1.1.0/24
! Routes E2 : O E2  10.1.1.0/24
! Routes N1 : O N1  10.1.1.0/24
! Routes N2 : O N2  10.1.1.0/24
Exemple : deux ASBR avec E1 vs E2

🧪 Scénario : sélection d'ASBR

! Topologie : R1 (ASBR, coût=5) et R2 (ASBR, coût=50) redistribuent 10.1.1.0/24
! Les deux avec metric=20

! Avec E2 (défaut) :
!   R3 voit : O E2 10.1.1.0/24 [110/20] via R1 ET via R2
!   Tie-break sur coût interne → R1 gagne (coût 5 vs 50)
!   Mais si le coût interne est le même → choix arbitraire (RID)

! Avec E1 :
!   Via R1 : métrique = 20 + 5  = 25
!   Via R2 : métrique = 20 + 50 = 70
!   R3 choisit R1 → déterministe et reflète le vrai coût ✓
match route-type : Dans une route-map appliquée à redistribute ospf <pid>, ce match permet de sélectionner uniquement certains types de routes OSPF — internes, externes, ou NSSA. Particulièrement utile pour ne pas redistribuer les routes déjà externes (éviter de propager des routes tier depuis un autre domaine).
Valeurs disponibles
ValeurRoutes inclusesCas d'usage
internalIntra-area (O) + Inter-area (O IA)Ne redistribuer que les routes natives OSPF
external 1Routes O E1Redistribuer uniquement les routes E1 du process OSPF source
external 2Routes O E2Redistribuer uniquement les routes E2
nssa-external 1Routes O N1Redistribuer uniquement les routes NSSA E1
nssa-external 2Routes O N2Redistribuer uniquement les routes NSSA E2
Exemple pratique — ne redistribuer que les internes

📋 OSPF → EIGRP : seulement les routes internes

! Objectif : redistribuer dans EIGRP uniquement les routes OSPF
! natives (intra + inter-area), pas les routes déjà externes (E1/E2)

route-map OSPF-INTERNAL-ONLY permit 10
  match route-type internal
  set tag 200
  set metric 10000 100 255 1 1500

router eigrp 100
  redistribute ospf 1 route-map OSPF-INTERNAL-ONLY

! Résultat : les routes O et O IA sont redistribuées
!            les routes O E1, O E2 ne le sont pas
Combinaison de types

📋 Redistribuer internes + E1, mais pas E2

! On peut cumuler plusieurs match route-type dans la MÊME clause
route-map OSPF-SELECTIVE permit 10
  match route-type internal external 1
  set tag 200
! → match si la route est internal OU external 1
! → les external 2 tombent dans le deny implicite

! Alternative : deux clauses séparées
route-map OSPF-SELECTIVE permit 10
  match route-type internal
  set tag 200
route-map OSPF-SELECTIVE permit 20
  match route-type external 1
  set tag 200
! external 2 et nssa-external → non redistribuées

🔍 Vérifier quelles routes sont dans la RIB OSPF

show ip route ospf
! O     = intra-area (internal)
! O IA  = inter-area (internal)
! O E1  = external type 1
! O E2  = external type 2
! O N1  = nssa-external type 1
! O N2  = nssa-external type 2

show ip ospf database
! Type 1 = Router LSA (intra-area)
! Type 2 = Network LSA (intra-area)
! Type 3 = Summary LSA (inter-area)
! Type 5 = AS External LSA (E1/E2)
! Type 7 = NSSA External LSA (N1/N2)
ASBR multiples : Quand deux routeurs redistribuent les mêmes routes dans OSPF, tous les routeurs du domaine voient les deux LSA Type 5 et choisissent le meilleur chemin. Ce scénario est courant pour la redondance, mais introduit des problèmes de sélection de chemin et de boucles potentielles.
Topologie typique
EIGRP
domaine source
ASBR-1
metric 20, E1
ASBR-2
metric 20, E1
OSPF domain
R3 voit deux LSA Type 5 pour 10.1.1.0/24
Sélection avec E1 (recommandé)

✅ E1 — Sélection déterministe

! Sur ASBR-1 et ASBR-2 — même configuration
router ospf 1
  redistribute eigrp 100 subnets metric-type 1 metric 20 tag 100

! R3 calcule :
!   Via ASBR-1 : 20 (seed) + coût-vers-ASBR-1
!   Via ASBR-2 : 20 (seed) + coût-vers-ASBR-2
! → Toujours le chemin le moins coûteux, déterministe ✓
Problème avec E2 et deux ASBR

⚠️ E2 — Sélection ambiguë

! Deux ASBR avec metric E2 = 20
! R3 voit : O E2 10.1.1.0/24 [110/20] via ASBR-1 ET ASBR-2
!
! Tie-break OSPF pour E2 (dans l'ordre) :
! 1. Coût interne OSPF vers l'ASBR (forwarding address si set)
! 2. RID de l'ASBR (plus petit RID préféré)
!
! → Résultat dépend de la topologie et du RID, pas du coût réel
! → Risque de sélection sous-optimale
Forwarding address — le piège ASBR

⚠️ Forwarding Address dans LSA Type 5

Quand l'ASBR a une interface vers la source (EIGRP) qui est aussi dans OSPF, le LSA Type 5 contient une forwarding address non-nulle. Les routeurs OSPF routent vers cette adresse, pas vers l'ASBR lui-même.

show ip ospf database external 10.1.1.0
! Chercher : Forwarding Address
!   0.0.0.0        → routez vers l'ASBR
!   192.168.1.1    → routez vers cette adresse (FA non-nulle)

! FA non-nulle si :
!   L'interface OSPF de l'ASBR est dans le même sous-réseau que
!   le next-hop EIGRP ET cette interface n'est pas passive dans OSPF

! Pour forcer FA = 0.0.0.0 :
router ospf 1
  no capability transit
! ou rendre l'interface passive dans OSPF
Checklist de vérification

🔍 Étape 1 — OSPF redistribue bien les routes ?

! Sur l'ASBR : vérifier que les routes sont dans la DB OSPF
show ip ospf database external
! Doit lister les préfixes redistribués avec leur metric, type, tag

show ip ospf database external 10.1.1.0
! Détail d'un préfixe spécifique

! Si absent → redistribution ne fonctionne pas (seed metric ?  subnets ?)

🔍 Étape 2 — Routes visibles sur les autres routeurs ?

show ip route ospf
! Chercher O E1, O E2, O N1, O N2
! Si absent sur un routeur distant :
!   → Zone stub ? (Type 5 bloqué)
!   → distribute-list ou area filter-list ?
!   → Forwarding address injoignable ?

show ip route 10.1.1.0 255.255.255.0
! Vérifier AD, metric, next-hop, tag

🔍 Étape 3 — Tags et anti-loop fonctionnels ?

show ip ospf database external | include Tag
! Vérifier que le tag est bien présent

show route-map
! Vérifier les compteurs de match/set
! Si policy matches = 0 → aucune route n'a traversé la route-map

🔍 Étape 4 — Debug redistribution

! Activer le debug (très verbeux — usage lab uniquement)
debug ip ospf redistribute
! Montre les préfixes acceptés/refusés à la redistribution

! Alternativement : vérifier la RIB source EIGRP
show ip eigrp topology
! Les routes doivent être en état Passive (P) pour être redistribuées

! Vérifier la config effective
show running-config | section router ospf
Output de référence — show ip ospf database external

📋 Exemple d'output annoté

Router# show ip ospf database external

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Type-5 AS External Link States

  LS age: 42
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 10.1.1.0        ← préfixe redistribué
  Advertising Router: 2.2.2.2    ← RID de l'ASBR
  Network Mask: /24
  Metric Type: 2 (Larger than any link state path)  ← E2
  Metric: 20                      ← seed metric
  Forward Address: 0.0.0.0      ← FA nulle = routez vers l'ASBR
  External Route Tag: 100       ← tag anti-loop
1

Oublier "subnets" — le piège classique CCIE

Sans subnets, OSPF ne redistribue que les réseaux classful. 10.1.1.0/24 dans la classe A n'est pas redistribué. Aucun message d'erreur. La commande show ip ospf database external sera vide ou n'affichera que les /8, /16, /24 classful. Toujours vérifier.

2

E2 avec deux ASBR et même metric — sélection par RID

Deux ASBR redistribuant le même préfixe en E2 avec la même métrique. Si le coût interne vers les deux ASBR est aussi identique, OSPF utilise le RID le plus bas comme tie-breaker. En exam, la question peut demander "quel ASBR sera sélectionné" — répondre avec le plus petit RID (pas le plus grand, contrairement à ce qu'on pense parfois).

3

Forwarding Address non-nulle — route impossible à atteindre

Si la Forwarding Address dans le LSA Type 5 est une adresse qui n'est pas dans la table de routage des routeurs OSPF, la route externe sera installée mais inaccessible (next-hop unreachable). Toujours vérifier la FA avec show ip ospf database external et s'assurer qu'elle est joignable ou forcer FA=0.0.0.0.

4

LSA Type 5 bloqué dans les stub areas

Les zones STUB et TOTALLY STUB bloquent les LSA Type 5. Les routeurs dans ces zones ne voient jamais les routes redistribuées. Si un routeur dans une stub area doit atteindre les routes externes, il utilise la route par défaut injectée par l'ABR. Ne pas tenter de redistribuer dans OSPF depuis un routeur dans une stub area — cela n'est pas permis (un ASBR ne peut pas être dans une stub area).

5

Redistribution inter-process OSPF sans "match" = boucle externe

Quand deux process OSPF se redistribuent mutuellement (ospf 1 ↔ ospf 2), sans match internal, les routes déjà externes (E1/E2) du process 2 sont redistribuées dans le process 1 et vice-versa. Ces routes re-redistribuées créent des routes externes avec une métrique croissante — potentiellement une boucle ou une convergence infinie. Toujours utiliser match internal ou des tags.

6

NSSA : le LSA Type 7 est converti en Type 5 seulement par le Translated ABR

Dans une NSSA avec plusieurs ABR, un seul ABR fait la traduction LSA Type 7 → Type 5 : celui avec le RID le plus élevé. Si cet ABR tombe, un autre prend le relai. En exam, si la question demande "quel ABR convertit le LSA Type 7", répondre le RID le plus haut (contrairement à la sélection DR/BDR).

7

match route-type dans route-map : fonctionne seulement avec source OSPF

La commande match route-type (internal, external 1, external 2…) n'est interprétée que quand la route-map est appliquée à redistribute ospf. Utilisée sur un autre redistribute (EIGRP, BGP…), elle ne matche rien — toutes les routes passent si la clause est permit, ou aucune si deny.

8

redistribute ospf sous BGP n'inclut PAS les routes E1/E2 par défaut

Contrairement à EIGRP ou IS-IS où redistribute ospf prend toute la RIB OSPF, sous BGP le comportement par défaut est équivalent à match internal — seules les routes intra-area et inter-area sont redistribuées. Les routes E1 et E2 sont silencieusement ignorées. Pour les inclure, il faut écrire explicitement : redistribute ospf 1 match internal external 1 external 2.

Cliquer pour révéler la réponse.
01
Qu'est-ce que le mot-clé "subnets" change dans la redistribution OSPF ?
Sans subnets, seules les routes classful sont redistribuées (/8, /16, /24 exactement). Tous les sous-réseaux sont ignorés silencieusement. Avec subnets, tous les préfixes sont redistribués.
02
Différence entre E1 et E2 en termes de calcul de métrique ?
E2 (défaut) : métrique fixe = seed metric, ne change pas. E1 : métrique cumulative = seed metric + coût interne OSPF jusqu'à l'ASBR. E1 est préféré sur E2 pour le même préfixe, quelle que soit la valeur numérique.
03
Quel LSA type transporte une route redistribuée dans une zone normale ? Dans une NSSA ?
Zone normale : LSA Type 5 (AS External), flooded dans tout le domaine. Zone NSSA : LSA Type 7 (NSSA External), converti en Type 5 à l'ABR avec le RID le plus élevé.
04
Qu'est-ce que la Forwarding Address dans un LSA Type 5 ?
L'adresse vers laquelle les routeurs OSPF doivent router pour atteindre la route externe (au lieu de l'ASBR lui-même). FA=0.0.0.0 = router vers l'ASBR. FA non-nulle = router vers cette adresse, qui doit être joignable via OSPF.
05
Métrique par défaut si "metric" n'est pas spécifié dans redistribute → OSPF ?
20, avec metric-type E2 par défaut. La route apparaît comme O E2 [110/20].
06
Avec deux ASBR, même métrique E2 et même coût interne — lequel est choisi ?
Celui avec le RID le plus bas (tie-breaker final d'OSPF pour les routes E2 à métrique identique).
07
Que fait "match route-type internal" dans une route-map de redistribution OSPF ?
Ne sélectionne que les routes OSPF intra-area (O) et inter-area (O IA). Exclut les routes externes E1, E2, N1, N2. Utile pour éviter de redistribuer dans un autre protocole des routes déjà redistribuées dans OSPF.
08
Pourquoi préférer E1 quand plusieurs ASBR redistribuent les mêmes préfixes ?
E1 est cumulatif (seed + coût interne) → la sélection est déterministe et reflète le vrai coût end-to-end. E2 a une métrique fixe → la sélection dépend du coût interne ou du RID, pas du coût réel de bout en bout.
09
Dans une redistribution OSPF inter-process, comment éviter de redistribuer les routes déjà externes ?
Utiliser match internal dans la redistribution : redistribute ospf 1 subnets match internal. Ou utiliser des tags : tagger les routes redistribuées et les filtrer avec une route-map deny à l'autre ASBR.
10
Quel ABR convertit les LSA Type 7 en Type 5 dans une NSSA multi-ABR ?
L'ABR avec le RID le plus élevé est élu Translated ABR pour la NSSA. C'est lui qui convertit les LSA Type 7 → Type 5 et les floode dans le reste du domaine.