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:
- Une route par défaut apprise de l'ISP (statique) doit être diffusée aux routeurs internes OSPF.
- Des réseaux stub configurés en statique (pas de voisin OSPF possible sur un lien client) doivent être connus du cœur OSPF.
- 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
- La route existe dans la table de routage (statique active, connected up).
redistribute static subnetssous le process OSPF.- Option:
metric,metric-type 1,tag,route-map. - Vérifier sur un voisin éloigné, pas seulement sur l'ASBR.