[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