[FUG-BR] limitar banda (servidor)

Wesley Miranda wesleymiranda2 em gmail.com
Quinta Fevereiro 7 07:08:43 BRST 2008


 Para quem usa FreeBSD 5.3 pra cima, coloque esta linha abaixo no arquivo de
configuração do kernel:

options        IPFIREWALL_FORWARD_EXTENDED

A rede esta composta da seguinte forma:
Link1:  velox
Placa:  rl0
IP:     192.168.10.10
Gateway: 192.168.10.1
Link2:  virtua
Placa:  rl1
IP:     192.168.20.10
Gateway: 192.168.20.1

Primeiramente teremos que definir que vai ser o gateway padrão no FreeBSD,
optaremos pelo link1 (velox)

# route add default 192.168.10.1

Agora temos que rodar duas instacias do natd para cada placa:

# natd -s -n rl0 -p 8668
# natd -s -n rl1 -p 8669

Em seguida inserimos as regras do IPFW que serão responsáveis pelo
roteamento e balanceamentos dos links:

# ipfw add 10 divert 8668 all from any to 192.168.10.10 in via rl1
# ipfw add 11 divert 8669 all from any to 192.168.20.10 in via rl0
# ipfw add 13 divert 8668 all from 10.0.0.20 to any out via rl0
# ipfw add 18 prob 0.5 divert 8668 all 10.0.0.0/8 to any out via rl0
# ipfw add 20 divert 8669 all from 10.0.0.0/8 to any out via rl0

# ipfw add 30 fwd 192.168.10.1 all from 192.168.10.10 to any
# ipfw add 30 fwd 192.168.20.1 all from 192.168.20.10 to any

   1.
      As regras 10 e 11 definem as rotas ao daemon natd;
   2.
      A regra 13 define que o ip 10.0.0.20 deve ter todo seu tráfego
desviado para o link 2;
   3.
      A regra 18 define que 50% do trafego da rede 10.0.0.0/8 deve sair pelo
link 2
   4.
      A regra 20 define o restante do trafego saindo pelo link 1
   5.
      A regra 30 redireciona o tráfego do natd para seus respectivos
gateway´s

Você também pode definir balanceamentos por protocolo, porta, etc..
inclusive você poderá definir porcentagens
diferentes, exemplo, imagine que você tenha um link de 256k e outro de 512k,
você poderá definir 30% (prob 0.3) para um
e 60% (prob 0.6) para o outro.

Toma mastigadinho

Em 07/02/08, Daemon br <unix.list em gmail.com> escreveu:
>
> ops... ipfw...
> Achei no histórico.
>
> Desculpe não pesquisei antes.
>
> att
>
>
>


Mais detalhes sobre a lista de discussão freebsd