[FUG-BR] Quagga + PBR + FreeBSD

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Terça Novembro 18 16:56:54 BRST 2008


Renato Frederick escreveu:
> Pessoal,
> 
> Se eu estivesse usando um roteador cisco, eu poderia fazer PBR junto com uma
> sessão BGP, ou seja, mandar por ex que o cliente 100.100.100.1 usasse o
> gateway 200.1.1.1(que seria meu ISP1) (enquanto o restante usaria o
> 90.90.90.1  - meu ISP2 por exemplo).
> 
> Algo parecido com isto:
> 
> 
> http://www.cisco.com/en/US/tech/tk364/technologies_configuration_example0918
> 6a00801f3b54.shtml#casetwo
> 
> 
> Ou seja, eu forço que um cliente saia por um ISP, mesmo que o BGP indique
> outro caminho. Caso a sessão BGP desde ISP caia, ele usará o outro, nenhuma
> novidade com isto
> 
> 
> No freebsd em condições normais eu usaria o "fwd" do IPFW para jogar um
> cliente a outro gateway, porém, quando eu uso com Quagga, a tabela do kernel
> tem prioridade, mesmo que eu faça com a 1a regra um fwd, ele obedeve as
> tabelas que o daemon do zebra extraiu do bgp.
> 
> Alguém tem alguma sugestão de como eu poderia fazer isto no BSD?
> 
> Já vi na net sugestões em cima de Linux e iproute2, mas não quero.
> 
> Achei isto aqui:
> 
> http://groups.google.com/group/mailing.freebsd.current/msg/4e6ee00b4828f7e4
> 
> mas também não tive avanços.
> 
> Obrigado!

Renato, tem certeza que a tabela do quagga tem precedencia sobre o 
firewall?

Um `ipfw add 1 fwd 127.0.0.1 all from me to not me` nao interromple 
completamente a comunicacao do bsd com quagga?

E um `ipfw add 1 fwd 200.1.1.1 all from me to any out` nao manda toda 
sua saida pro gw 200.1.1.1?

Acho isso estranho :)

Eu faço isso com pf route-to porem o Daemon BGP é o OpenBGP. Faço por 
ASN pois a integração do OpenBGP com o pf é fantástica com "set rtlabel" 
e "set pftable", permitindo por rede, por ASN destino, origem ou 
transito,com ou sem balanceamento,e  ainda com failver do tipo "caiu um 
peer, suspende as politicas locais e o BGP resolve quem sai por onde"...

O que voce quer vejo sendo possivel com ipfw fwd sim, mas nao entendi 
esse lance do quagga ter precedencia sobre o firewall.

Um

"route get <destino>" nao mostra nessa box a rota populada pelo quagga? 
Se mostra, o processamento do firewall acontece antes.

-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd