[FUG-BR] Freebsd + Quagga + BGP

Edinilson - ATINET edinilson em atinet.com.br
Quarta Agosto 28 16:23:24 BRT 2013


>----- Original Message ----- 
>From: "Marco Aurelio" <marcoprodata at gmail.com>
>To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" 
><freebsd at fug.com.br>
>Sent: Wednesday, August 28, 2013 3:16 PM
>Subject: Re: [FUG-BR] Freebsd + Quagga + BGP
>Em 27 de agosto de 2013 14:31, Helio Loureiro 
><helio at loureiro.eng.br>escreveu:
> Oi,
>
> Anuncia os /24 em cada interface e o /22 em todas elas pra ter redundância
> e ter certeza que os pacotes enviados por uma interface vai voltar pela
> mesma.
>
> Abs,
> Helio Loureiro
> http://helio.loureiro.eng.br
> http://br.linkedin.com/in/helioloureiro
> http://twitter.com/helioloureiro
> http://gplus.to/helioloureiro
>
>
> Em 27 de agosto de 2013 10:20, Marco Aurelio <marcoprodata at gmail.com
> >escreveu:
>
> > Caro André,
> >
> > Muito obrigado mais uma vez e no aguardo.
> >
> >
> >
> > Marco Aurélio Ventura da Silva
> > marcoprodata at gmail.com
> > Prodata Informática e Cadastro LTDA
> > (33)3322-4444
> >
> >
> > Em 27 de agosto de 2013 13:11, André Gustavo Neves Lopes
> > <andre at mrx.com.br>escreveu:
> >
> > > euvou montar um lab aqui com virtualbox e quagga e te envio
> > > abraço.
> > >
> > > On Tue, Aug 27, 2013 at 08:54:46AM -0300, Marco Aurelio wrote:
> > > > Caro André,
> > > >
> > > > Obrigado pela atenção, tem como vc me mandar um pequeno exemplo ou
> site
> > > que
> > > > explica como gerenciar pelo prefixo ?
> > > >
> > > > Mais uma vez agradeço a atenção recebida.
> > > >
> > > > Marco Aurélio Ventura da Silva
> > > > marcoprodata at gmail.com
> > > > Prodata Informática e Cadastro LTDA
> > > > (33)3322-4444
> > > >
> > > >
> > > > Em 26 de agosto de 2013 20:19, André Gustavo N. <andre at mrx.com.br>
> > > escreveu:
> > > >
> > > > > Boa noite Renato,
> > > > >
> > > > > Eu conheço PBR, mas o que eu quis dizer, aproveitando o seu
> exemplo é
> > > que
> > > > > se vc pegar um /24 e anunciar com mais local-preference para o
> peer1
> > > > > escolher outro /24 e anunciar com mais local-preference para o
> > peer2, e
> > > > > assim por diante, vai ter o mesmo resultado. Gerenciando o
> > > local-preference
> > > > > por prefixo, não "por link".
> > > > >
> > > > > Se o link3 ficar saturado, você pode manobrar o tráfego tirando o
> > > > > local-preference dos prefixos que você tinha ajustado
> anteriormente.
> > > > > O balanceamento de tráfego para rotas com o mesmo custo (ECMP),
> > > depende de
> > > > > suporte no S.O. e isso é uma outra novela.
> > > > > No linux me disseram que funciona bem, no FreeBSD eu tive 1 milhão
> de
> > > > > problemas habilitando RADIX_MPATH e full routing com quagga.
> > > > > No OpenBSD eu já usei, e funciona bem.
> > > > >
> > > > > PBR é muito bacana, mas acho que não é pré requisito para
> funcionar o
> > > que
> > > > > o rapaz ali precisa =)
> > > > >
> > > > > Abraço!
> > > > >
> > > > > On Mon, Aug 26, 2013 at 06:39:18PM -0300, Renato Frederick wrote:
> > > > > > On 8/26/2013 10:28 AM, André Gustavo N. Lopes wrote:
> > > > > > > Bom dia Renato, eu não entendi muito bem a necessidade de PBR,
> > não
> > > é
> > > > > só uma questão de ajustar os local-preference ?
> > > > > > >
> > > > > > > On Sun, Aug 25, 2013 at 04:44:12PM -0300, Renato Frederick
> wrote:
> > > > > >
> > > > > > André,
> > > > > >
> > > > > > Boa Noite!
> > > > > >
> > > > > > Sobre o PBR, imagine isto
> > > > > >
> > > > > > link1 = 10mb
> > > > > > link2 = 10mb
> > > > > > link3 = 10mb
> > > > > >
> > > > > > Imagine, pra simplificar que você tem 3 blocos /24.
> > > > > >
> > > > > > redeA 10.0.0.0/24
> > > > > > redeB 10.0.1.0/24
> > > > > > redeC 10.0.2.0/24
> > > > > >
> > > > > > PBR seria o seguinte: Você falar que todo o tráfego da redeA sai
> > pelo
> > > > > > link1, todo trafego da redeB sai pelo link2 e todo tráfego da
> redeC
> > > pelo
> > > > > > link3.
> > > > > >
> > > > > > Agora, imagine que o link3 está 100% usado, mas o link1 está 20%
> > só.
> > > > > >
> > > > > > Se você for no BGP e falar que o link1 tem local-preference
> maior,
> > > TODAS
> > > > > > as 3 redes, redeA, redeB, redeC, começaram a siar pelo link1.
> Então
> > > você
> > > > > > não resolveu, apenas transferiu o problema do link3 pro link1.
> > > > > >
> > > > > > Com o PBR você faria o seguinte:
> > > > > >
> > > > > > Analisaria quais IP estão usando, por exemplo, 40% do link3.
> > > > > >
> > > > > > Daí, jogaria estes IP e SOMENTE eles para o link1.
> > > > > >
> > > > > > Então, o link1 que tinha 20%, vai ter agora 20 + 40 = 60% de 
> > > > > > uso.
> > > > > > e o link3, que tinha 100%, vai ter só 60%.
> > > > > >
> > > > > > então ficou balanceado, 60% link1, 60% link3.
> > > > > >
> > > > > > Porém, imagina que o link1 caiu. sua regra está manual, você
> teria
> > > que
> > > > > > entrar no firewall e mudar a regra.
> > > > > >
> > > > > > Com o PF + OPENBGPD você faz o seguinte que resolve.
> > > > > >
> > > > > > pega todas as redes(full rouring) aprendidas pelo BGP do link1 e
> > poe
> > > na
> > > > > > table do PF <link1>
> > > > > >
> > > > > > Faz o mesmo com o link2 e 3.
> > > > > >
> > > > > > E daí faz uma regra de fwd:
> > > > > >
> > > > > > pass out quick route-to ( em0 ip.remoto ) from { 10.0.0.0/24 }
> to
> > > > > > <link1> keep state
> > > > > >
> > > > > > assim, se o link1 cair, a table <link1> estará vazia(já que o
> > > openbgpd
> > > > > > não vai popular ela).
> > > > > >
> > > > > > isto é o que o cisco faz no bgp dele, você usa o bgp + estado da
> > > > > > interface(fisica ou loopback). Se a interface cai, aquela origem
> é
> > > > > > roteada para outra, usando pesos.
> > > > > >
> > > > > > então, em resumo, local-prefence redireciona TODAS as redes de
> > > origem,
> > > > > > manipula só destino. Usando este esquema, você  manipula a 
> > > > > > origem
> > > > > > também(com o route-to) e destino(com local-preference, weight,
> > etc).
> > > > > >
> > > > > > No passado eu até perguntei isto aqui, acho que foi até o 
> > > > > > Patrick
> > que
> > > > > > falou algo sobre "BATMAN", olha o link abaixo:
> > > > > >
> > > > > >
> http://www.fug.com.br/historico/html/freebsd/2008-11/msg00477.html
> > > > > >
> > > > > > Esta ideia dele de usar o pf + openbgpd foi muito legal, e me
> > ajudou
> > > > > > demais!!

>Caro Helio,
>Teria como vc postar um exemplo ?

>Marco Aurélio Ventura da Silva
>marcoprodata at gmail.com
>Prodata Informática e Cadastro LTDA
>(33)3322-4444


Caro Marco, dá uma olhada neste post:
http://permalink.gmane.org/gmane.network.quagga.user/13121


A configuracao que ele usa é bem completa, acho que serviria de exemplo para 
voce.


Edinilson
------------------------------------------
ATINET
Tel Voz: (0xx11) 4412-0876
http://www.atinet.com.br




Mais detalhes sobre a lista de discussão freebsd