Re: [FUG-BR] Controle de Banda com PF
Em 22 de junho de 2010 08:55, Vinicius Abrahao vinnix@gmail.comescreveu: 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_outbandwidth 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. Gabriel ethX Fonseca - 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
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 rodr...@rcsolucoesinteligentes.com.br: 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 hosting 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 rodr...@rcsolucoesinteligentes.com.br Sent: Friday, June 18, 2010 1:18 PM To: freebsd@fug.com.br 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 rodr...@rcsolucoesinteligentes.com.br 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 ren...@frederick.eti.br, 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 ir...@bsd.com.br Sent: Friday, June 18, 2010 2:24 PM To: freebsd@fug.com.br Subject: Re: [FUG-BR] Controle de Banda com PF Em Fri, 18 Jun 2010 13:35:31 -0300 Renato Frederick ren...@frederick.eti.br, 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
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
[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+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