Eu não uso o openbgpd há anos, portanto, darei uma teoria que você pode aplicar à sua configuração.
Um provedor pode enviar rotas a você. Normalmente eles enviarão 'padrão', 'clientes' ou 'cheio'. Uma rota padrão é exatamente isso: 0.0.0.0/0 é anunciado a você e você sabe que alcança 0.0.0.0/0 (qualquer IP) por meio deles. Sua situação faz parecer que os dois fornecedores estão lhe entregando uma rota padrão e, provavelmente, aquele com o ASN mais baixo está recebendo todo o tráfego (o ASN é o desempatador quando um pacote pode ir para vários destinos e os caminhos do AS são iguais comprimento, etc.).
Um feed de 'clientes' solicita que eles anunciem todas as rotas diretamente conectadas a eles. Se você tiver um provedor como o Level3, provavelmente verá metade da Internet através deste feed. Se o seu outro provedor tiver um ASN menor, eles receberão qualquer tráfego que não esteja diretamente conectado ao ponto anunciando suas rotas de clientes para você.
Um feed 'completo' terá anúncios de rotas para todos os sites que um provedor sabe como acessar - não apenas aqueles que estão diretamente conectados.
Você deve ser capaz de fazer algo como:
mostre o sumário do IP BGP (comando IOS)
que deve listar o número de prefixos recebidos em algum lugar.
Se os dois provedores existentes estiverem enviando uma rota padrão, sua conexão está atualmente configurada para failover. O provedor A fica inoperante, você encaminha para o provedor B. Se você pegar os feeds dos clientes junto com a rota padrão, o tráfego fluirá para o provedor que possui o caminho mais curto para atingir um determinado endereço e retornará ao padrão. rota se não conseguir encontrar o endereço. Se você obtiver um feed completo de ambos, dependendo da sobreposição entre os provedores, você enviará o tráfego pelo melhor caminho para cada um.
Em um de nossos roteadores de borda, mostro 310540 rotas ativas, verifique se você tem RAM suficiente e configurou a máquina para lidar com as rotas de ambos os provedores, se você seguir rotas completas. Você pode experimentar percorrer rotas de clientes de ambos até ficar mais confortável. Ou siga as rotas dos clientes do fornecedor menor dos dois e veja como as coisas mudam.
Isso ainda não 'equilibra a carga' ou divide o tráfego uniformemente e dependendo do seu tráfego. Você pode achar que um provedor ainda recebe a maior parte do tráfego. Nesse ponto, você precisaria fazer alguns mapas de prefixo / rota para ajustar o tráfego para preferir um ponto ou outro.
Depois de configurar mapas de rotas ou uma correspondência ASN para alterar seu tráfego, se o site de destino cair e a rota for removida desse provedor, o roteador ainda enviará o tráfego para a outra conexão. O BGP é um pouco autocurativo.
O que fizemos é que temos alguns mapas definidos que correspondem com base no ASN.
PROVIDER_A_TO PROVIDER_A_THROUGH PROVIDER_B_TO PROVIDER_B_THROUGH
O Juniper torna isso mais fácil do que usar comunidades, no entanto, você pode fazer qualquer um.
Nossas listas de prefixos veem se o destino é um ASN específico e, se for, ele passa pelo mapa _TO. Se o ASN estiver listado em _THROUGH, ele preferirá esse provedor. Como um de nossos provedores tem uma conexão direta com a AT&T, PROVIDER_B_THROUGH corresponde a 7018 | 7019 (e alguns outros ASNs), de modo que o tráfego da AT&T é padronizado para o Provedor B. Mesmo que a AT&T possa ser acessada por ambos, preferimos enviá-lo pelo Provedor B .
Tenho certeza que o openbgpd tem métodos semelhantes.