No squid utilizo o delay pools Imagino que o mesmo funciona perfeitamente no lusca
Onde pode limitar as taxas de tudo o que passo pelo proxy. Att Afranio Em 22/06/2010, às 15:46, Enio Marconcini # www.Enio.Pro.Br escreveu: > 2010/6/22 Nenhum_de_Nos <math...@eternamente.info> > >> >> On Tue, June 22, 2010 10:58, Gabriel Fonseca wrote: >>> Em 22 de junho de 2010 08:55, Vinicius Abrahao >>> <vinnix....@gmail.com>escreveu: >>> >>>> Oi pessoal, bom dia! >>>> >>>> Essa thread de controle de banda com PF veio a calhar. >>>> >>>> Estou tentando implementar algo que teoricamente deveria ser simples, >>>> lá em casa, mas estou tendo uma dificuldade monstro! >>>> >>>> A idéia para experiência é pegar meu speedy 100Kb/s (real) e criar um >>>> controle de banda que >>>> garanta para um determinado cliente (no meu caso uma rádio online do >>>> PSP) uma banda de 20Kb/s e todo >>>> o resto "para quem quiser" lá dentro de casa. Meu objetivo é garantir >>>> a banda para a rádio e ainda assim conseguir >>>> fazer alguns downloads/torrents. >>>> >>>> Cheguei a criar as declarações das filas e as regras para fazer match >>>> com o streaming mas até agora só vejo trafego >>>> nas filas que são default. >>>> >>>> Abaixo algumas coisas que estão no meu pf.conf que podem (ou não?) >>>> estar interferindo. >>>> >>>> >>>> >> --------------------------------------------------------------------------------------------- >>>> table <host_psp> {192.168.1.10} >>>> table <rfc1918> const { 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 } >>>> >>>> >>>> set loginterface $ext_if >>>> >>>> set skip on lo >>>> set block-policy return >>>> scrub in all >>>> >>>> scrub in on $int_if fragment reassemble >>>> scrub in on $int_if no-df >>>> scrub on $int_if reassemble tcp >>>> >>>> altq on $int_if cbq bandwidth 10Mb queue { q_radio_out , q_internet , >>>> q_default_out } >>>> queue q_radio_out bandwidth 20Kb cbq >>>> queue q_internet bandwidth 80Kb cbq >>>> queue q_default_out bandwidth 9Mb cbq(default) >>>> >>>> >>>> pass out quick on $int_if proto tcp from <host_psp> to any >>>> queue q_radio_out >>>> pass out quick on $int_if proto tcp from any to <host_psp> >>>> queue q_radio_out >>>> >>>> Quando vi que o tráfego de rádio não estava indo pra fila que eu >>>> queria, cheguei a apelar com as seguintes regras: >>>> >>>> pass out quick on $int_if proto tcp from !<rfc1918> port 9106 to any >>>> queue q_radio_out >>>> pass out quick on $int_if proto tcp from !<rfc1918> to any port 9106 >>>> queue q_radio_out >>>> pass out quick on $int_if proto tcp from !<rfc1918> to any >>>> queue q_internet_default >>>> >>>> Mas ainda sem sucesso. :-( >>>> >>>> >>>> >> --------------------------------------------------------------------------------------------- >>>> >>>> Alguns podem estar achando estranho o fato da queue estar na interface >>>> interna, mas conversando >>>> com os amigos no ##freebsd-br @freenode (thanks Porks!) chegamos a >>>> conclusão que o altq só agiria neste caso nas filas >>>> de output, espero estarmos certos quanto a essa conclusão. >>>> >>>> No meu primeiro teste (com a interface externa) as coisas estavam indo >>>> por esse caminho: >>>> >>>> altq on $ext_if cbq bandwidth 100Kb queue { q_radio, q_default } >>>> queue q_radio bandwidth 20Kb cbq >>>> queue q_default bandwidth 80Kb cbq(default) >>>> >>>> pass in quick on $ext_if proto tcp from any to any port $radio_port no >>>> state >>>> pass out quick on $ext_if proto tcp from any to any port $radio_port >>>> no state queue (r_radio) >>>> >>>> >>>> >>>> >> --------------------------------------------------------------------------------------------- >>>> >>>> Bom.. acho que já me prolonguei demais. >>>> Vou dar uma estudada no HFSC, mas basicamente gostaria de saber se é >>>> possível fazer isso que eu estou tentando com o CBQ, e como? >>>> Teoricamente, pelo que li, dá sim, mas estou tendo dificuldades nas >>>> implementações, poderiam me dar uma luz? >>>> >>>> >>>> Obrigado pela ajuda, >>>> Vinnix >>>> >>>> [a.k.a. Vinícius Schmidt] >>>> >>>> >>>> >>>> ANEXO 1: Diagrama do Fluxo (thanks again Porks!) >>>> >>>> #<rede interna> --> <NIC_INTERNA_IN> --> <PF> --> <NIC_EXTERNA_OUT> >>>> --> <internet> >>>> #<rede interna> <-- <NIC_INTERNA_OUT> <-- <PF> <-- <NIC_EXTERNA_IN> >>>> <-- <internet> >>>> ------------------------- >>>> Histórico: http://www.fug.com.br/historico/html/freebsd/ >>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >>>> >>> >>> >>> Vinícius, >>> >>> Aplique as filas nas regras de filtragem que confiram com entrada de >>> tráfego na interface interna. >>> >>> No seu caso ficaria assim: >>> >>> pass in quick on $int_if proto tcp from !<rfc1918> to port 9106 queue >>> q_radio_out >>> pass in quick on $int_if proto tcp from !<rfc1918> to any queue >>> q_internet_default >>> >>> Isso no caso de você querer fazer o enfileiramento da fila >> q_radio_out >>> somente com destino any porta 9106. >>> Lembre-se que quando vc define as portas nas regras de saída da >>> interface interna vc está definindo a porta de origem do seu host na rede >>> interna. >>> >>> Para verificar se o tráfego esta batendo com as filas utilize pfctl >>> -vvs >>> q . >>> >>> Espero ter ajudado. >>> Att. >>> >> >> você pode mudar a forma como o pf trata os estados das conexões. procure >> pela seção: >> >> set state-policy option >> >> em http://www.openbsd.org/faq/pf/options.html >> >> isto pode ser definido por regra ou de modo geral. >> >> matheus >> >> -- >> 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 >> ------------------------- >> Histórico: http://www.fug.com.br/historico/html/freebsd/ >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >> > > > > to precisando controlar a banda de navegação somente, > os usuários navegam somente pelo proxy autenticado (com lusca), os > navegadores ficam configurados manualmente para o ip do servidor proxy e a > porta 3128, e preciso controlar a banda de navegação somente, pois nessa > rede eu ainda tenho trafego de banco de dados firebird rodando na porta 3050 > que não pode ter limitação > > é possível? > > se fosse trafego de porta 80 acho que seria mais fácil pra eu entender, no > meu caso, nao tem fluxo na porta 80 e sim na 3128 > > -- > ENIO RODRIGO MARCONCINI > gtalk: eni...@gmail.com > skype: eniorm > msn: /dev/null > > .: FreeBSD -:- OpenBSD -:-Slackware Linux :. > Have trouble with Windows - reboot! > Have trouble with Unix - be root! > ------------------------- > 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