- Este tópico contém 15 respostas, 7 vozes e foi atualizado pela última vez 8 anos, 2 meses atrás por pedrophsp.
-
AutorPosts
-
agosto 8, 2010 às 9:46 pm #45437paulo.gitchParticipante
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 R3ip 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/24route-map SAIDA-AS-300 permit 10
match ip address prefix-list out-as-300route-map SAIDA-AS-400 permit 10
match ip address prefix-list out-as-400Obs: Usei deny any no final das route-map, setei weight tb, mas não obtive sucesso.
Agradeço qualquer ajuda.agosto 8, 2010 às 11:03 pm #80304Daniel ValenteParticipanteHumn, 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.
agosto 9, 2010 às 9:46 am #80305welissontParticipanteBom 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-300route-map SAIDA-AS-300 permit 20
match ip address prefix-list out-as-400
set as-path prepend 100 100 100route-map SAIDA-AS-400 permit 10
match ip address prefix-list out-as-400route-map SAIDA-AS-400 permit 20
match ip address prefix-list out-as-300
set as-path prepend 100 100 100após isso digite o comando clear ip bgp ipdoneighbor soft out, em ambos os peerings.
agosto 9, 2010 às 12:41 pm #80306paulo.gitchParticipanteWelissont,
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.
agosto 9, 2010 às 7:27 pm #80307Daniel ValenteParticipantepaulo.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!
agosto 9, 2010 às 9:16 pm #80308welissontParticipanteBoa 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.
agosto 10, 2010 às 12:28 am #80309paulo.gitchParticipanteBoa 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.
agosto 10, 2010 às 10:01 am #80310welissontParticipanteAe é 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.
agosto 10, 2010 às 2:05 pm #80311Daniel ValenteParticipantePaulo,
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!agosto 10, 2010 às 11:07 pm #80312paulo.gitchParticipantePessoal, 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.
agosto 12, 2010 às 11:33 am #80313welissontParticipanteCaso 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
agosto 17, 2010 às 2:44 pm #80314rpedrosa1979ParticipanteEstou 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?agosto 19, 2010 às 11:16 am #80315Edson SiqueiraParticipantePessoal,
É 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.
fevereiro 28, 2016 às 6:26 pm #187716pedrophspParticipanteOlá pessoal, conseguiram resolver a questão do balanceamento?
fevereiro 29, 2016 às 6:25 pm #187722zekkerjParticipanteEsse 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.jspfevereiro 29, 2016 às 10:45 pm #187723pedrophspParticipanteO 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>R1Proposto 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 R4Queria 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
-
AutorPosts
- Você deve fazer login para responder a este tópico.