[FUGSPBR] Novos problemas com ipfw + dummynet

Renato Botelho renato em galle.com.br
Seg Out 27 13:22:09 BRST 2003


Ola pessoal,

Estou tentando usar dummynet pra fazer alguns controles na minha banda, 
estava com um problema na semana passada que depois que eu colocava os 
pipes e queues parava tudo mas resolvi setando a opcao 
net.inet.ip.fw.one_pass para 0 no sysctl

Agora estou enfrentando um outro problema, minhas regras sao as seguintes:

# definicao de pipes
${fwcmd} pipe 1 config bw 256Kbit/s queue 32KBytes
${fwcmd} pipe 2 config bw 64Kbit/s queue 8Kbytes
${fwcmd} pipe 3 config bw 1bit/s mask src-ip 0x000000ff src-port 0xffff 
   dst-ip 0xffffffff dst-port 0xffff

# definicao de queues
${fwcmd} queue 1 config weight 5  pipe 1 mask dst-ip 0xffffffff
${fwcmd} queue 2 config weight 5  pipe 1 mask src-ip 0xffffffff
${fwcmd} queue 3 config weight 10 pipe 1 mask dst-ip 0x000000ff
${fwcmd} queue 4 config weight 10 pipe 1 mask src-ip 0x000000ff
${fwcmd} queue 5 config weight 20 pipe 2 mask dst-ip 0x000000ff
${fwcmd} queue 6 config weight 20 pipe 2 mask src-ip 0x000000ff
${fwcmd} queue 7 config weight 99 pipe 3 mask dst-ip 0x000000ff
${fwcmd} queue 8 config weight 99 pipe 3 mask src-ip 0x000000ff

# regras
${fwcmd} add queue 5 tcp from not me ${portas_altas} to { 
${ips_liberados} } ${portas_altas} in via ${oif}
${fwcmd} add queue 6 tcp from { ${ips_liberados} } ${portas_altas} to 
not me ${portas_altas} out via ${oif}

# se entrou na regra de cima, nao passa mais nos queues de baixo (Se
# alguem souber como resolver isso de uma maneira mais "limpa", por
# favor me fale
${fwcmd} add skipto 3000 tcp from not me ${portas_altas} to { 
${ips_liberados} } ${portas_altas} in via ${oif}
${fwcmd} add skipto 3000 tcp from { ${ips_liberados} } ${portas_altas} 
to not me ${portas_altas} out via ${oif}

# Limita a banda nas portas altas para retardar os programas P2P
${fwcmd} add queue 7 tcp from not me ${portas_altas} to 
${inet}/${ibitmask} ${portas_altas} in via ${oif}
${fwcmd} add queue 8 tcp from ${inet}/${ibitmask} ${portas_altas} to not 
me ${portas_altas} out via ${oif}

# se entrou na regra de cima, nao passa mais nos queues de baixo
${fwcmd} add skipto 3000 tcp from not me ${portas_altas} to 
${inet}/${ibitmask} ${portas_altas} in via ${oif}
${fwcmd} add skipto 3000 tcp from ${inet}/${ibitmask} ${portas_altas} to 
not me ${portas_altas} out via ${oif}

# regras para balanceamento de link (WFQ)
${fwcmd} add queue 3 tcp from any to ${inet}/${ibitmask} in via ${oif}
${fwcmd} add queue 4 tcp from ${inet}/${ibitmask} to any out via ${oif}

${fwcmd} add queue 1 tcp from me 20,21,25,80,1723 to any out via ${oif}
${fwcmd} add queue 2 tcp from any to me 20,21,25,80,1723 in via ${oif}

Vou explicar o que eu tentei fazer, tenho um link de 256Kbps da 
Embratel, e estou tentando implementar a seguintes regras:

  - Dar prioridade para as conexoes que vem de fora para acessar nossa 
pagina, ftp e outros servicos que oferecemos
  - Balancear os 256Kbps para que todos os usuarios tenham a mesma 
velocidade
  - Limitar as conexoes de portas altas para 1bit/s para retardar os 
P2P, porem, para alguns ips contidos na variavel ${ips_liberados} eu 
quero deixar usar essas conexoes em portas altas, com uma restricao de 
usar no maximo 64Kbps

O meu problema eh o seguinte, as conexoes caem nas queues 5 e 6, que 
estao ligadas com o pipe de 64k, porem, consegue usar os 256, alguem 
poderia me dar uma forca?

Muito Obrigado

-- 
Renato Botelho
Developer & Unix Admin


-------------- Próxima Parte ----------
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/


Mais detalhes sobre a lista de discussão freebsd