Je n'ai pas utilisé openbgpd depuis des années, donc je vais vous donner une théorie que vous pouvez appliquer à votre configuration.
Un fournisseur peut vous envoyer des itinéraires. En règle générale, ils enverront «par défaut», «clients» ou «complet». Un itinéraire par défaut est juste cela, 0.0.0.0/0 vous est annoncé et vous savez atteindre 0.0.0.0/0 (n'importe quelle IP) à travers eux. Votre situation donne l'impression que les deux fournisseurs vous proposent un itinéraire par défaut, et très probablement, celui avec l'ASN inférieur reçoit tout le trafic (l'ASN étant le bris d'égalité lorsqu'un paquet peut aller vers plusieurs destinations et que les chemins AS sont égaux longueur, etc.).
Un flux «clients» leur ferait annoncer chaque itinéraire qui leur est directement connecté. Si vous avez un fournisseur comme Level3, vous verrez probablement la moitié d'Internet via ce flux. Si votre autre fournisseur a un ASN inférieur, il obtiendrait tout le trafic qui n'était pas directement connecté au pair vous annonçant les itinéraires de ses clients vers vous.
Un flux «complet» contiendra des annonces d'itinéraire pour chaque site auquel un fournisseur sait comment accéder - et pas seulement ceux qui sont directement connectés.
Vous devriez pouvoir faire quelque chose comme:
show ip bgp summary (commande IOS)
qui devrait indiquer le nombre de préfixes reçus quelque part.
Si vos deux fournisseurs existants vous envoient un itinéraire par défaut, votre connexion est actuellement configurée pour le basculement. Le fournisseur A descend, vous acheminez ensuite vers le fournisseur B. Si vous prenez les flux clients des deux avec l'itinéraire par défaut, le trafic circule vers le fournisseur qui a le plus court chemin ASpath pour atteindre une adresse donnée, et retombe à la valeur par défaut route s'il n'a pas pu trouver l'adresse. Si vous obtenez un flux complet des deux, en fonction du chevauchement entre les fournisseurs, vous enverrez du trafic par le «meilleur» chemin à chacun.
Sur l'un de nos routeurs frontaliers, je montre 310540 routes actives, assurez-vous que vous avez suffisamment de RAM et que vous avez configuré la machine pour gérer les routes des deux fournisseurs si vous prenez des routes complètes. Vous pouvez essayer de prendre les itinéraires des clients des deux jusqu'à ce que vous soyez plus à l'aise. Ou prenez les itinéraires des clients auprès du plus petit fournisseur des deux et voyez comment les choses changent.
Cela n'équilibre toujours pas la charge ou ne répartit pas le trafic de manière égale et en fonction de votre trafic. Vous pourriez constater qu'un fournisseur obtient toujours la part du lion du trafic. À ce stade, vous devrez faire des cartes de préfixe / route pour ajuster le trafic afin de préférer un homologue ou l'autre.
Une fois que vous avez configuré des cartes d'itinéraire ou une correspondance ASN pour déplacer votre trafic, si le site de destination tombe en panne et que son itinéraire est supprimé de ce fournisseur, votre routeur enverra toujours le trafic via l'autre connexion. BGP est un peu auto-guérison.
Ce que nous avons fait, c'est que nous avons défini quelques cartes qui correspondent sur la base de l'ASN.
PROVIDER_A_TO PROVIDER_A_THROUGH PROVIDER_B_TO PROVIDER_B_THROUGH
Juniper rend cela plus facile que d'utiliser des communautés, cependant, vous pouvez faire l'une ou l'autre.
Nos listes de préfixes voient si la destination est un ASN particulier, et si c'est le cas, il passe par la carte _TO. Si l'ASN est répertorié dans _THROUGH, il préférera ce fournisseur. Étant donné que l'un de nos fournisseurs a une connexion directe avec AT&T, PROVIDER_B_THROUGH correspond sur 7018 | 7019 (et quelques autres ASN) afin que le trafic AT&T par défaut vers le fournisseur B. Même si AT&T est accessible à partir des deux, nous préférons l'envoyer via le fournisseur B .
Je suis sûr que openbgpd a des méthodes similaires.