[FUG-BR] Controle de Banda com PF
Pessoal, Meu controle de banda com cbq não limita na velocidade que eu estou mandando e o controle de banda com hfsc não limita absolutamente nada Então... Alguém que use pf+cbq ou pf+hfsc poderia me mandar o resultado do: # pfctl -s queue ***e os respectivos*** pass . queue xxx Se alguém puder fazer isso para mim.. eu agradeço. Tô quase largando o PF para controlar banda.. e usando o ipfw (só não fiz isso ainda porque eu nunca mexi com o ipfw :S) - altq on $IF_Externa cbq bandwidth 60Kb queue { ce, resto } queue resto bandwidth 40Kb cbq (default) queue cebandwidth 5.6Kb cbq ... pass in quick on $IF_Interna from 10.10.0.7 to any keep state queue ce O download nessa máquina (10.10.0.7) vem a 72Kbits/s, enquanto deveria vir a 5.6Kbits/s # uname -a FreeBSD xx.yyy.com.br 6.2-RELEASE-p7 FreeBSD 6.2-RELEASE-p7 #0: Wed Sep 12 10:39:16 BRT 2007 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/KERNEL.XX i386 -- Marcelo Rossi "This e-mail is provided "AS IS" with no warranties, and confers no rights." - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
[FUG-BR] Controle de Banda com PF
Boa Tarde Pessoal. Gostária de saber se alguem ai conhece algum site bom, onde eu possa encontrar informações concretas sobre controle de banda no PF. Procurei bastante no Google, mas o que se encontra são poucas coisas.. Obrigado. Att, Rodrigo. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Tudo bem cara? Olha só, deixa ver se entendi, vc ta fazendo o controle na interface wan certo? O PF só controla o que está saindo de uma interface. Então, o controle de banda do download que "atravessa" o firewall deve ser feito na interface interna, pois os dados entram na wan do firewall, e saem na lan do firewall. O PF é assim para que o controle de banda não acabe rejeitando pacotes entrantes, fazendo isto na interface interna ele armazena o pacote em uma fila, que por padrão tem tamanho 50, e segura este pacote até ter banda pra ele, Isso normalmente acontece em momentos de criação de conexões, e após um tempo o protocolo de transporte se ajusta a velocidade disponível, sem que pacotes sejam descartados. O controle de banda para o Upload sim é feito na interface externa. Mude a interface na diretiva altq. Att -- Daniel Bristot de Oliveira - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Em 18/6/2010 13:18, Rodrigo escreveu: > se alguem ai conhece algum site bom, onde eu possa > encontrar informações concretas sobre controle de banda no PF. > > Procurei bastante no Google, mas o que se encontra são poucas coisas.. Boa tarde, www.openbsd.org/ - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Obrigado Márcio, vou dar uma olhada ! Att. Rodrigo - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
2010/6/18 Rodrigo : > Boa Tarde Pessoal. > > Gostária de saber se alguem ai conhece algum site bom, onde eu possa > encontrar informações concretas sobre controle de banda no PF. > > Procurei bastante no Google, mas o que se encontra são poucas coisas.. > http://www.openbsd.org/faq/pf/index.html -- Matheus Weber da Conceição - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
O próprio site do openbsd[1] mostra tudo. Não tem mistério, PF é simples depois que entende-se a cara dele. Faz-se as filas na interface, neste exemplo o link é de 100Mb e está conectado á xl0 e temos 2 clientes(e o "resto" que vai pro que não tem tráfego explicitamente detalhado): altq on $ext_if bandwidth 100Mb queue { cliente1 cliente2 default_dmz } define-se dos 100Mb quanto que cliente1 e cliente2 vai ter e o resto pra default_dmz: queue cliente1 bandwidth 2Mb priority 4 qlimit 1000 cbq(red) queue cliente2 bandwidth 8Mb priority 4 qlimit 1000 cbq(red) queue default_dmz bandwidth 80Mb priority 4 qlimit 1000 cbq(default,borrow) lembrando que a some dos queue nao pode passar o bandwitdh declarado acima. note que estou usando o algorítimo RED para fazer o ALTQ, no link[1] você vê mais detalhes dos algorítimos disponíveis. Também na DMZ eu joguei o borrow, ou seja, os 80Mb da DMZ pode "tomar" banda do cliente2 e cliente2, caso precise, seria como as prioridades que o IPFW tem. Agora basta colocar uma linha no final de cada regra de pass out pra indica que esta regra vai ser associada a uma destas queue: Ex, uma regra que era assim, liberando o cliente1 a conectar a qq local: pass out quick on $ext_if proto { tcp udp } from { $cliente1 } port > 1023 to any keep state fica assim: pass out quick on $ext_if proto { tcp udp } from { $cliente1 } port > 1023 to any queue cliente1 keep state as regras que eu quero que compartilhem os 80Mb eu não declaro nenhum queue, ele vai pegar o que está como default acima: pass out quick on $ext_if proto tcp from port $ftp_ports to any port > 1023 keep state Observe que isto faz o tráfego de output. para fazer de input, repete-se a mesma coisa, só que a ext_if vai ser substituida pela int_if(ou o nome que você dá pra interface interna) no altq e o queue nao vai ser no pass out, vai ser no pass in e você não vai poder usar o keep state, vai ter que declarar uma regra de pass out e outra de pass in, senão o keep state cria o retorno sem queue. [1]http://openbsd.org/faq/pf/queueing.html -- From: "Rodrigo" Sent: Friday, June 18, 2010 1:18 PM To: Subject: [FUG-BR] Controle de Banda com PF > Boa Tarde Pessoal. > > Gostária de saber se alguem ai conhece algum site bom, onde eu possa > encontrar informações concretas sobre controle de banda no PF. > > Procurei bastante no Google, mas o que se encontra são poucas coisas.. > > Obrigado. > Att, > > Rodrigo. > - > 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
Re: [FUG-BR] Controle de Banda com PF
>> Boa Tarde Pessoal. >> >> Gostária de saber se alguem ai conhece algum site bom, onde eu possa >> encontrar informações concretas sobre controle de banda no PF. >> >> Procurei bastante no Google, mas o que se encontra são poucas >> coisas.. https://calomel.org/pf_hfsc.html 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
Re: [FUG-BR] Controle de Banda com PF
Muito obrigado pela colaboração de todos, ler tudo o que me passaram... Att, Rodrigo - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Pegando a deixa, do exemplo tambem do renato. queue cliente1 bandwidth 2Mb priority 4 qlimit 1000 cbq(red) Tem como traduzir melhor esse comando acima? Tipo, tem como fazer com que seja um minimo de down e maximo unlimited. para ele poder consumir a banda toda quando possivel, e dividir quando tiver mais gente em uso, duas pessoas dividirem com um minimo de down? Como seria? Valeu pela infos, a faq do pf eu tenho impressa, vou da mais um vizu, mas la em pt o material é pouco. Vale mais pesquisas na net, e pedir ajudar a quem entende. Valeu. Em 18 de junho de 2010 13:44, Rodrigo escreveu: > Muito obrigado pela colaboração de todos, ler tudo o que me passaram... > > > Att, > > Rodrigo > - > 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
Re: [FUG-BR] Controle de Banda com PF
Em Fri, 18 Jun 2010 13:35:31 -0300 "Renato Frederick" , conhecido consumidor/usuário de drogas (Windows e BigMac com Coke) escreveu: > O próprio site do openbsd[1] mostra tudo. > > > Não tem mistério, PF é simples depois que entende-se a cara dele. > > Faz-se as filas na interface, neste exemplo o link é de 100Mb e está > conectado á xl0 e temos 2 clientes(e o "resto" que vai pro que não > tem tráfego explicitamente detalhado): > [1]http://openbsd.org/faq/pf/queueing.html pôxa, a receita ("semi how-to") estó ótima. Não tem como vc elaborar como artigo e postar lá no fug? eu vou fazer um link no meu quase-blog pra não ficar perdido, enquanto isso. parabéns, frederik. -- saudações, irado furioso com tudo Linux User 179402/FreeBSD BSD50853/FUG-BR 154 Não uso drogas - 100% Miko$hit-free Arqueólogo: alguém cuja carreira esta em ruínas. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Opa Irado Problema todo é tempo :-( Mal mal tenho pra responder a lista, tem uma pancada de coisas q postei aqui no passado que gostaria de divulgar lá. -- From: "irado furioso com tudo" Sent: Friday, June 18, 2010 2:24 PM To: Subject: Re: [FUG-BR] Controle de Banda com PF > Em Fri, 18 Jun 2010 13:35:31 -0300 > "Renato Frederick" , conhecido > consumidor/usuário de drogas (Windows e BigMac com Coke) escreveu: > >> O próprio site do openbsd[1] mostra tudo. >> >> >> Não tem mistério, PF é simples depois que entende-se a cara dele. >> >> Faz-se as filas na interface, neste exemplo o link é de 100Mb e está >> conectado á xl0 e temos 2 clientes(e o "resto" que vai pro que não >> tem tráfego explicitamente detalhado): >> [1]http://openbsd.org/faq/pf/queueing.html > > > pôxa, a receita ("semi how-to") estó ótima. Não tem como vc elaborar > como artigo e postar lá no fug? eu vou fazer um link no meu quase-blog > pra não ficar perdido, enquanto isso. > > parabéns, frederik. > > -- > saudações, > irado furioso com tudo > Linux User 179402/FreeBSD BSD50853/FUG-BR 154 > Não uso drogas - 100% Miko$hit-free > Arqueólogo: alguém cuja carreira esta em ruínas. > - > 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
Re: [FUG-BR] Controle de Banda com PF
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 {192.168.1.10} table 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_outbandwidth 9Mb cbq(default) pass out quick on $int_if proto tcp from to any queue q_radio_out pass out quick on $int_if proto tcp from any to 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 ! port 9106 to any queue q_radio_out pass out quick on $int_if proto tcp from ! to any port 9106 queue q_radio_out pass out quick on $int_if proto tcp from ! 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!) # --> --> --> --> # <-- <-- <-- <-- - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
Em 22 de junho de 2010 08:55, Vinicius Abrahao 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 {192.168.1.10} > table 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_outbandwidth 9Mb cbq(default) > > > pass out quick on $int_if proto tcp from to any > queue q_radio_out > pass out quick on $int_if proto tcp from any to > 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 ! port 9106 to any > queue q_radio_out > pass out quick on $int_if proto tcp from ! to any port 9106 > queue q_radio_out > pass out quick on $int_if proto tcp from ! 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!) > > # --> --> --> > --> > # <-- <-- <-- > <-- > - > 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 ! to port 9106 queue q_radio_out pass in quick on $int_if proto tcp from ! 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. > Gabriel "ethX" Fonseca < - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
2010/6/22 Gabriel Fonseca : > > 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 ! to port 9106 queue > q_radio_out > pass in quick on $int_if proto tcp from ! 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. > > Gabriel "ethX" Fonseca < Olá Gabriel ethX, Ajudou sim! Vou fazer os testes hoje a noite e posto o resultado. Mas não sei se deixei claro, essa porta é da rádio que fica na internet. Minha topologia é algo assim: [PSP(client da rádio);192.168.1.10] <- [FreeBSD (NAT-PF) ] <- [Nirvana Radio(rádio online): x.x.x.x:9106] Coloco as setas, como 'recebendo' pois estou fazendo o download do stream. Vamos ver se tenho mais sorte essa noite! Obrigado mesmo! []s PS: Tudo isso pra ter uma noite de sono com musiquinhas relaxantes e conseguir aproveitar a banda! :-) -- vi[nnix] aka: Vinícius Abrahão Bazana Schmidt - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Controle de Banda com PF
On Tue, June 22, 2010 10:58, Gabriel Fonseca wrote: > Em 22 de junho de 2010 08:55, Vinicius Abrahao > 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 {192.168.1.10} >> table 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_outbandwidth 9Mb cbq(default) >> >> >> pass out quick on $int_if proto tcp from to any >> queue q_radio_out >> pass out quick on $int_if proto tcp from any to >> 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 ! port 9106 to any >> queue q_radio_out >> pass out quick on $int_if proto tcp from ! to any port 9106 >> queue q_radio_out >> pass out quick on $int_if proto tcp from ! 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!) >> >> # --> --> --> >> --> >> # <-- <-- <-- >> <-- >> - >> 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 ! to port 9106 queue > q_radio_out > pass in quick on $int_if proto tcp from ! 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:
Re: [FUG-BR] Controle de Banda com PF
2010/6/22 Nenhum_de_Nos > > On Tue, June 22, 2010 10:58, Gabriel Fonseca wrote: > > Em 22 de junho de 2010 08:55, Vinicius Abrahao > > 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 {192.168.1.10} > >> table 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_outbandwidth 9Mb cbq(default) > >> > >> > >> pass out quick on $int_if proto tcp from to any > >> queue q_radio_out > >> pass out quick on $int_if proto tcp from any to > >> 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 ! port 9106 to any > >> queue q_radio_out > >> pass out quick on $int_if proto tcp from ! to any port 9106 > >> queue q_radio_out > >> pass out quick on $int_if proto tcp from ! 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!) > >> > >> # --> --> --> > >> --> > >> # <-- <-- <-- > >> <-- > >> - > >> 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 ! to port 9106 queue > > q_radio_out > > pass in quick on $int_if proto tcp from ! 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 gera
Re: [FUG-BR] Controle de Banda com PF
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 > >> >> On Tue, June 22, 2010 10:58, Gabriel Fonseca wrote: >>> Em 22 de junho de 2010 08:55, Vinicius Abrahao >>> 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 {192.168.1.10} table 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_outbandwidth 9Mb cbq(default) pass out quick on $int_if proto tcp from to any queue q_radio_out pass out quick on $int_if proto tcp from any to 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 ! port 9106 to any queue q_radio_out pass out quick on $int_if proto tcp from ! to any port 9106 queue q_radio_out pass out quick on $int_if proto tcp from ! 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!) # --> --> --> --> # <-- <-- <-- <-- - 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 ! to port 9106 queue >>> q_radio_out >>> pass in quick on $int_if proto tcp from ! 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 >>>
Re: [FUG-BR] Controle de Banda com PF
2010/6/22 Gabriel Fonseca :> > 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 ! to port 9106 queue > q_radio_out > pass in quick on $int_if proto tcp from ! 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. > >> Gabriel "ethX" Fonseca < > - Olá Gabriel, olá lista! Só para dar um feedback, consegui resolver o problema com ALTQ CBQ dessa forma: pass in on $int_if from to ! queue q_internet Esse ao meu ver, foi o "jump of the cat", o resto é simples e puro match. Assim posso manter a qualidade do trafego da rede internet, e seguimentar o resto dos acessos! Boa semana a todos! -- vi[nnix] aka: Vinícius Abrahão Bazana Schmidt - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
[FUG-BR] Controle de banda com PF+ALTQ: "alimento pras ideia"
hehehe "alimento pras ideia" foi soh uma traducao livre a expressao em ingles; autor do PF tenta justificar pq PF/ALTQ soh controla banda de saida... e nao convence ninguem... http://bsdnews.com/view_story.php3?story_id=5307 A ultima explicacao dele parecida sobre "porque sistemas BSD nao _querem_ ter filtro na camada 7" eu concordei =) Mas essa... o_O enfim, vale a pena ser lido. -- Patrick Tracanelli FreeBSD Brasil LTDA. (31) 3281-9633 / 3281-3547 [EMAIL PROTECTED] http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br