Nouvel article sur la série BGP on va aborder la Local-preference après avoir vu le weight.
Vidéos Youtube :
Qu’est-ce que la local-preference ?
L’attribut BGP Local-preference avec une valeur élevée indique le chemin (en routage sortant) favoris au niveau de l’AS(Autonomous System). Cette attribut est annoncé dans l’AS et non en eBGP.
Pour résumé c’est comme l’attribut weight sauf que cela se configure plus en local sur le routeur mais au niveau de l’AS sur le routeur « favoris ».
Dans le schémas ci-dessus on va par exemple pour l’AS 123 choisir le routeur R3 comme routeur favoris et tous mes flux sortant passerons par R3. L’attribut Local-Preference va être alors configuré en local puis annoncés dans l’AS et R1 et R2 passerons par R3 pour accéder au réseaux hors AS 123.
Voici les confs des différents routeurs de l’AS 123:
Salut à tous ! On reprend la série BGP : on s’attaque à la métrique et on va parler du Weight (le poids).
Qu’est ce que le weight ?
Le weight est le premier attribut BGP comme vous pouvez le voir dans le tableau ci-dessous :
Le weight (poids) comme son nom l’indique permet de favoriser un voisin (BGP) par rapport à un autre. Exemple : j’ai un router A connecté au routeur B et au routeur C comme ci-dessous :
J’ai 2 chemins pour accéder à la même route, si je configure un poids à 100 sur le routeur B et un poids à 200 sur le routeur C, alors le routeur A passera par le routeur C pour accèder au réseau.
C’est tout simplement cela le weight 🙂 .
Remarques importantes :
La configuration est faite en local sur le routeur
Cette métriques n’est pas annoncée au routeur voisin
La métrique est par défaut à 0
Passons au LAB :
Vidéo Youtube :
Schéma :
Le but du LAB : faire passer les flux de Marseille vers LibreNMS qui passe initialement par Bordeaux et les faire passer par Nantes en mettant un poids supérieur au niveau de la configuration BGP.
Voici les confs des différents routeurs :
MARSEILLE :
MARSEILLE#show running-config
Building configuration...
Current configuration : 1576 bytes
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname MARSEILLE
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
ip dhcp pool CLIENT_LAN
network 192.168.70.0 255.255.255.0
default-router 192.168.70.1
!
!
!
no ip domain lookup
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
media-type gbic
speed 1000
duplex full
negotiation auto
!
interface GigabitEthernet1/0
ip address 50.54.30.1 255.255.255.252
negotiation auto
!
interface GigabitEthernet2/0
ip address 43.200.10.1 255.255.255.252
negotiation auto
!
interface GigabitEthernet3/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet4/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet5/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet6/0
ip address 192.168.70.1 255.255.255.0
negotiation auto
!
router bgp 111
bgp log-neighbor-changes
network 192.168.70.0
neighbor 43.200.10.2 remote-as 777
neighbor 43.200.10.2 weight 100
neighbor 50.54.30.2 remote-as 444
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
!
end
BORDEAUX:
BORDEAUX#show running-config
Building configuration...
Current configuration : 1504 bytes
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname BORDEAUX
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
!
!
no ip domain lookup
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
media-type gbic
speed 1000
duplex full
negotiation auto
!
interface GigabitEthernet1/0
ip address 50.54.30.2 255.255.255.252
negotiation auto
!
interface GigabitEthernet2/0
ip address 187.18.20.2 255.255.255.0
negotiation auto
!
interface GigabitEthernet3/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet4/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet5/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet6/0
no ip address
shutdown
negotiation auto
!
router bgp 444
bgp log-neighbor-changes
network 187.18.20.0 mask 255.255.255.0
neighbor 50.54.30.1 remote-as 111
neighbor 187.18.20.1 remote-as 999
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
ip prefix-list NY_BOR seq 5 permit 187.18.20.0/24
!
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
!
end
NANTES:
NANTES#show running-config
Building configuration...
Current configuration : 1452 bytes
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname NANTES
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
!
!
no ip domain lookup
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
media-type gbic
speed 1000
duplex full
negotiation auto
!
interface GigabitEthernet1/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet2/0
ip address 43.200.10.2 255.255.255.252
negotiation auto
!
interface GigabitEthernet3/0
ip address 150.90.40.2 255.255.255.0
negotiation auto
!
interface GigabitEthernet4/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet5/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet6/0
no ip address
shutdown
negotiation auto
!
router bgp 777
bgp log-neighbor-changes
network 150.90.40.0 mask 255.255.255.0
neighbor 43.200.10.1 remote-as 111
neighbor 150.90.40.1 remote-as 999
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
!
end
NEW YORK :
NEW_YORK#show running-config
Building configuration...
Current configuration : 1536 bytes
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname NEW_YORK
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
ip cef
!
!
!
!
ip dhcp pool WAN_NY
network 192.168.90.0 255.255.255.0
default-router 192.168.90.1
!
!
!
no ip domain lookup
no ipv6 cef
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface GigabitEthernet0/0
no ip address
shutdown
media-type gbic
speed 1000
duplex full
negotiation auto
!
interface GigabitEthernet1/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet2/0
ip address 187.18.20.1 255.255.255.0
negotiation auto
!
interface GigabitEthernet3/0
ip address 150.90.40.1 255.255.255.0
negotiation auto
!
interface GigabitEthernet4/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet5/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet6/0
ip address 192.168.90.1 255.255.255.0
negotiation auto
!
router bgp 999
bgp log-neighbor-changes
network 192.168.90.0
neighbor 150.90.40.2 remote-as 777
neighbor 187.18.20.2 remote-as 444
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
!
end
Ensuite nous allons configurer le weight sur Marseille :
router bgp 111
neighbor 43.200.10.2 weight 100
Comme on peut le voir dans la vidéo les flux passent désormais par NANTES.
Merci à vous, n’hésitez pas à vous abonnez et à commenter la vidéo !
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 :
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.
Quelques explications ma prefix-list est sous la forme :
ip prefix-listNOM_DE_MA_PREFIX-LISTpermit/denyMON_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.
Salut nous allons voir dans ce tuto comment configurer une relation iBGP et comment se déroule la redistribution de routes lorsque l’on passe par un AS de transit pour joindre un autre AS.
Voici les liens des 2 vidéos :
Remarque: Dans le tuto contrairement à la vidéo je ne montrerais pas la configuration des intercos et des adresses IPs.
1 ère étape: Configuration de la relation iBGP entre R1 et R2
Configuration OSPF R1:
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 102.12.1.0 0.0.0.3 area 0
Configuration OSPF R2:
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#network 102.12.1.0 0.0.0.3 area 0
Cette directive permet de modifier le next hop car en iBGP lorsque les routes sont redistribués le next hop n’est pas modifié(voir la vidéo pour plus de détails). Par exemple pour R1 le next hop sera 2.2.2.2(R2) et non 40.42.1.2 (R4) grâce à la directive next-hop-self.
Une fois que cela est fait je test la connectivité entre la loopback de R3 et de R4 :
Connectivité OK !
Fin de ce tuto ! N’hésite pas à t’abonnés et à me dire ce que tu en pense en commentaire 🙂 .
Salut nouveau tuto sur BGP. Nous allons voir comment configurer l’authentification dans une relation BGP. Puis nous verrons comment désactiver un voisin BGP.
Le lien de la vidéo youtube:
La topologie :
Pour ce lab j’ai rajouté un 3 ème routeur R3 avec qui je vais configurer la relation BGP avec un mots de passe puis shuter la session BGP et la remonter après.
1 ère étape : Configuration de la relation de voisinage entre R1 et R3 avec mots de passe
On voit que la session BGP est down. On peut le voir aussi en tapant la commande suivante :
R1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 100
BGP table version is 9, main routing table version 9
8 network entries using 1152 bytes of memory
8 path entries using 640 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2088 total bytes of memory
BGP activity 8/0 prefixes, 8/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
150.10.10.2 4 900 26 26 9 0 0 00:19:56 4
160.45.10.2 4 300 0 0 1 0 0 00:01:11 Idle (Admin)
Si je souhaite remonter la session BGP il suffit de reprendre la commande qui me permet de shuter la session et de mettre un « no » devant :
Salut ! On va continuer notre lancé sur BGP. On va reprendre le LAB précédent et je vais vous montrer comment résumer les routes en BGP. C’est à dire qu’au lieu d’annoncer par exemple mes 3 /24 suivant :
223.10.10.0/24
223.10.20.0/24
223.10.30.0/24
Je vais les annoncer en un seul réseau résumé : 223.10.0.0/16
On reste sur le même lab que le précédent tuto sauf que l’on va annoncer un nouveau préfixe résumé.
Pour que mon réseau soit annoncés en BGP il faut qu’il soit routé. Je créer donc une route sur R1 et R2 pour que les différents réseaux soit annoncées.
R1(config)#ip route 223.10.0.0 255.255.0.0 Null 0
R2(config)#ip route 79.10.0.0 255.255.0.0 Null 0
Je peux maintenant vérifier sur R1 et R2 :
R1#show ip bgp neighbors 150.10.10.2 received-routes
BGP table version is 9, local router ID is 150.10.10.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 79.10.0.0/16 150.10.10.2 0 0 900 i
*> 93.50.0.0/16 150.10.10.2 0 0 900 i
*> 93.60.0.0/16 150.10.10.2 0 0 900 i
*> 93.70.0.0/16 150.10.10.2 0 0 900 i
Total number of prefixes 4
R2#show ip bgp neighbors 150.10.10.1 received-routes
BGP table version is 9, local router ID is 150.10.10.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 204.10.0.0/16 150.10.10.1 0 0 100 i
*> 204.20.0.0/16 150.10.10.1 0 0 100 i
*> 204.30.0.0/16 150.10.10.1 0 0 100 i
*> 223.10.0.0/16 150.10.10.1 0 0 100 i
Total number of prefixes 4
On remarque que je reçois bien un réseau résumé donc 1 préfixe au lieu de 3.
Fin de ce tuto merci d’avoir lu et/ou vue ma vidéo. Je vous dit à la prochaine pour un autre tuto 😀 .
Dans ce tuto on va voir comment configurer une session BGP basique et en prime une vidéo Youtube qui accompagne ce tuto !!!
Lien de la vidéo :
La topologie (très simple) :
Le but de ce tuto établir la relation BGP entre R1 et R2 et annoncer les différents préfixes commençant par 204 et 93. On utilisera le réseau 150.10.10.0/30 pour l’interco IP entre R1 et R2.
Remarque : En BGP contrairement à OSPF et EIGRP on est obligés de déclarer le voisin dans sa configuration.
On peut afficher la table de voisinage BGP :
R1#show ip bgp summary
3 ème étape : Annonces réseaux
Comme vous pouvez le voir sur la photo au début de la photo au niveau de R1 je vais annoncer les 3 préfixes commençant par 204 et sur R2 les 3 préfixes commençant par 93.
Il faut ensuite que fasse une route Null pour chaque préfixes pour que le réseau soit annoncés en BGP car si un réseau n’est pas routé il ne sera pas annoncé en BGP.
Exemple :
ip route 204.10.0.0 255.255.0.0 Null0
Je fais la même chose pour le reste des préfixes.
4ème étape: Vérifier ce que l’on annonce et ce que l’on reçoit.
Pour vérifier ce que l’on annonce :
R1#show ip bgp neighbors 150.10.10.2 advertised-routes
Pour vérifier ce que je reçois il faut au préalable activer le « soft-reconfiguration inbound » sur le voisin BGP