[GTER] Link aggregation com PBR ou VRF em FreeBSD 10

Marcelo Gondim gondim at bsdinfo.com.br
Mon Mar 17 17:36:35 -03 2014


Opa Rafael,

Em 17/03/14 15:52, Rafael Possamai escreveu:
> Boa tarde,
>
> Estou roteando duas subnets locais /24 por dois uplinks docsis, alem de um
> bloco /29 estático provisionado pelo ISP no link empresarial.
>
> Todo trafego normal passa por NAT e sai pelo default gateway que seria um
> link residencial comum, com IP via dhcp. Todo trafego do bloco /29 sairia
> pelo link empresarial.
>
> Cada subnet tem seu uplink pro roteador em uma interface GigE separada, e
> junto com os dois uplinks pra WAN, a box tem quatro NICs. A distribuição na
> segunda camada eh feita por um Cisco SG200-26.
>
> Nessa solucao estou utilizando o FreebSD que sozinho ja faz muita coisa,
> alem de seu ipfw para NAT e firewall.
>
> Meu problema esta em utilizar PBR/VRF para fazer com que o trafego saindo
> da rede /29 use o uplink correto (empresarial) em vez de o default gateway
> (residencial), e também que volte para o cliente por uma rota adequada.
>
> Aqui vai uns dados extraídos do roteador: http://pastebin.com/qxDtYerh
>
> Alguém teria experiencia com este tipo de configuração? Estive procurando
> bastante sobre ipfw e tudo mais, mas a quantidade de exemplos eh pouca e a
> maioria eh feita em configurações um pouco mais simples, como 2 NICs
> somente, sem necessidade de LB.
>
> Grato desde já,
>
> Rafael
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter
>
Tenho um cliente aqui que tem 2 links, um com a Embratel e outro com a 
GVT. Nas regras dele tenho algo assim:

# Rede GVT
ipfw add setfib 1 ip from "table(97)" to any via em2
ipfw add setfib 1 ip from any to any via em0

# Rede Embratel
ipfw add setfib 2 ip from any to any via em1
ipfw add setfib 2 ip from "table(98)" to any via em2

No caso acima o servidor tem 3 interfaces de rede sendo a em0 com a GVT 
e a em1 com a Embratel.
O setfib 1 possui gateway saindo pela GVT e o setfib 2 possui gateway 
saindo pela Embratel. Quando eu jogo um IP para a table 97, ele sai pela 
GVT e quando eu jogo um IP na table 98, o acesso sai pela Embratel.

Para ter 2 FIBs você precisa compilar seu kernel com:

options         ROUTETABLES=2

Você pode setar inclusive serviços para rodarem em fibs diferentes 
fazendo por exemplo:

/usr/sbin/setfib 1 /usr/sbin/sshd -f /etc/ssh/sshd_config_fib1
/usr/sbin/setfib 2 /usr/sbin/sshd -f /etc/ssh/sshd_config_fib2

Fazendo as rotas default:

/usr/sbin/setfib 1 route add default 177.xxx.xxx.185
/usr/sbin/setfib 2 route add default 200.xxx.xxx.129

Bem, vê se é isso que você tá precisando.  :)

[]'s
Gondim




More information about the gter mailing list