Comment exécuter BGP redondant via Quagga sur / 30 netblock?

9

Mon nouveau BGP en amont a alloué un netblock IPv4 / 30 comme bloc de colle pour connecter nos routeurs. Je veux cependant exécuter deux routeurs et basculer entre eux. Si le netblock était plus grand (/ 29), je pouvais facilement exécuter des sessions BGP à partir de mes deux routeurs, avec ou sans VRRP (ils pouvaient également exécuter VRRP).

Existe-t-il une configuration de basculement VRRP / keepalived raisonnable que je puisse implémenter sans leur faire étendre le bloc de colle?

Mes deux routeurs exécutent Linux (un Ubuntu, un Gentoo), avec Quagga; la configuration de base fonctionne bien.

robbat2
la source

Réponses:

8

Vous disposez de plusieurs solutions Linux pour la redondance du premier saut hors de votre réseau local vers les deux routeurs (Quagga lui-même ne prend pas en charge VRRP mais vous pouvez utiliser Quagga en conjonction avec l'un d'eux sans aucun problème):

  • Keepalived (comme vous l'avez déjà mentionné)
  • uCARP - Un port Linux du CARP d'OpenBSD (Common Address Redundancy Protocol)
  • vrrpd - Un démon VRRP peu documenté et largement non testé, mais une option néanmoins

Notez qu'aucun de ces éléments n'a quoi que ce soit à voir avec la redondance BGP, qui, je crois, est le vrai problème que vous essayez de résoudre. Cependant, il devrait être tout à fait possible d'exécuter VRRP du côté fournisseur de vos deux hôtes Quagga et de configurer l'adresse IP virtuelle VRRP comme «votre côté» de votre / 30 FAI-assigné par l'ISP et l'utiliser pour peerer avec votre FAI. Le temps de basculement serait probablement proche de la même solution (si ce n'est juste un cheveu plus rapide que) avec Linux-HA ci-dessous. Cela dit, je pense personnellement que la solution Linux-HA serait plus propre et plus simple, mais cela peut également dépendre de la topologie.

En ce qui concerne vos options avec BGP, il existe un projet IETF pour "multisesssion BGP" qui introduit un nouveau code de capacité BGP qui vise à prendre en charge plusieurs sessions BGP avec le même homologue sur la même adresse, mais ce projet suppose que les deux sessions être sur le même appareil, mais le projet est tout nouveau et le support pour cela ne devrait pas être dans les révisions actuelles de Quagga.

Une autre option consiste à utiliser Linux-HA pour configurer un cluster de pulsations entre vos deux boîtiers et le configurer comme tel de sorte que si le routeur principal tombe en panne, les pulsations le reconnaissent et activent Quagga / BGPd / etc sur le routeur de secours quand cela arrive.

John Jensen
la source