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 !
Bonjour à tous je reviens après un petit moment d’absence sur mon blog.
Nous allons attaquer un nouveau domaine : la sécurité !!!
Plus précisément le firewalling avec le produit Fortigate, un firewall créé par la société Fortinet (société américaine) spécialisée dans les équipements de sécurité réseau.
Voici le lien de ma vidéo Youtube :
Dans ce lab on va importer le fichier OVF avec une VM Fortigate puis configurer une IP en CLI.
Prérequis :
VMWare Workstation (ou VirtualBox)
Se procurer le fichier OVF fortigate en faisant une demande directement à Fortigate ou à un partenaire Forti.
Contexte : On utilisera VMWare Workstation dans ce lab; vous pourrez adapter si besoin est à VirtualBox (une vidéo sera peut être faite avec VirtualBox pour authentification AD avec Forti)
Tout d’abord importer le fichier OVF sur VMWare Workstation en cliquant sur « Open a Virtual Machine » :
J’accepte le contrat de licence :
Je fournis un nom et l’emplacement où sera enregistré la VM :
Ma VM est bien importée 🙂
Avant de la démarrer, je vais m’assurer que l’interface numéro 1 est bien en bridge en regardant dans les settings (les autres interfaces ne nous intéresse pas pour le moment).
PS : Normalement toutes les interfaces sont en bridge.
Je démarre ensuite la VM :
ATTENTION !!! On est en QWERTY
Login : admin
et pas de mot de passe (taper juste sur la touche ENTREE)
Astuce pour le login taper: qd,in
On configure l’interface port1 :
config system interface
edit port1
set mode static
set ip 192.168.1.111 255.255.255.0
On est toujours en QWERTY mais vous arriverez à vous débrouiller avec la tabulation.
je tape :
end
Et ensuite je vérifie ma conf :
show system interface
Mon interface est bien configuré. Je peux désormais accéder en WEBGui à mon Fortigate :
Login comme en CLI « admin » et sans mots de passe. Et cette fois vous pourrez écrire en AZERTY 😀 .
A bientôt pour de nouveau tutos sur Fortigate et d’autres sujets 🙂 !
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
LE LAB : Nous allons avoir un réseau très simple pour ce lab. Un réseau admin(192.168.10.0/24), un réseau employés(192.168.40.0/24) et le réseau du serveur(172.16.50.0/24).
But du LAB : Il faut que seul le réseau admin puisse accèder en SSH au routeur. Il faut que le réseau admin puissent accèder à tous les services du serveur WEB (DNS et HTTP). Le réseau EMPLOYES ne pourra que pinguer et accèder au service HTTP du serveur WEB.
1 ère étape : Configuration de l’ACL étendue SSH_ROUTEUR
J’autorise le réseau EMPLOYES a interrogé mon serveur uniquement sur le port 80 (HTTP)
J’applique la règle ensuite sur mon interface :
R1ACL2(config)#interface gigabitEthernet 0/1
R1ACL2(config-if)#ip access-group EMPLOYEStoSERVER in
J’affiche la conf de mes ACLs pour vérifier que tout est ok :
R1ACL2#sh ip access-lists
Extended IP access list SSH_ROUTEUR
10 permit tcp 192.168.10.0 0.0.0.255 host 192.168.10.1 eq 22
20 permit tcp 192.168.10.0 0.0.0.255 host 172.16.50.250 range domain www
Extended IP access list EMPLOYEStoSERVER
10 permit tcp 192.168.40.0 0.0.0.255 host 172.16.50.250 eq www
Je fait aussi un show run pour voir si les règles sont bien appliqués sur les interfaces :
interface GigabitEthernet0/0
ip address 192.168.10.1 255.255.255.0
ip access-group ADMINtoSERVER in
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 192.168.40.1 255.255.255.0
ip access-group EMPLOYEStoSERVER in
duplex auto
speed auto
Une fois terminé je peux tester mes règles sur mes différents réseaux :
Depuis le réseau ADMIN le DNS est OK :
Et je parviens à accèder en HTTP à mon serveur :
En revanche sur mon réseau EMPLOYES je ne parviens pas à interoogé mon serveur DNS car je ne l’ai pas autorisé :
L’accès WEB lui en revanche est OK car je l’ai explicitement autorisé.
Fin de ce tuto n’hésitez à laisser un commentaire et me dire ce que vous en pensez à bientôt 😀 .