-
CONCEPTION & ARCHITECTURE
-
CONFIGURATION & DEPLOIEMENT
-
TESTS & DIAGNOSTICS
-
PEDAGOGIE & INFOS
Projet d'infrastructure réseau avancée implémentant une architecture de confédération BGP avec 13 routeurs Cisco répartis sur 7 systèmes autonomes (AS). Ce projet démontre la mise en œuvre de concepts réseau complexes incluant iBGP, eBGP, et la confédération BGP pour améliorer la scalabilité.
- Démontrer l'implémentation complète d'une confédération BGP.
- Illustrer les bonnes pratiques de configuration BGP et de conception de topologie.
- Fournir une infrastructure réseau exhaustive et documentée (plan d'adressage, configurations, tests).
- Servir de référence pour l'apprentissage, les certifications (CCNP, CCIE) et le déploiement sur GNS3/EVE-NG.
L'infrastructure Nelson Networking est composée de 13 routeurs, avec une architecture de confédération BGP au cœur du réseau :
| AS | Type | Description | Routeurs |
|---|---|---|---|
| AS 65000 | Backbone principal | AS de transit central (Full-Mesh iBGP) | R1, R2, R3 |
| AS 65010 | Confédération | AS confédéré (Identifier BGP) | R4 à R9 |
| AS 65011 | Sub-AS | Membre de la confédération (Triangle iBGP) | R4, R5, R6 |
| AS 65012 | Sub-AS | Membre de la confédération (Triangle iBGP) | R7, R8, R9 |
| AS 65060 | Client | Héberge le serveur WEB-SRV | R10 |
| AS 65070 | Client | Héberge le poste PC1 | R11 |
| AS 65080 | Client | Héberge le serveur FTP-SRV | R12 |
| AS 65090 | Client | Héberge le poste PC2 | R13 |
- Backbone AS 65000 : Connecté en triangle (R1 ↔ R2 ↔ R3).
- Sub-AS 65011 : Connecté en triangle (R4 ↔ R5 ↔ R6). R4 est la passerelle vers AS 65000.
- Sub-AS 65012 : Connecté en triangle (R7 ↔ R8 ↔ R9). R7 est la passerelle vers l'extérieur.
- Interconnexions externes :
- R1 (AS 65000) ↔ R10 (AS 65060) - Accès WEB-SRV
- R1 (AS 65000) ↔ R4 (AS 65011) - Connexion confédération
- R3 (AS 65000) ↔ R11 (AS 65070) - Accès PC1
- R7 (AS 65012) ↔ R12 (AS 65080) - Accès FTP-SRV
- R8 (AS 65012) ↔ R13 (AS 65090) - Accès PC2
Chaque routeur possède une interface Loopback0 utilisée comme Router-ID BGP.
| Routeur | Loopback0 (Router-ID) | Routeur | Loopback0 (Router-ID) |
|---|---|---|---|
| R1 | 1.1.1.1/32 |
R8 | 8.8.8.8/32 |
| R2 | 2.2.2.2/32 |
R9 | 9.9.9.9/32 |
| R3 | 3.3.3.3/32 |
R10 | 10.10.10.10/32 |
| R4 | 4.4.4.4/32 |
R11 | 11.11.11.11/32 |
| R5 | 5.5.5.5/32 |
R12 | 12.12.12.12/32 |
| R6 | 6.6.6.6/32 |
R13 | 13.13.13.13/32 |
| R7 | 7.7.7.7/32 |
- | - |
| Lien | Subnet | Routeur A (Interface) | Routeur B (Interface) |
|---|---|---|---|
| R1 ↔ R10 | 10.0.0.0/30 |
R1: e0/0 (10.0.0.2) | R10: e0/0 (10.0.0.1) |
| R1 ↔ R4 | 10.0.0.4/30 |
R1: e0/3 (10.0.0.5) | R4: e0/0 (10.0.0.6) |
| R7 ↔ R4 | 10.0.0.8/30 |
R7: e0/0 (10.0.0.10) | R4: (10.0.0.9) |
| R7 ↔ R12 | 10.0.0.12/30 |
R7: (10.0.0.13) | R12: e0/0 (10.0.0.14) |
| R1 ↔ R2 | 10.0.1.0/30 |
R1: e0/1 (10.0.1.1) | R2: e0/0 (10.0.1.2) |
| R1 ↔ R3 | 10.0.1.4/30 |
R1: e0/2 (10.0.1.5) | R3: e0/0 (10.0.1.6) |
| R2 ↔ R3 | 10.0.1.8/30 |
R2: e0/1 (10.0.1.9) | R3: e0/1 (10.0.1.10) |
| R4 ↔ R5 | 10.0.2.0/30 |
R4: e0/1 (10.0.2.1) | R5: e0/1 (10.0.2.2) |
| R4 ↔ R6 | 10.0.2.4/30 |
R4: e0/2 (10.0.2.5) | R6: e0/1 (10.0.2.6) |
| R5 ↔ R6 | 10.0.2.8/30 |
R5: e0/0 (10.0.2.9) | R6: e0/0 (10.0.2.10) |
| R7 ↔ R9 | 10.0.3.0/30 |
R7: e0/1 (10.0.3.1) | R9: e0/1 (10.0.3.2) |
| R7 ↔ R8 | 10.0.3.4/30 |
R7: e0/2 (10.0.3.5) | R8: e0/0 (10.0.3.6) |
| R8 ↔ R9 | 10.0.3.8/30 |
R8: e0/1 (10.0.3.9) | R9: e0/0 (10.0.3.10) |
| R3 ↔ R11 | 10.0.4.0/30 |
R3: e0/2 (10.0.4.1) | R11: e0/0 (10.0.4.2) |
| R8 ↔ R13 | 10.0.5.0/30 |
R8: e0/2 (10.0.5.1) | R13: e0/0 (10.0.5.2) |
| Réseau | AS | Routeur | Hôte Client |
|---|---|---|---|
192.168.60.0/24 |
65060 | R10 | WEB-SRV |
192.168.70.0/24 |
65070 | R11 | PC1 |
192.168.80.0/24 |
65080 | R12 | FTP-SRV |
192.168.90.0/24 |
65090 | R13 | PC2 |
- iBGP Full-Mesh entre R1, R2, R3.
- Peering eBGP avec les clients AS 65060 (R10) et AS 65070 (R11).
- Peering eBGP avec la confédération (vers R4).
La confédération divise un grand AS en sous-AS pour des raisons de scalabilité. La configuration spécifique requiert l'identification de la confédération globale :
router bgp 65011
bgp confederation identifier 65010
bgp confederation peers 65011 65012
- Sub-AS 65011 (R4, R5, R6) : Connecté au backbone via R4.
- Sub-AS 65012 (R7, R8, R9) : Connecté aux clients via R7 et R8.
Les AS stub (65060, 65070, 65080, 65090) ont une relation eBGP unique avec le fournisseur et annoncent leurs réseaux locaux (network 192.168.x.0 mask 255.255.255.0).
TP_CONFED_BGP/
│
├── 1.Documentation/
│ ├── Doc_TP_Confed_BGP.pdf # Guide réseau exhaustif
│ └── TOPOLOGIE 4.png # Diagramme réseau
│
├── 2.Configs/ # Fichiers de config prêts à l'emploi
│
├── README.md # La présentation du projet
└── LICENSE # MIT
- Émulateur réseau : GNS3 (v2.2+) ou EVE-NG.
- Images IOS : Cisco IOSv ou IOL compatibles BGP.
Créez la topologie sur GNS3/EVE-NG en respectant scrupuleusement les interfaces et connexions du schéma de la topologie. Allumez les routeurs de R1 à R13.
Transférez les configurations standardisées sur vos routeurs (par exemple, en utilisant SCP ou en copiant le contenu directement dans la console) :
# Exemple de transfert via SCP vers l'AS 65000
scp 2.Configs/configs_R1.cfg [email protected]:/nvram:startup-config
scp 2.Configs/Configs_R2.cfg admin@<IP-R2>:/nvram:startup-config
scp 2.Configs/Configs_R3.cfg admin@<IP-R3>:/nvram:startup-config
# Poursuivre de la même manière pour R4 à R13...Note : Si SSH n'est pas activé initialement sur vos routeurs virtuels, le plus simple est de copier-coller le contenu des fichiers Configs_R*.cfg directement dans la console série.
Sur chaque routeur, assurez-vous de sauvegarder :
copy running-config startup-config
Une fois le réseau en place, vous devez vérifier son fonctionnement.
show ip interface brief
show ip route
ping <neighbor-ip>
Les sessions BGP doivent toutes être dans l'état Established :
show ip bgp summary
show ip bgp neighbors | include BGP state
Vérification des routes annoncées et reçues :
show ip bgp
show ip bgp neighbors 10.0.0.2 received-routes
show ip bgp neighbors 10.0.0.2 advertised-routes
Sur R4 à R9, l'attribut AS_CONFED_SEQUENCE doit apparaître dans les chemins d'AS pour le routage interne à la confédération.
show ip bgp
show run | section bgp
WEB-SRV vers PC1 (Traversée du Backbone) :
! Sur R10 (ou le serveur Web)
ping 192.168.70.1 source 192.168.60.1
traceroute 192.168.70.1 source 192.168.60.1
! Chemin attendu : R10 → R1 → R3 → R11
WEB-SRV vers FTP-SRV (Traversée de la Confédération) :
! Sur R10
ping 192.168.80.1 source 192.168.60.1
! Chemin attendu : R10 → R1 → R4 → R5/R6 → R7 → R12
- Diagnostic : Problème de peering ou connectivité TCP (port 179).
- Commandes utiles :
show ip bgp summary,ping <voisin>. - Solutions courantes : Vérifier le routage IP, l'exactitude des
remote-as, ou relancer la session avecclear ip bgp <neighbor-ip>.
- Diagnostic : Commande
networkmanquante, ou problème de Next-Hop. - Solutions courantes : Vérifier que la route exacte est présente dans la table de routage globale, et que l'iBGP n'est pas bloqué par la règle Split-Horizon. Ajouter
next-hop-selfsi besoin sur le routeur de bordure.
- Diagnostic : Le traceroute s'arrête en plein milieu.
- Vérification :
show ip bgp <destination>, observez leNext Hop. L'IP du saut suivant doit être joignable via l'IGP ou statiquement.
(À utiliser avec modération, risque de surcharge CPU)
debug ip bgp events
debug ip bgp updates
undebug all
Ce projet constitue une base idéale pour les laboratoires de certification (CCNA/CCNP/CCIE). Que ce soit pour ajouter des tunnels IPsec, des VPN MPLS, ou améliorer la documentation, vos contributions sont les bienvenues !
-
Forkez le projet en haut à droite du dépôt.
-
Clonez votre fork en local et créez une branche :
git checkout -b feature/ma-nouvelle-fonctionnalite
-
Committez vos modifications en respectant notre standard de messages :
feat:Nouvelle fonctionnalité (ex:feat: ajout route-reflector pour R1)fix:Correction de bugdocs:Modification de documentationstyle:Formatage des configurations Cisco
-
Poussez vers votre fork :
git push origin feature/ma-nouvelle-fonctionnalite
-
Ouvrez une Pull Request sur GitHub !
Veuillez suivre le format standardisé utilisé dans le dossier 2.Configs/ (bannières de début/fin, enable, configure terminal, indentation des sous-interfaces, et write memory à la fin).
Si vous rencontrez un problème (ex: boucle de routage, session BGP Idle), ouvrez une Issue en indiquant :
- L'OS et l'émulateur utilisé (GNS3 / EVE-NG).
- L'image IOS testée.
- Les étapes pour reproduire, et idéalement un résultat de commande
show ip bgp summaryoutraceroute.
Licence : Projet distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Nelson Bandos
Pour tout problème, n'hésitez pas à ouvrir une issue ou à consulter la documentation PDF complète présente dans ce dépôt.
