[FUG-BR] PF + ALTQ

Alessandro de Souza Rocha etherlinkii em gmail.com
Terça Agosto 28 17:16:43 BRT 2007


Em 28/08/07, Gilberto Villani Brito<linux em giboia.org> escreveu:
> On 28/08/07, Alessandro de Souza Rocha <etherlinkii em gmail.com> wrote:
> > Em 28/08/07, Alessandro de Souza Rocha<etherlinkii em gmail.com> escreveu:
> > > Em 28/08/07, Gilberto Villani Brito<linux em giboia.org> escreveu:
> > > > E-mail comentado:
> > > >
> > > > On 21/08/07, Victor Loureiro Lima <victorloureirolima em gmail.com> wrote:
> > > > > I had enough ;)
> > > > >
> > > > > Cansei de ter menos banda na minha maquina (gateway da rede wireless
> > > > > la' de casa, rodando freebsd e meu desktop tambem ;)) toda vez que
> > > > > algum familiar ou visita entra na internet para ver os seus
> > > > > powerpoints sobre viagens no mundo, ou curiosidades no email, por
> > > > > tanto resolvi usar o altq a meu favor e incluir um controle de banda
> > > > > na rede la' de casa.
> > > > >
> > > > > A regra e' simples, quando eu estiver usando a internet (segundo eu li
> > > > > no manual da pf existe essa possibilidade) eu quero ter 60% da
> > > > > bandwidth apenas para mim, e os outros 40%, e quando nao houver nenhum
> > > > > uso de internet no gateway (meu desktop), a banda pode ir 100% para
> > > > > quem tiver usando. Nota: Nao quero que conexoes vindo da internet
> > > > > caiam em nenhuma queue, ou seja, tenham processamento normal sem
> > > > > limitacao de banda para eles. (considerando logicamente o limite
> > > > > fisico da capacidade da banda, e o caso da duvida 2 abaixo ;))
> > > > >
> > > > > Tendo essas premissas, existem a seguintes dúvidas:
> > > > > Como a minha rede e' disposta da seguinte forma:
> > > > >
> > > > > [ rede interna wireless de casa ] <---> [ath0]  [fxp0] <---> INTERNET
> > > > >                                                        (^^^^^^^^^^^^^^ gateway)
> > > > >
> > > > > 1a. duvida: eu devo habilitar o altq na interface ath0 ou na fxp0? Meu
> > > > > entendimento e' que
> > > > > se habilitar para a ath0, faria mais sentido, pois apenas o trafico
> > > > > wireless seria afetado.
> > > > > Caso seja essa a solução, estou certo em achar que simplesmente habilitando o
> > > > > altq na interface ath0 e passando um valor de 1600kb (meu link e' de
> > > > > 4mb, 1600 seria algo em torno de 40%), eu ja' conseguiria o resultado
> > > > > esperado? Depois seria apenas uma questao de habilitar no pass in on
> > > > > ath0 queue minha_queue?
> > > >
> > > > Depende, se você for limitar SOMENTE o download usa a interface ath0,
> > > > mas se for limitar o upload também, terá que usar a fxp0.
> > > >
> > > > >
> > > > > 2a. duvida: como fica a questão de limitar o que entra na rede? Teria
> > > > > como eu jogar os pacotes de resposta (vindos da internet) que foram
> > > > > originados de conexoes vindo da ath0 (usuarios internos) para uma
> > > > > queue que tenha menos banda, e deixar os outros que usam o fxp0 sem
> > > > > limitações de entrada/saida?!
> > > >
> > > > Sim, tem como fazer isso.
> > > >
> > > > >
> > > > >
> > > > > Ai vai o meu pf.conf (muito simples, nao tem nada...):
> > > > > #########################################################
> > > > > # Macros: define common values, so they can be referenced and changed easily.
> > > > > ext_if="fxp0"   # replace with actual external interface name i.e., dc0
> > > > > int_if="ath0"   # replace with actual internal interface name i.e., dc1
> > > > > internal_net="192.168.0.0/24"
> > > > > external_addr="`ifconfig fxp0 | grep inet | cut -d ' ' -f2`"
> > > > >
> > > > >
> > > > > # Options: tune the behavior of pf, default values are given.
> > > > > set timeout { interval 10, frag 30 }
> > > > > set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
> > > > > set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
> > > > > set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
> > > > > set timeout { icmp.first 20, icmp.error 10 }
> > > > > set timeout { other.first 60, other.single 30, other.multiple 60 }
> > > > > set timeout { adaptive.start 0, adaptive.end 0 }
> > > > > set limit { states 10000, frags 5000 }
> > > > > set loginterface none
> > > > > set optimization normal
> > > > > set block-policy drop
> > > > > set require-order yes
> > > > > set fingerprints "/etc/pf.os"
> > > > >
> > > > > # Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
> > > > > scrub in all
> > > > >
> > > > > nat on $ext_if from $internal_net to ! $internal_net -> ($ext_if)
> > > > >
> > > > > pass in log quick on $int_if keep state
> > > > > pass out log quick on $int_if keep state
> > > > > pass in log quick on $ext_if keep state
> > > > > pass out log quick on $ext_if keep state
> > > > > ################################################
> > > > >
> > > > > Abracos,
> > > > > Victor F. Loureiro Lima
> > > > > -------------------------
> > > > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > > > >
> > > >
> > > > Mais ajuda: http://www.fug.com.br/historico/html/freebsd/2007-03/msg00028.html
> > > >
> > > > Abraços
> > > > --
> > > > Gilberto Villani Brito
> > > > System Administrator
> > > > Londrina - PR
> > > > Brazil
> > > > gilbertovb(a)gmail.com
> > > > -------------------------
> > > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > > >
> > > da uma olhada ai.
> > > altq on vr0 hfsc bandwidth 128Kb queue  { dflt_out1, local1 }
> > > queue dflt_out1 bandwidth 5% hfsc(default)
> > > queue local1 bandwidth 95%
> > >
> > > altq on tun0 hfsc bandwidth 128Kb queue  { dflt_out2, local2 }
> > > queue dflt_out2 bandwidth 5% hfsc(default)
> > > queue local2 bandwidth  95%
> > >
> > >
> > >
> > > --
> > > Alessandro de Souza Rocha
> > > Administrador de Redes e Sistemas
> > > Freebsd-BR User #117
> > >
> > irewall# pfctl -s queue
> > queue root_vr0 bandwidth 128Kb priority 0 {dflt_out1, local1}
> > queue  dflt_out1 bandwidth 6.40Kb hfsc( default )
> > queue  local1 bandwidth 121.60Kb
> > queue root_tun0 bandwidth 128Kb priority 0 {dflt_out2, local2}
> > queue  dflt_out2 bandwidth 6.40Kb hfsc( default )
> > queue  local2 bandwidth 121.60Kb
> >
> >
> > --
> > Alessandro de Souza Rocha
> > Administrador de Redes e Sistemas
> > Freebsd-BR User #117
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
>
> O queue esta correto, mas como você esta usando-o???
>
> Abraços
> --
> Gilberto Villani Brito
> System Administrator
> Londrina - PR
> Brazil
> gilbertovb(a)gmail.com
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>

nao muda em nada a conexao fica normal alguma coisa esta errada por ai
checa firewall regras de filtragem etc.
-- 
Alessandro de Souza Rocha
Administrador de Redes e Sistemas
Freebsd-BR User #117


Mais detalhes sobre a lista de discussão freebsd