[FUG-BR] Dummynet Upload

Nilson nilson em forge.com.br
Quinta Novembro 12 19:47:06 BRST 2009


2009/11/12 Welkson Renny de Medeiros <welkson at focusautomacao.com.br>:
> [cut...]
> Só complementando o último email... consegui controlar o upload, ficou assim:
>
> # teste upload
> ipfw add 900 pipe 2020 ip from 192.168.0.200 to not me via vr1 in
> ipfw pipe 2020 config bw 300Kbit/s mask dst-ip 0xffffffff
>
> O problema é que limito a 300k, mas no teste só chega a 150... altero no firewall para 600, no teste fica 300... ou seja, só pega a METADE... já fiz alguns testes alterando máscara, in/out, etc... não resolvi... é fácil fazer a conta colocando o DOBRO, mas fica meio "gambiarra"... acredito ser algum erro meu no entendimento do FLUXO, enfim.... estou enrolado =)
> [cut...]

Isso é um efeito bem comum, e em geral se deve a sysctl
net.inet.ip.fw.one_pass estar setada como 0, onde nesse caso
depois do pacote bater na regra do pipe ele é REINJETADO no
firewall para que possa sofrer outros eventuais efeitos que as
regras subsequentes poderiam fazer nele. Por isso, acho bem
mais prático colocar os pipes no final do firewall, onde no caso
do packet levar um deny na orelha ele nem chegaria no pipe.

Mas enfim, você disse no primeiro email que estas fazendo o
NAT pelo PF, então supondo que você também esteja usando
o PF como firewall primário da máquina, e IPFW apenas para
a limitação de banda, acredito que o one_pass=1 solucionará
esse problema.
Outra dica que lhe dou é usar primeiro a regra do pipe config,
assim ele (o pipe) já estará definido quando o IPFW mandar os
pacotes para dentro desse pipe.

-- 
Nilson


Mais detalhes sobre a lista de discussão freebsd