[FUG-BR] Roteamento
Marcelo Gondim
gondim em bsdinfo.com.br
Quarta Março 14 10:06:04 BRT 2012
Em 13/03/2012 23:31, Anderson Alves de Albuquerque escreveu:
> Eu queria saber se no FreeBSD teria como fazer um roteamento no firewall,
> tendo como cenário 2 saídas p/ a Internet chamadas de A e B.
>
> No momento em que as duas saídas estão funcionando, o roteamento funciona
> assim:
> - saída A para acesso a internet
> - saída B apenas para acessar a filial com uma rede x.y.z.0/24 conhecida
>
> Caso a saída A não funcione, todo o tráfego sai pela saída B (incluindo
> acesso a filial e a internet).
> Caso a saída B não funcione, todo o tráfego sai pela saída A (incluindo
> acesso a filial e a internet).
>
>
> existe como fazer isso de forma dinâmica?
>
> Eu não queria utilizar protocolos de roteamentos tipo IGB, BGP ou etc.
> Pois, pela saída B eu poderia utilizar apenas roteamento estática.
>
>
Oi Anderson,
Se eu entendi bem seu problema acredito que você possa resolver fazendo:
1) compilar o kernel pra ter mais de 1 FIB(tabela de roteamento). Nesse
caso 2.
options ROUTETABLES=2
2) FIB 0 possui gateway default para a saída A.
3) FIB 1 possui gateway default para a saída B.
Se você usa ipfw você pode criar 2 regras lá tipo:
ipfw add set 1 setfib 0 ip from any to any via $interface_interna
ipfw add set 2 setfib 1 ip from any to any via $interface_interna
ipfw set disable 2
Quando você quiser que o tráfego passe à usar a FIB 0 deixei ela como
enable: ipfw set enable 1 e a outra disable e quando a Internet for sair
pela outra basta inverter.
Para cadastrar um gateway default em uma fib específica é só fazer:
setfib 1 route add default x.x.x.x ou qualquer outra rota.
Brincar de habilitar e desabilitar FIB no ipfw pode te ajudar nesse caso
:) Existe também uma mesma forma usando pf com as FIBs mas eu uso aqui
ipfw.
Mais detalhes sobre a lista de discussão freebsd