[FUG-BR] ipfw + wf2q+
Wanderson Tinti
wanderson em bsd.com.br
Quarta Maio 6 23:04:04 BRT 2009
Senhores, boa noite.
Gostaria da ajuda e opinião do senhores. Estava eu fazendo uns teste
com ipfw/dummynet/wf2q+ e vim um comportamento estranho, por exemplo:
Definir um link de 512Kb para download em duas maquinas, sendo que uma
(10.40.244.58) tem 80% de banda, os 20% restante fica para a outra
maquina(10.40.244.59). Uma maquina baixa sozinha a 64Kb, não passa
disso, ok. Mas quando a outro entra, uma fica em 40Kb e a outra 35Kb,
ou seja ta ultrapassando o limite definido.
Sendo que deveria ser: 51,2Kb para 10.40.244.58 e 12,8Kb para 10.40.244.59.
Desculpe pela extensão do email, mas se alguém puder me dar uma dica.
Abaixo vou colocar a regra que estou usando.
---
##################################
### IPFW
# Somente para controle de banda.
# Regras de filtragem estao defi-
# nidas no pf.conf.
fw="/sbin/ipfw"
lanA="10.40.244.0/24"
lanC="192.168.254.0/24"
$fw -f flush
##################################
### WF2Q+
# Todo controle de banda e feito na interface interna, rl0.
##################################
### Tabela
# Defini o endereco IP e Peso+Banda.
# Tabela 1 para Download
# Tabela 2 para Upload
# Tabela Download
$fw table 1 flush
$fw table 1 add 10.40.244.58 80512 # 80% do total de 512Kbit/s
$fw table 1 add 10.40.244.59 20512 # 20% do total de 512Kbit/s
$fw table 1 add 10.40.244.68 60256 # 60% do total de 256Kbit/s
$fw table 1 add 10.40.244.69 40256 # 40% do total de 256Kbit/s
# Tabela Upload
$fw table 2 flush
$fw table 2 add 10.40.244.58 60128 # 60% do total de 128Kbit/s
$fw table 2 add 10.40.244.59 40128 # 40% do total de 128Kbit/s
$fw table 2 add 10.40.244.68 5064 # 50% do total de 64Kbit/s
$fw table 2 add 10.40.244.69 5064 # 50% do total de 64Kbit/s
##################################
### Pipe
# Pipe Download - 1 a 20
$fw pipe 1 config mask dst-ip 0x000000ff bw 512Kbit/s
$fw pipe 2 config mask dst-ip 0x000000ff bw 256Kbit/s
# Pipe Upload - 40 a 60
$fw pipe 40 config mask src-ip 0x000000ff bw 128Kbit/s
$fw pipe 41 config mask src-ip 0x000000ff bw 64Kbit/s
##################################
### Queue
# Download
$fw queue 10 config pipe 1 weight 80
$fw queue 20 config pipe 1 weight 20
$fw queue 30 config pipe 2 weight 60
$fw queue 40 config pipe 2 weight 40
# Upload
$fw queue 50 config pipe 40 weight 60
$fw queue 60 config pipe 40 weight 40
$fw queue 70 config pipe 41 weight 50
$fw queue 80 config pipe 41 weight 50
##################################
### Regra de Controle de Banda
# Regra para direcionar trafego entrante pela queue/pipe para ip/peso correto
# Trafego entrando -->
$fw add 10 queue 10 ip from any to table\(1,80512\) via rl0
$fw add 11 queue 20 ip from any to table\(1,20512\) via rl0
$fw add 20 queue 30 ip from any to table\(1,60256\) via rl0
$fw add 21 queue 40 ip from any to table\(1,40256\) via rl0
# Regra para direcionar trafego saindo do ip/peso para a queue/pipe correto
# <-- Trafego saindo
$fw add 30 queue 50 ip from table\(2,60128\) to any via rl0
$fw add 31 queue 60 ip from table\(2,40128\) to any via rl0
$fw add 40 queue 70 ip from table\(2,5064\) to any via rl0
$fw add 41 queue 80 ip from table\(2,5064\) to any via rl0
# Libera e bloqueia todo trafego ip
$fw add 65000 allow ip from any to any
$fw add 65001 deny ip from any to any
Mais detalhes sobre a lista de discussão freebsd