[FUG-BR] limitar upload com PF+ALTQ

Nenhum_de_Nos matheus em eternamente.info
Segunda Novembro 16 21:54:20 BRST 2009


On Mon, November 16, 2009 21:03, Rogério Moura wrote:
> 2009/11/16 Matheus Cucoloto <matheuscucoloto em gmail.com>
>
>> altq só funciona no fluxo sainte.
>>
>> por este motivo faça uma adaptação nas suas regras para limitar no fluxo
>> de
>> saida.
>>
>> exempo:
>>
>> para limitar o download de um pc atras do seu limitador crie uma regra
>> na
>> saida da interface interna ( from any to ip damaquina)
>>
>> para limitar o upload de um pc atras do seu limitador crie uma regra na
>> saida da interface externa ( from ip da maquina to any)
>>
> Mas Matheus como vou criar a regra na interface externa se o IP da maquina
> já foi traduzido pelo NAT , a interface externa não conhece o IP da minha
> maquina
> me corriga se estiver errado.
>
> valeu

como uma sugestão:

# só upload

pass in on $int_if from $minhaRede1 to any keep state queue filaUpload1

# só download

pass out on $int_if from any to $minhaRede1 keep state queue filaDownload1

mas se tudo tá atras de nat, ninguém tem ip válido na rede para publicar
nenhum serviço. assim, tu já podes na chegada da $int_if colocar os dois
nas suas filas:

pass in ont $int_if from $minhaRede1 to any keep state queue
(filaDownload1, filaUpload1)

alguns protocolos são chatos para entrarem nesta onda, mas já consegui
isso :)

pass in on $int_if proto tcp from any to any port { 21, 80, 443, 8080 }
modulate state queue (in_web, out_web)

e isso funciona bem comigo :)

matheus
>>
>> Cuidado com o keep state no free 7 ele gera automaticamente mesmo que
>> você
>> não mensione na regra, isso as vezes pode prejudicar na formação das
>> regras,
>> eu uso no state porem deve de existir formas mais elegantes.
>>
>>
>>
>>
>>
>> 2009/11/16 Rogério Moura <rogerpop em gmail.com>
>>
>> > olá pessoal,
>> > estou com dificuldades para limitar o upload aqui na rede, ja fiz
>> pesquina
>> > no google e aqui mesmo na lista, achei algumas dicas mas que apliquei
>> sem
>> > sucesso.
>> >
>> > Meu ambiente é o seguinte, tenho uma maquina com PF fazendo NAT e ALTQ
>> para
>> > um link de 34Mbps com varias redes atras dela
>> >
>> >                        -----------
>> >  varias LANs----| P NAT  |----internet
>> >                       | F ALTQ|
>> >                        ------------
>> > e gostaria de limitar x banda para cada uma dessas lans tanto para
>> download
>> > quanto upload, o download eu consigo mas nao o upload.
>> >
>> > segue minhas regras:
>> >
>> > # Interfaces
>> > if_int="em0"
>> > if_ext="em1"
>> >
>> > # Redes
>> > rede_geral="10/8"
>> > rede_1="10.20/16"
>> > rede_2="10.50/16"
>> >
>> > # NAT
>> > nat on $if_ext from $rede_geral to any -> ip_real
>> >
>> >
>> > # ALTQ
>> >
>> > # UPLOAD
>> > altq on $if_ext hfsc  bandwidth 34Mb queue { upstnd, uprede1, uprede2
>> }
>> >       queue upstnd   bandwidth 2Mb hfsc (default, realtime 2Mb,
>> upperlimit
>> > 3Mb)
>> >       queue uprede1  bandwidth 4Mb hfsc (realtime 4Mb, upperlimit 5Mb)
>> >       queue uprede2  bandwidth 4Mb hfsc (realtime 4Mb, upperlimit
>> 15Mb)
>> >
>> >
>> >
>> > # DOWNLOAD
>> > altq on $if_int hfsc   bandwidth 34Mb queue { dowstnd, dowrede1,
>> dowrede2
>> }
>> >       queue dowstnd   bandwidth 2Mb hfsc (default, realtime 2Mb,
>> upperlimit
>> > 3Mb)
>> >       queue dowrede1  bandwidth 4Mb hfsc (realtime 4Mb, upperlimit
>> 5Mb)
>> >       queue dowrede2  bandwidth 4Mb hfsc (realtime 4Mb, upperlimit
>> 15Mb)
>> >
>> >
>> > # Regras
>> >
>> > pass in quick on $if_int from $rede_1 to any queue dowrede1
>> >
>> > pass in quick on $if_int from $rede_2 to any queue dowrede2
>> >
>> >
>> > Do jeito que está descrito ai, consigo limitar o download, mas como
>> faria
>> > nesse ambiente pra limitar o UPLOAD?
>> >
>> > um abraço.
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>>
>>
>>
>> --
>> -----------------------------------------------
>> Matheus Cucoloto
>> Unix Expertise
>> Voip Expertise
>>
>> WiTec - Wi Telecom
>> Fix: +55 44 36194203
>> Cel: +55 44 99216200
>> Sip: sip://1000@sipwicne1.grupoirapida.com.br
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


-- 
We will call you cygnus,
The God of balance you shall be

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

http://en.wikipedia.org/wiki/Posting_style


Mais detalhes sobre a lista de discussão freebsd