BGP le filtrage les prefix-list

Salut à tous ! Bon ça fait un moment que j’ai pas écrit d’articles sur mon blog je m’étais focus sur la série « Debian en moins de 3 minutes » uniquement en petites vidéo Youtube.

Aujourd’hui je reviens 💪💪💪 sur la série BGP on va voir ensemble les prefix-list dans un LAB sur GNS3. J’explique dans la vidéo ce que cela est pour plus de précisions je vous invite à regarder ce lien en anglais :

https://www.cisco.com/c/m/en_us/techdoc/dc/reference/cli/nxos/commands/bgp/ip-prefix-list.html#:~:text=A%20prefix%20list%20consists%20of,match%20any%20prefix%2Dlist%20entry.&text=Cisco%20NX%2DOS%20evaluates%20prefix,until%20a%20match%20is%20made.

Sinon pour la faire courte une prefix-list c’est une peu comme une ACL (Access List) une liste d’IPs qui va me permettre de filtrer en l’occurence dans le cas de BGP d’annoncer certains réseaux à mes voisins et ne pas en annoncés d’autres. Dans les prefix-list il y’a un deny implicite tout ce qui ne sera pas permis ne sera pas autorisé.

Le LAB :

Contexte: Nous avons R1 (AS 111) qui doit annoncer seulement le réseaux Serveurs Publiques (carré rouge) à R2 (AS 800). Et annoncer à R3 (AS 999) les réseaux IP Firewalls (carré bleu foncé). De même R2 doit annoncer les réseaux en 200.10.0.0/22 et 200.10.4.0/22.

Remarque : Les IPs sont déjà configuré il y’aura uniquement la partie BGP et les prefix-list qui sera traité dans ce tuto.

Vidéo du LAB :

On commence le LAB !

Etape 1: Configuration de la relation de voisinage BGP.

Sur R1 :

R1(config)#router bgp 111
R1(config-router)#neighbor 120.80.10.2 remote-as 800
R1(config-router)#neighbor 110.90.30.2 remote-as 999

Sur R2 :

R2(config)#router bgp 800
R2(config-router)#neighbor 120.80.10.1 remote-as 111

Sur R3 :

R3(config)#router bgp 999
R3(config-router)#neighbor 110.90.30.1 remote-as 111

Je vérifie les relations de voisnage avec R2 et R3 sur R1 :

R1#show ip bgp summary 

On est bon de ce côté 😉

Etape 2 : Configuration de mes prefix-list

On entre dans le coeur du sujet. La configuration se fera uniquement sur R1 :

R1(config)#ip prefix-list SRV_PUB permit 153.139.0.0/20 le 22 
R1(config)#ip prefix-list FIREWALL permit 182.148.1.0/29                 
R1(config)#ip prefix-list FIREWALL permit 182.148.2.0/29 
R1(config)#ip prefix-list SRV_EXT permit 200.10.0.0/20 le 22

Quelques explications ma prefix-list est sous la forme :

ip prefix-list NOM_DE_MA_PREFIX-LIST permit/deny MON_RESEAU et si beoins le/ge

le : letter or equal

ge : gretter or equal

Si j’explique la prefix-list ci-dessous :

ip prefix-list SRV_PUB permit 153.139.0.0/20 le 22 

Cela donne : « J’autorise le réseau(résumé) en 153.139.0.0/20 dont les résaux annoncés ont un masque inférieurs ou égale à 22 donc tout ce qui est en /21 et en dessous. Cette prefix ce nomme SRV_PUB » voilà comment on pourrait traduire cette règle.

SRV_PUB représente les réseaux dans le carré rouge

SRV_EXT représente les réseaux dans le carré rose côté R2

FIREWALL les réseau dans le carré blei foncé.

Voir le schémas.

Etape 3 : J’applique mes prefix-list sur la conf BGP sur R1

R1(config-router)#neighbor 120.80.10.2 prefix-list SRV_PUB out 
R1(config-router)#neighbor 120.80.10.2 prefix-list SRV_EXT in 
R1(config-router)#neighbor 110.90.30.2 prefix-list FIREWALL out 

in : pour tout ce que je vais recevoir donc je filtre en entrée

out : pour tout ce que je vais envoyé donc je filtre en sortie.

Etape 4 : J’annonce mes réseaux

R1 :

R1(config-router)#network 153.139.0.0 mask 255.255.252.0 
R1(config-router)#network 153.139.4.0 mask 255.255.252.0 
R1(config-router)#network 153.139.8.0 mask 255.255.255.0 
R1(config-router)#network 182.148.1.0 mask 255.255.255.248
R1(config-router)#network 182.148.2.0 mask 255.255.255.248

R2 : 

R2(config-router)#network 200.10.0.0 mask 255.255.252.0   
R2(config-router)#network 200.10.4.0 mask 255.255.252.0

Sur R3 aucun réseaux à annoncés dans le cadre de ce LAB.

Etape 5: Vérifications

Commande :

show ip bgp

Sur R3 :

Sur R2 :

Sur R1 :

Mes prefix-list sont fonctionnels je reçoit bien les réseaux sur R2 et R3 que je dois recevoir et je ne reçois rien d’autres.

Tuto terminé merci d’avoir suivie et n’hésitez pas à partager vos remarques en commentaires et à vous abonnez à ma chaîne Youtube 😀 !