Le protocole BGP (Border Gateway Protocol) est l'un des protocoles clés à utiliser pour réaliser la redondance de connexion Internet. Quand vous connectez votre réseau à deux fournisseurs de services Internet différents (ISPs), cela s'appelle l'hébergement multiple. L'hébergement multiple fournit la redondance et l'optimisation du réseau. Il sélectionne l'ISP qui offre le meilleur chemin à une ressource. Quand vous exécutez BGP avec plusieurs fournisseurs de services, vous prenez le risque que votre système autonome (AS) devienne un AS de transit. Le trafic Internet passe ainsi par votre AS et utilise potentiellement toute la bande passante et toutes les ressources sur le CPU de votre routeur. Ce document traite de ce problème, avec des exemples de configuration appropriés.
Assurez-vous que vous avez pris connaissance de ces sujets avant de tenter cette configuration :
Les informations dans ce document sont basées sur le Routeurs de la gamme Cisco 2500 qui exécutent le Cisco IOS? Version de logiciel 12.2(27).
Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Si vous voulez recevoir la table de routage Internet complète, utilisez Configuration pour recevoir une table de routage Internet complète sur votre routeur local (routeur A dans les exemples dans ce document).
Si vous voulez recevoir les routes qui sont directement connectées à vos fournisseurs de services, mais utiliser des routes par défaut pour le reste d'Internet, essayez Configuration pour recevoir des routes directement connectées.
Si vous voulez recevoir uniquement des routes par défaut à partir des fournisseurs de services directement connectés, utilisez Configuration pour recevoir des routes par défaut seulement.
Pour plus d'informations sur les expressions régulières utilisées dans les configurations dans ce document, référez-vous à Utilisation d'expressions régulières dans BGP.
Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.
Ce document utilise la configuration réseau suivante :
Dans ce diagramme de réseau, 1.0.0.0/8 et 2.0.0.0/8 sont annoncés par AS 300 à l'extérieur.
La configuration suivante permet au routeur A de s'associer avec des speakers BGP dans d'autres systèmes autonomes. La commande route-map localonly permet uniquement aux routes générées en local d'être annoncées sur chacun des deux fournisseurs de services. En d'autres termes, ils filtrent les routes Internet d'un fournisseur de services qui reviennent à l'autre fournisseur de services. Ceci empêche que votre système autonome devienne un AS de transit pour le trafic Internet.
Note: Cisco recommande 1 Go de mémoire pour la table de routage d'Internet dans son ensemble d'un pair simple.
routeur A |
---|
Current configuration: router bgp 300 network 1.0.0.0 network 2.0.0.0 neighbor 10.10.10.10 remote-as 100 neighbor 10.10.10.10 route-map localonly out !--- Outgoing policy route-map that filters routes to service provider A (SP-A). neighbor 20.20.20.20 remote-as 200 neighbor 20.20.20.20 route-map localonly out !--- Outgoing policy route-map that filters routes to service provider B (SP-B). end |
Cette liste d'accès AS-Path autorise uniquement les routes BGP localement lancées :
ip as-path access-list 10 permit ^$
C'est un exemple de carte de route qui emploie la liste d'accès AS-Path pour filtrer les routes annoncées aux voisins externes dans les réseaux du fournisseur de services :
route-map localonly permit 10 match as-path 10
routeur A |
---|
Current configuration: router bgp 300 network 1.0.0.0 network 2.0.0.0 neighbor 10.10.10.10 remote-as 100 neighbor 10.10.10.10 route-map localonly out !--- Outgoing policy route-map that filters routes to SP-A. neighbor 10.10.10.10 route-map as100only in !--- Incoming policy route-map that filters routes from SP-A. neighbor 20.20.20.20 remote-as 200 neighbor 20.20.20.20 route-map localonly out !--- Outgoing policy route-map that filters routes to SP-B. neighbor 20.20.20.20 route-map as200only in !--- Incoming policy route-map that filters routes from SP-B. end |
Puisque vous voulez accepter seulement les routes qui sont directement connectées aux fournisseurs de services, vous devez filtrer les routes qui vous sont envoyées aussi bien que les routes que vous annoncez. Ces liste d'accès et carte de route autorisent uniquement les routes localement lancées ; employez-les pour filtrer des mises à jour du routage sortant :
ip as-path access-list 10 permit ^$ !--- Configuring the as-path access-list 10 as !--- IP as-path access-list 10 permit ^$, means that the router !--- will only send the prefixes which are generated locally in !--- AS 300 and not from any other AS. route-map localonly permit 10 match as-path 10
Ces liste d'accès et carte de route filtrent tout ce qui n'est pas originaire du réseau du premier fournisseur de services ; employez-les pour filtrer les routes qui sont apprises du fournisseur de services A (SP-A)).
ip as-path access-list 20 permit ^100$ route-map as100only permit 10 match as-path 20
Ces liste d'accès et carte de route filtrent tout ce qui n'est pas originaire du réseau du second fournisseur de services ; employez-les pour filtrer les routes qui sont apprises du fournisseur de services B (SP-B).
ip as-path access-list 30 permit ^200$ route-map as200only permit 10 match as-path 30
Vous avez besoin également de deux routes par défaut qui sont redistribuées dans le reste de votre réseau, une pointée vers chacun des points d'entrée de fournisseur de services :
ip route 0.0.0.0 0.0.0.0 10.10.10.10 ip route 0.0.0.0 0.0.0.0 20.20.20.20
routeur A |
---|
Current configuration: router bgp 300 network 1.0.0.0 network 2.0.0.0 neighbor 10.10.10.10 remote-as 100 neighbor 10.10.10.10 route-map localonly out !--- Outgoing policy route-map that filters routes to SP-A. neighbor 10.10.10.10 prefix-list ABC in neighbor 20.20.20.20 remote-as 200 neighbor 20.20.20.20 route-map localonly out !--- Outgoing policy route-map that filters routes to SP-B. neighbor 20.20.20.20 prefix-list ABC in ip prefix-list ABC seq 5 permit 0.0.0.0/0 !--- Prefix list to allow only default route updates. end |
Puisque vous voulez que le routeur A reçoive uniquement les routes par défaut et aucun autre réseau de SP-A et SP-B, vous devez autoriser seulement la route par défaut et refuser toutes les autres mises à jour BGP. Utilisez cette liste de préfixes pour autoriser uniquement la mise à jour de la route par défaut 0.0.0.0/0 et refuser toutes les autres mises à jour BGP sur le routeur A :
ip prefix-list ABC seq 5 permit 0.0.0.0/0
Appliquez cette liste de préfixes sur les mises à jour entrantes sur les voisins BGP individuels de cette façon :
neighbor 10.10.10.10 prefix-list ABC in neighbor 20.20.20.20 prefix-list ABC in
Pour plus d'informations sur la façon de configurer une liste de préfixes, référez-vous à la section Configuration du filtrage BGP à l'aide de listes de préfixes de Configuration de BGP
Pour des explications sur la fonction de chaque commande, référez-vous à Configuration de BGP et Commandes BGP.
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .
Vous pouvez utiliser les commandes show ip route et show ip bgp pour contrôler la table de routage IP et les entrées de la table de routage BGP.
Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.