OSPF – Inter area routes filtering

Hi everybody !

Penchons nous sur le filtrage de routes OSPF inter-area (O IA). C’est parti !

Voici la topo que je vais utiliser :

Par défaut, aucun filtrage n’est appliqué. Concrètement, je vais expliquer comment filtrer la loopback 10 (uniquement) de R3 vers les autres areas.

Voici un aperçu de la table de routage de R1 et de R2 avant la mise en place de filtrage :

R1#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override

Gateway of last resort is not set

2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/21] via 10.14.0.4, 00:11:12, Ethernet0/0
3.0.0.0/32 is subnetted, 2 subnets
O IA 3.3.3.3 [110/21] via 10.14.0.4, 00:11:19, Ethernet0/0
O IA 3.3.3.10 [110/21] via 10.14.0.4, 00:00:01, Ethernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.24.0.0/24 [110/20] via 10.14.0.4, 00:11:19, Ethernet0/0
O IA 10.34.0.0/24 [110/20] via 10.14.0.4, 00:11:19, Ethernet0/0
R2#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/21] via 10.24.0.4, 00:11:47, Ethernet0/2
3.0.0.0/32 is subnetted, 2 subnets
O IA 3.3.3.3 [110/21] via 10.24.0.4, 00:11:47, Ethernet0/2
O IA 3.3.3.10 [110/21] via 10.24.0.4, 00:00:35, Ethernet0/2
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O IA 10.14.0.0/24 [110/20] via 10.24.0.4, 00:11:47, Ethernet0/2
O IA 10.34.0.0/24 [110/20] via 10.24.0.4, 00:11:47, Ethernet0/2

Comme vous pouvez le voir, il n’y a rien de particulier. Voyons maintenant comment effectuer le filtrage. Avec le protocole OSPF, le filtrage des routes inter area peut être effectué à un seul endroit uniquement : sur l’ABR. En effet, c’est l’ABR qui reçoit les différents LSAs (type 1 et type 2) au sein d’une aire, et qui génère les LSAs correspondants (type 3) vers les autres aires.

2 possibilités s’offrent à nous :

  • Option 1 – Filtrer les LSAs à destination de toutes les areas.
  • Option 2 – Filtrer les LSAs à destination d’une area en particulier.

Voici un schéma plus explicatif :

On voit que le filtrage peut être effectué en “sortie ” (OUT) de l’area 0 (option 1) ou bien à l’entrée (IN) de l’area 2 (option 2).

Option 1 – Filtrer les LSAs à destination de toutes les areas.

On va commencer par cette méthode. Ici, la loopback 10 de R3 va être filtrée par l’ABR (R4), donc R1 et R2 n’auront plus cette route.

R4#conf t
R4(config)#ip prefix-list FILTRAGE_LOOPBACK10_R3 seq 10 deny 3.3.3.10/32
R4(config)#ip prefix-list FILTRAGE_LOOPBACK10_R3 seq 20 seq 20 permit 0.0.0.0/0 le 32
R4(config)#router ospf 1
R4(config-router)#area 0 filter-list prefix FILTRAGE_LOOPBACK10_R3 out

Quelle area utiliser pour filtrer ? Quelle direction ? IN ou OUT ?

Le schéma ci-dessus explique le fonctionnement du filtrage. Pour notre cas, il faut filtrer sur l’OUT de l’area 0. Si on veut filtrer uniquement les LSAs à destination d’une aire en particulier, il faut utiliser le IN de l’aire concernée.

Vérifions si le LSA 3.3.3.10 est bien filtré :

R1#sh ip ospf database summary | i 3.3.3
Link State ID: 3.3.3.3 (summary Network Number)
R2#sh ip ospf database summary | i 3.3.3
Link State ID: 3.3.3.3 (summary Network Number)

Parfait, le LSA 3.3.3.10 étant bien filtré et il reste bien le LSA 3.3.3.3 dans la LSDB. La route 3.3.3.10/32 devrait donc disparaitre de la table de routage. Vérifions cela :

R1#sh ip route ospf | i 3.3.3
O IA 3.3.3.3 [110/21] via 10.14.0.4, 00:13:25, Ethernet0/0
R2#sh ip route ospf | i 3.3.3
O IA 3.3.3.3 [110/21] via 10.24.0.4, 00:13:40, Ethernet0/2

Option 2 – Filtrer les LSAs à destination d’une area en particulier.

Bon, vous l’aurez compris, on va modifier la règle de filtrage sur R4 (l’ABR) par rapport à ce que j’ai expliqué plus haut.

R4#conf t
R4(config)#router ospf 1
R4(config-router)#no area 0 filter-list prefix FILTRAGE_LOOPBACK10_R3 out
R4(config-router)#area 2 filter-list prefix FILTRAGE_LOOPBACK10_R3 in

Vérifions l’état des LSBD de R1 et R2 :

R1#sh ip ospf database summary | i 3.3.3
Link State ID:3.3.3.3 (summary Network Number)
Link State ID: 3.3.3.10 (summary Network Number)
R2#sh ip ospf database summary | i 3.3.3
Link State ID: 3.3.3.3 (summary Network Number)

Le LSA 3.3.3.10 a disparu de R2, comme prévu :-). Côté table de routage, R1 est OK :

R1#sh ip route ospf | i 3.3.3
O IA 3.3.3.3 [110/21] via 10.14.0.4, 00:17:11, Ethernet0/0
O IA 3.3.3.10 [110/21] via 10.14.0.4, 00:01:10, Ethernet0/0

Côté R2, le 3.3.3.10 est bien filtré :

R2#sh ip route ospf | i 3.3.3
O IA 3.3.3.3 [110/21] via 10.24.0.4, 00:17:22, Ethernet0/2

J’espère que cette article aura pu vous aider à clarifier le mécanisme de filtrage de route sur OSPF. Je publierais un autre article sur le filtrage de route externes.

Cya guys !

Leave a Reply

Your email address will not be published. Required fields are marked *