Eu tenho dois sites, A e B, no BGP AS 65000, e um terceiro site, C, no AS 65001. Todos os três sites têm conectividade via MPLS de operadora e há conectividade interna entre os sites A e B. Estou tentando influenciar o BGP para que o tráfego do site A para o site C seja roteado pelo link MPLS do site A e o tráfego do site B para o site C seja roteado pelo link MPLS do site B. A topologia é semelhante à descrita neste exemplo .
Os roteadores de borda nos sites A e B verão seu próprio link MPLS como o melhor caminho, porque as rotas EBGP são preferidas às rotas IBGP. No entanto, todos os roteadores dentro do AS 65000 preferem um link ou outro. Meu objetivo é forçar todos os roteadores em qualquer site a preferir o link mais próximo. (Infelizmente, não posso dividir os dois sites em ASes separados no momento.)
Existe uma maneira sensata de fazer isso, enquanto ainda permite conectividade de failover ao site C entre os links do site A e B?
Edit: Eu deveria ter notado que não há IGP em uso aqui. De fato, as redes em cada site existem dentro de um VRF como parte de uma rede muito, muito maior. Como tal, qualquer solução precisa confiar inteiramente no BGP.
Respostas:
Existe uma definição clara entre o site A e o site B?
Nesse caso, procuraria definir uma política nos roteadores de borda para injetar uma comunidade ao receber rotas do MPLS da operadora.
Depois que essa comunidade for colocada nos prefixos (digamos 100: 1 para o site A e 100: 2 para o site B), você poderá adicionar uma política a cada um dos roteadores do site A para aumentar o LP de todas as rotas com a comunidade 100: 1 e da mesma forma para o site B com a comunidade 100: 2.
Essa solução atenderia ao requisito de usar apenas o BGP e também seria flexível o suficiente para permitir que B usasse o uplink de A se perdesse seu próprio uplink para a transportadora.
fonte
Quando fiz algo semelhante, não usei o eBGP entre os roteadores. Eu tinha o roteador que fala BGP apenas envia a rota padrão para os roteadores Site A e Site B via OSPF e depois redistribui as rotas OSPF no BGP. No link entre os dois sites, apliquei um custo OSPF.
Isso permite que o Site A tenha rotas para suas redes, redes do Site B e uma rota padrão para sair do Site A (o custo OSPF mantém a rota padrão do Site B como uma opção secundária, caso você perca o link do Site A). O site A conversará diretamente com o site B, sem usar o MPLS, a menos que haja uma falha no link entre os sites.
Além disso, os custos de OSPF são convertidos no BGP MED durante a redistribuição, o que faz com que a rede MPLS da operadora prefira enviar o tráfego do Site A diretamente ao Site A, mas também usa o Site B para acessar o Site A, se necessário.
fonte
Sinto que algumas informações estão faltando. Por que os roteadores de borda não estão preferindo o melhor caminho?
Você possui o iBGP de malha completa no 65000? Ou você está usando a reflexão de rota?
Se você possui o iBGP de malha completa, cada roteador de borda aprende a rota de ambos [AB] e recorre à comparação do custo do IGP com o salto seguinte, o que deve ser traduzido para a caixa de borda mais próxima.
Se houver reflexão da rota, ela refletirá apenas a melhor rota do seu próprio ponto de vista, o que pode remover o melhor encaminhamento de caminho. Isso é corrigível também adicionando outro RR que escolherá a outra rota como melhor e, em seguida, as caixas de borda mais uma vez poderão escolher a melhor rota. Se a fixação do RR não for possível assim. Você pode adicionar o mesmo endereço IPV4 nos dois loopbacks das rotas de fronteira e, quando os roteadores de fronteira anunciam o prefixo para RR, eles definem o próximo salto para esse endereço de anycast. Mesmo depois da reflexão, você seguirá o IGP até a borda mais próxima.
fonte
Se você tiver controle sobre o IGP:
O que fizemos é ter apenas roteadores eBGP na malha iBGP. O restante de nossos roteadores internos são roteadores OSPF. Redistribuímos de BGP para OSPF dentro de cada AS. Nossa configuração é um pouco diferente da sua, mas isso deve permitir que a métrica de custo do OSPF influencie o caminho do tráfego, direcionando-o para o roteador eBGP mais próximo.
Se você não tem controle sobre o IGP:
Talvez você possa aplicar uma política de importação aos roteadores internos para fazê-los preferir estaticamente os anúncios de rota do roteador eBGP de saída desejado. Assim, por exemplo, se o iBGP contiver dois anúncios para um determinado prefixo (um do roteador do site A e outro do roteador do site B, mas apenas um estiver instalado no RIB), você poderá fazer a prefiguração local do anúncio desejado, conforme ele vier Eu teria que trabalhar no laboratório, mas não vejo por que não funcionaria.
fonte