Aller au contenu principal

Redistribution des routes statiques dans OSPF

CCNA — IP Connectivity

Redistribution des routes statiques dans OSPF

Définition

La redistribution injecte des routes provenant d'une autre source (statique, connected, un autre protocole comme EIGRP ou RIP) dans le domaine de routage d'OSPF. C'est le mécanisme qui relie un réseau OSPF à un monde extérieur: Internet via une route statique, un vieux réseau RIP, ou des interfaces non listées dans les network. Les routes redistribuées deviennent des AS External LSA (type 5 ou 7) et apparaissent O E1/O E2 dans les tables.

Pourquoi redistribuer du statique

Cas les plus fréquents en production et à l'examen:

  1. Une route par défaut apprise de l'ISP (statique) doit être diffusée aux routeurs internes OSPF.
  2. Des réseaux stub configurés en statique (pas de voisin OSPF possible sur un lien client) doivent être connus du cœur OSPF.
  3. Un ancien protocole (RIP) tourne encore sur un coin du réseau et doit être absorbé progressivement.

Sans redistribution, seul ce qui est couvert par les commandes network (ou ip ospf area) est annoncé. Une route statique présente dans la table d'un routeur OSPF est invisible aux voisins tant qu'elle n'est pas redistribuée.

La commande de base

R-edge(config)# router ospf 1
R-edge(config-router)# redistribute static subnets

Attention piège historique IOS: sans subnets, OSPF redistribue uniquement les routes de classe A/B/C naturelle (ici 10.0.0.0/8 passe, 10.1.2.0/24 est ignoré). Toujours écrire subnets.

Pour une route par défaut, la voie propre est la commande dédiée (voir route_par_defaut_statique_ospf_stub):

R-edge(config-router)# default-information originate

redistribute static redirige aussi une 0.0.0.0/0 statique si elle est dans la table; les deux méthodes fonctionnent, default-information originate reste la sémantique voulue.

Métriques: E2 par défaut, E1 quand le coût interne compte

Type Coût affiché Usage
O E2 (défaut) Coût de redistribution uniquement, ignoré le chemin intérieur Le point d'entrée est le bon choix
O E1 Coût externe + coût OSPF intérieur cumulé Multi-homing: choisir l'ASBR le plus proche
R1(config-router)# redistribute static metric 30 metric-type 1

Valeurs: metric par défaut 20 (sauf routes BGP: 1). Une route E2 à 20 sera choisie contre une autre E2 à 30 quel que soit le chemin intérieur; en E1 les coûts OSPF s'ajoutent et le chemin total départage.

Exemple complet chiffré

Topologie: R1-R2 en OSPF area 0 (lien 10.0.12.0/30, coût 1). R1 a une statique vers le réseau client 172.16.99.0/24 via 10.0.12.2 hors OSPF (client sur lien serie sans protocole). Sur R1:

R1(config)# ip route 172.16.99.0 255.255.255.0 10.0.12.2
R1(config)# router ospf 1
R1(config-router)# redistribute static subnets

Côté R2:

O E2 172.16.99.0/24 [110/20] via 10.0.12.1

[110/20]: AD OSPF, coût E2 = 20 (la metric de redistribution), next-hop = l'ASBR (R1). Si R2 avait un second chemin vers le même préfixe via R3 (aussi E2 métrique 20), le tie-break passe au coût intérieur vers l'ASBR.

Tag et filtrage

Un tag identifie la source redistribuée, indispensable pour éviter les boucles de redistribution quand plusieurs ASBR existent:

R1(config-router)# redistribute static metric 30 metric-type 1 tag 199

Il se filtre ensuite avec distribute-list (ACL) ou une route-map:

R2(config)# access-list 10 permit 172.16.99.0 0.0.0.255
R2(config)# router ospf 1
R2(config-router)# distribute-list 10 out static

Anti-pattern classique du blueprint: redistribuer OSPF->statique->OSPF avec redistribute static des deux côtés d'un même lien crée une route auto-alimentée. Le tag, ou une route-map qui refuse tag 199, coupe la boucle.

Vérification

R2# show ip route ospf        ! les O E2 / O E1 sont visibles
R2# show ip ospf database external   ! LSA type 5, adv-router = ASBR
R1# show ip ospf database asbr-summary ! si résumés ASBR

show ip protocols liste les sources redistribuées avec leurs métriques. Une route redistribuée mais absente de la table locale ne part pas: la redistribution lit la table RIB, pas la config.

Order of operations

  1. La route existe dans la table de routage (statique active, connected up).
  2. redistribute static subnets sous le process OSPF.
  3. Option: metric, metric-type 1, tag, route-map.
  4. Vérifier sur un voisin éloigné, pas seulement sur l'ASBR.