Pessoal,

Um conhecido meu que possui provedor está com um problema e me pediu ajuda para resolvê-lo, mas também estou com dúvidas quanto a isso, por isso venho pedir a ajuda do fórum.

É o seguinte: nesse provedor há dois roteadores no core. Um deles é um Cisco meio antigo, que faz o eBGP com os upstreams (operadoras e IX-SP) e downstreams (clientes de trânsito), e uma CCR, que faz papel de firewall, distribuição de IPs por DHCP para os clientes, etc. Entre esses dois roteadores há OSPF rodando.

A rede desse provedor cresceu e agora o velho roteador Cisco deles não está mais suportando todo o tráfego, mas por algumas rasões técnicas, comerciais e financeiras eles não podem trocá-lo por outro roteador no momento.

A solução que consegui imaginar foi, de alguma forma, redirecionar o tráfego entrante (download) diretamente para a CCR, sem precisar ser roteado pelo Cisco, mas não tenho certeza se é possível.

Isso poderia ser resolvido facilmente se a CCR estivesse rodando BGP também, com sessões eBGP para os roteadores das operadoras, mas embora eu já tenha visto cases de CCR se comportando bem com BGP e alto tráfego, eles não querem arriscar, até porque parece que o uso de Cisco na borda influenciou em alguns contratos de peering/trânsito que eles conseguiram. Caso a CCR estivesse rodando BGP, bastaria fazer um prepend no AS-Path dos anúncios saindo do roteador Cisco e tudo estaria resolvido.

Já pensando em necessidades futuras, o pessoal desse provedor tem o hábito de usar uma faixa de IPs /29 para cada conexão com upstreams, então tive a ideia de endereçar a CCR na mesma faixa de IP de cada upstream, da seguinte forma, e conforme ilustrado no diagrama de rede:


  • 1º roteador de borda da operadora: 198.51.100.1/29
  • 2º roteador de borda da operadora: 198.51.100.2/29
  • Roteador Cisco: 198.51.100.6/29
  • MikroTik CCR: 198.51.100.5/29


Clique na imagem para uma versão maior

Nome:	         VOGpd.png
Visualizações:	935
Tamanho: 	25,5 KB
ID:      	60741

A conexão direta entre os dois roteadores já existe hoje, e 192.0.2.1 é o gateway padrão para a CCR (192.0.2.2). Não há intensão nem necessidade de mudar isso, o upload vai continuar passando pelo roteador Cisco.

Eu imaginei que esse redirecionamento de tráfego pudesse ser feito no roteador Cisco alterando o atributo next-hop dos prefixos anunciados para as operadoras para o IP da CCR (198.51.100.5), mais ou menos assim:

Código :
route-map CHANGE_NEXTHOP permit 10
 set ip next-hop 198.51.100.5
!
router bgp 64502
 neighbor 198.51.100.1 route-map CHANGE_NEXTHOP out
 neighbor 198.51.100.2 route-map CHANGE_NEXTHOP out
!

Dessa forma, o upload iria fluir da CCR para o roteador Cisco, enquanto o download iria vir das operadoras diretamente para a CCR, já que ela seria o gateway para alcançar os prefixos anunciados.

Eu não entendo muito de configuração Cisco, detalhes mais profundos do BGP, etc., então eu pesquisei sobre a possibilidade de fazer como descrevi, mas não encontrei nenhuma informação conclusiva para minhas dúvidas. Não tenho certeza de ter entendido direito, mas li em algum lugar que só é possível fazer essa alteração do next-hop dos prefixos quando a sessão BGP é feita com multihop, não enquanto os neighbors/peers estão diretamente conectados. Também li em algum lugar que só é possível alterar o next-hop em anúncios em iBGP.

Não tem como eu testar essa ideia/configuração em um laboratório aqui, nem mesmo usando máquinas virtuais (e nem sonhar em testar em produção, até porque o provedor não é meu), então gostaria que alguém, mais entendedor do assunto, me dissesse se é possível ou não fazer o que descrevi, dentro dos padrões do BGP e possibilidades do IOS, da Cisco.

Desde já agradeço pela paciência em ler um post tão extenso e por qualquer contribuição.

Até logo.