Voltar para Cisco

BGP – Multiplos caminhos

Home Fórum Cisco BGP – Multiplos caminhos

Visualizando 16 posts - 1 até 16 (de 16 do total)
  • Autor
    Posts
  • #45437
    paulo.gitch
    Participante

    Olá.
    Tenho um lab com 4 roteadores fechando BGP, como mostra a figura em anexo. A tabela de rotas do R1 informar que o R3 é o melhor caminho para se chegar à rede 8.4.4.0/24 que fica atrás do R2. Mudando o atributo weight dos neighbor R3 e R4, o R1 tem duas sessões BGPs(R3 e R4), eu consigo inverter o caminho e fazer que as redes 128.0.1.0/24 e 128.0.2.0/24 que está atrás do R1 saia pelo R4.

    Estou tentando fazer com que a rede 128.0.1.0/24 sai pelo R3 e a 128.0.2.0/24 sai pelo R4, e que inverta em caso de quedas, porém não tenho sucesso. Nesse momento não estou usando weight, mas sim prefix-list e route-map.
    Estou fazendo algo errado, pois sempre saio pelo R3. Gostariam das sugestões, dicas e explicações dos senhores para que eu possa obter êxito nas configurações e entender melhor o que está acontecendo.

    Conf:

    router bgp 100
    neighbor R3 remote-as 300
    neighbor R3 route-map SAIDA-AS-300 out
    neighbor 201.247.0.2 peer-group R3
    neighbor R4 remote-as 400
    neighbor R4 route-map SAIDA-AS-400 out
    neighbor 200.247.0.2 peer-group R3

    ip prefix-list out-as-300 seq 1 permit 128.0.1.0/24
    ip prefix-list out-as-400 seq 1 permit 128.0.2.0/24

    route-map SAIDA-AS-300 permit 10
    match ip address prefix-list out-as-300

    route-map SAIDA-AS-400 permit 10
    match ip address prefix-list out-as-400

    Obs: Usei deny any no final das route-map, setei weight tb, mas não obtive sucesso.
    Agradeço qualquer ajuda.

    #80304
    Daniel Valente
    Participante

    Humn, mas você esta bloqueando as rotas, em caso de queda não vai funcionar mesmo.

    Seguinte, para o R1 influenciar a escolha do R2 ( que é o objetivo pelo que entendi ), você deve usar as-path prepend.

    #80305
    welissont
    Participante

    Bom dia Paulo,

    Pelo que entendi vc quer que o R2 passe pelo R3 quando for com destino esse CIDR 128.0.1.0/24 e passe pelo R4 quando for para 128.0.2.0/24.
    Mantendo a redundância das redes, ser for isso segue um exemplo abaixo.

    route-map SAIDA-AS-300 permit 10
    match ip address prefix-list out-as-300

    route-map SAIDA-AS-300 permit 20
    match ip address prefix-list out-as-400
    set as-path prepend 100 100 100

    route-map SAIDA-AS-400 permit 10
    match ip address prefix-list out-as-400

    route-map SAIDA-AS-400 permit 20
    match ip address prefix-list out-as-300
    set as-path prepend 100 100 100

    após isso digite o comando clear ip bgp ipdoneighbor soft out, em ambos os peerings.

    #80306
    paulo.gitch
    Participante

    Welissont,

    A função do ‘prepend’ é, quanto maior o caminho, pior será a escolha. Em seu exemplo você está alongando o caminho para a rede 128.0.1.0/24 no route-map SAIDA-AS-400 e forçando a rede sair pelo AS-300, e o contrário acontece para a rede 128.0.2.0/24, estou certo?

    Minha dúvida quanto ao exemplo acima é o uso do AS 100 no prepend. Como a rede 128.0.2 e 128.0.1 está atrás do AS 100 eu não deveria alongar o ‘as-path prepend’ sentando o AS do meu vizinho, no caso o AS 300 e 400?

    Vou realizar o teste com essa configuração. Também gostaria de saber quais as melhores formas de balancear a saida de várias redes por ASs diferentes, quais são as opções.

    #80307
    Daniel Valente
    Participante

    paulo.gitch,

    Teoricamente você tem controle em todos AS’s???

    Porque sim, você pode colocar o AS Prepend aonde você quiser, em qualquer um dos Routers. O que determinará aonde voce fará o prepend, será quem você controla.

    Abs!

    #80308
    welissont
    Participante

    Boa Noite Paulo,

    P: A função do ‘prepend’ é, quanto maior o caminho, pior será a escolha. Em seu exemplo você está alongando o caminho para a rede 128.0.1.0/24 no route-map SAIDA-AS-400 e forçando a rede sair pelo AS-300, e o contrário acontece para a rede 128.0.2.0/24, estou certo?

    R: Exato, nesse caso o uso do prepend foi feito diretamente no as100, que é o responsavel pelo anuncio dos prefixos, pelo que entendi a não ser que tenha algum outro AS atrás do AS100, nesse caso o pq do prepend ou “alongamento do as-path”, pelo seguinte motivo, se vc tem a rede 128.0.[1-2].0/24 sendo anunciada respectivamente para as300 e as400, vc precisa manter a redundância da outra rede e o melhor jeito seria o uso do prepend nos anuncios, ou seja, enviando a rede que é para ter a sua entrada via as300, pelo as400 com as-path maior, em caso de queda com as300 vc terá a rede vindo pelo as400, assim respectivamente.

    P:Minha dúvida quanto ao exemplo acima é o uso do AS 100 no prepend. Como a rede 128.0.2 e 128.0.1 está atrás do AS 100 eu não deveria alongar o ‘as-path prepend’ sentando o AS do meu vizinho, no caso o AS 300 e 400?

    R: Não, o prepend é sempre acrescimo do AS do roteador que anuncia a rota, nesse caso AS100

    OBS: Dependendo de como é seu CIDR vc pode anunciar ao inves de um bloco /24 agregar como um /23 /22 /21 ou até mesmo /20, isso depende muito do tamanho do seu CIDR, e ao invés de publicar como prepend, publique o bloco para ambos os peerings e sumarize o anuncios depois.

    #80309
    paulo.gitch
    Participante

    Boa noite.

    Daniel, tenho controle sobre os AS.

    Welissont, obrigado pelas explicações. Seguindo suas configurações, configurei R1 e verifiquei que a partir dos router R3 e R4 eu consigo alcançar a rede 128.0.[1/2].0/24 pode diferentes caminhos. Também notei que o caminho ficou mais logo no router R3 e R4 quando executo ‘show ip bgp’.

    Infelizmente, quando testo da rede 128.0.[1/2].0 para rede 8.4.4.0, por exemplo, meu caminho de saída é somente pelo R3(AS 300). O correto seria, rede 128.0.1 pelo R3(AS 300) e rede 128.0.2 pelo R4(AS 400). A volta está normal, mas a ida ainda insiste em sair por um só caminho, R3.

    #80310
    welissont
    Participante

    Ae é o seguinte nesse segundo caso seu, o BGP sempre elege a melhor rota, se ambas tem as mesma informações de as-path, tamanho de prefixo e tals, ele vai injetar a rota recebida primeiro. No caso a saida para a rede 8.4.4.0/24, se você quiser dividir o tráfego ae terá que fazer source routing nas redes em questão. Fora isso não me lembro de nenhuma solução com o BGP, pelo menos não que eu saiba.

    #80311
    Daniel Valente
    Participante

    Paulo,

    O exemplo anterior é para manipular trafego apenas na direçao das redes 128. Para o inverso, você deverá aplicar o multipath. Lembrando que teoricamente, o multipath funciona apenas se os dois paths sao do mesmo AS, mas há formas de mudar esse padrão.

    Tem um topico aqui no forum que ja debatemos sobre isso, se você der uma procurada vai achar.

    espero ter ajudado!
    Abs!

    #80312
    paulo.gitch
    Participante

    Pessoal, obrigado pelos esclarecimentos e sugestões, todos foram bastante valiosos. Vou procurar uma solução para esse ambiente, algo que dê pra fazer pelo bgp. Espero solucionar o problema.

    Boa noite.

    #80313
    welissont
    Participante

    Caso consiga alguma solução, não esqueça de postar aqui no forum.

    OBS: com a função Multipath dá para se fazer também, mas nunca a utilizei.

    Abs

    #80314
    rpedrosa1979
    Participante

    Estou no aguardo dessa solução, tenho um caso mais ou menos parecido, onde quero que apenas um host da rede 172.24.83.0 9não a rede toda e sim um host específico) desça pelo um caminho.
    Tenho que usar quais comandos? Prepend?

    #80315
    Edson Siqueira
    Participante

    Pessoal,
    É o seguinte, para este ambiente você deverá setar o atributo local-preference, pois ele irá definir o caminho preferido para sair para uma determinada rede. A função multipath é só para informar ao bgp que ele poderá instalar mais de um caminho na tabela de roteamento, pois por padrão, o bgp coloca apenas um caminho na tabela de roteamento.

    Como estou com um pouco de pressa agora, pois caiu um pepino aqui pra resolver, assim que eu puder eu coloco um script para este cenário.

    Abraços a todos.

    #187716
    pedrophsp
    Participante

    Olá pessoal, conseguiram resolver a questão do balanceamento?

    #187722
    zekkerj
    Participante

    Esse tópico é de 2010, boa parte da galera não acessa mais.

    Agora, o interessante é que me deu a impressão de que o autor queria fazer o controle do caminho a partir do endereço de origem

    -----------------------------------------------------------------------------
    Receba Johrei e purifique seu Espírito.
    http://www.messianica.org.br/o-johrei.jsp

    #187723
    pedrophsp
    Participante

    O que eu entendi é que ele quer mudar o caminho do endereço do destino 8.4.4.0 via R4.

    Atual LAN 128.0.1.0/24>R1 destino 8.4.4.0 via R3
    LAN 128.0.2.0/24>R1

    Proposto LAN 128.0.1.0/24>R1 destino 8.4.4.0 via R3
    LAN 128.0.2.0/24>R1 destino 8.4.4.0 via R4

    Queria saber como fizeram essa “distribuição” nos links. Eu só consigo manipular as rotas que estão na RIB, certo? No caso de um endereço público, consigo criar um route-map com match a esse ip e set para o As secundário ou usaria o next-hop?

    Abraços

Visualizando 16 posts - 1 até 16 (de 16 do total)
  • Você deve fazer login para responder a este tópico.