Como executar o BGP redundante via Quagga no / 30 netblock?

9

Meu novo BGP upstream alocou um IPblock IPv4 / 30 como o bloco de cola para conectar nossos roteadores. No entanto, eu quero executar dois roteadores e failover entre eles. Se o netblock fosse maior (/ 29), eu poderia facilmente executar sessões BGP de ambos os meus roteadores, com ou sem VRRP (eles também poderiam executar o VRRP).

Existe uma configuração de failover VRRP / keepalived razoável que eu possa implementar sem que eles expandam o bloco de cola?

Ambos os meus roteadores estão executando o Linux (um Ubuntu, um Gentoo), com o Quagga; a configuração básica funciona bem.

robbat2
fonte

Respostas:

8

Você tem várias soluções Linux para redundância de primeiro salto da LAN para os dois roteadores (o Quagga em si não suporta VRRP, mas você pode usá-lo em conjunto com qualquer um deles sem problemas):

  • keepalived (como você já mencionou)
  • uCARP - Uma porta Linux do CARP do OpenBSD (Common Address Redundancy Protocol)
  • vrrpd - Um daemon VRRP escassamente documentado e praticamente não testado, mas uma opção mesmo assim

Observe que nada disso tem a ver com redundância de BGP, que acredito ser o verdadeiro problema que você está tentando resolver. No entanto, deve ser bem possível executar o VRRP no lado do provedor dos seus dois hosts Quagga e configurar o IP virtual do VRRP como "o seu lado" do seu ISP / 30 atribuído e usá-lo para fazer parceria com seu ISP. O tempo de failover provavelmente seria quase o mesmo (se não apenas um fio mais rápido que) a solução com Linux-HA abaixo. Com isso dito, eu pessoalmente acredito que a solução Linux-HA seria mais limpa e mais simples, mas isso também pode depender da topologia.

Quanto às suas opções com o BGP, existe um rascunho da IETF para o "BGP de várias sessões " que introduz um novo código de capacidade do BGP que visa suportar várias sessões do BGP com o mesmo ponto no mesmo endereço, mas esse rascunho pressupõe que ambas as sessões estar no mesmo dispositivo, no entanto, o rascunho é novo e o suporte para isso provavelmente não está nas revisões atuais do Quagga.

Uma outra opção é usar o Linux-HA para configurar um cluster de pulsação entre suas duas caixas e configurá-lo como tal para que, se o roteador principal falhar, a pulsação reconhecerá isso e ativará o Quagga / BGPd / etc no roteador em espera quando isso acontecer

John Jensen
fonte