[FUG-BR] Controle de Upload PF + ALTQ
Alessandro de Souza Rocha
etherlinkii em gmail.com
Sexta Novembro 16 17:53:02 BRST 2007
Em 16/11/07, Leandro L J S<freebsd em fastcars.com.br> escreveu:
> Olá Alessandro hehehee
> Me desculpe eu estava falando com um Fernando enquanto escrevia o email
> hehehehe.
> Bom vou explicar
> Imagine um provedor de internet assim
>
> TELEMAR --------VR0 /FreeBSD/ RL0 ------AP/BRIDGE-----------CLIENTES FINAIS
>
> Bom seguindo este raciocinio imagine que tenho 2MB de link da TELEMAR e
> tenho
> 200 clientes finais de 256K cada um, com isso eu teria 20 megas pra sair em
> 2 megas
> Por isso que eu nao coloquei na interface externa 2mb pois senao ele me
> diria que os queues
> sao maiores que minha saida.
>
> Imaginando este cenário o que você acha que posso estar errando?
> Uma pergunta se eu fizer o controle de upload individual na interface
> externa ele vai reconhecer
> o pacote vindo do ip inválido ?? já nao estaria este traduzido pelo nat ?
>
> Fiz testes de upload aqui controlando up e down na mesma interface e
> aparentemente ele
> controla o up sim, mas fiz testes usando programas como limewire e ares e
> eles conseguem
> estourar o controle de banda, principalmente em upload.
>
> Obrigado pela atenção
>
>
> Em 16/11/07, Leandro L J S<freebsd em fastcars.com.br> escreveu:
> > Olá Fernando
> >
> > Eu não uso este controle em somente um lugar, mas sim em vários servidores
> > com isso a velocidade de saída varia muito, e nunca o servidor de controle
> > de banda
> > é ligado a saída do link e sim em minha rede interna.
> >
> > E outro problema é que tenho N queues e N ips para controlar banda, no
> > caso
> > do exemplo
> > mandei apenas um ip, por isso eu deixo a interface como se tivesse 1GB
> >
> > Estes controles são aplicados a clientes finais, sendo assim as
> > velocidades
> > dos queues
> > podem variar muito
> >
> > Obrigado
> >
> > ----- Original Message -----
> > From: "Alessandro de Souza Rocha" <etherlinkii em gmail.com>
> > To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> > <freebsd em fug.com.br>
> > Sent: Friday, November 16, 2007 3:07 PM
> > Subject: Re: [FUG-BR] Controle de Upload PF + ALTQ
> >
> >
> > 2007/11/16, Leandro L J S <freebsd em fastcars.com.br>:
> > > Olá
> > > Fiz um teste aqui e realmente não funcionou, veja se fiz certo por
> > > favor
> > >
> > > Fiz assim:
> > >
> > > /root/pf.conf
> > >
> > > # Options: tune the behavior of pf, default values are given.
> > > set timeout { interval 10, frag 30 }
> > > set timeout { tcp.first 90, 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 60, icmp.error 30 }
> > > 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 vr0
> > > set optimization aggressive
> > > set block-policy drop
> > > set require-order yes
> > > set fingerprints "/etc/pf.os"
> > > set skip on lo0
> > >
> > > # Scrub para todas as interfaces para pacotes fragmentos perdidos
> > > scrub in all
> > > scrub out all
> > >
> > > #Queue Controle de Banda Upload
> > > altq on vr0 bandwidth 1Gb cbq queue { \
> > > defaultvr0, A002u }
> > >
> > > #Cliente João
> > > queue A002u on vr0 bandwidth 256Kb cbq (red)
> > >
> > > #Queues do Sistema
> > > queue defaultvr0 on vr0 bandwidth 512Kb cbq (default)
> > >
> > > #---------------------------------------------------------------
> > >
> > > #Queue Controle de Banda Download
> > > altq on rl0 bandwidth 1Gb cbq queue { \
> > > defaultrl0, A002d, proxy }
> > >
> > > #Cliente João
> > > queue A002d on rl0 bandwidth 256Kb cbq (red)
> > >
> > > #Queues do Sistema
> > > queue defaultrl0 on rl0 bandwidth 64Kb cbq (default)
> > > queue proxy on rl0 bandwidth 512Kb cbq (red)
> > >
> > > #Cliente João
> > > pass out quick on vr0 inet from 192.168.10.2 to any label A002u queue
> > > A002u
> > > pass out quick on rl0 inet from any to 192.168.10.2 tos 0x60 queue proxy
> > > pass out quick on rl0 inet from any to 192.168.10.2 label A002d queue
> > > A002d
> > >
> > > Se possível me mandar os exemplos seus ficarei grato
> > >
> > > Obrigado8
> > >
> > > -------------------------
> > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > >
> > de quanto e seu link ai...
> >
> > altq on $int_if bandwidth 128Kb cbq queue { dflt_in local_in}
> > queue dflt_in bandwidth 50% cbq(default)
> > queue local_in bandwidth 50%
> >
> > ## Queueing: rule-based bandwidth control.
> > altq on $ext_if bandwidth 128Kb cbq queue { dflt_out1, local1 }
> > queue dflt_out bandwidth 50% cbq(default)
> > queue local1 bandwidth 50%
> >
> > ass in on $int_if from 192.168.0.0/24 to any keep state queue dflt_in
> > pass in on $int_if from 100.100.100.0/24 to any keep state queue local_in
> > pass in on $ext_if from 1192.168.0.0/24 to any keep state queue dflt_out1
> > pass in on $iext_if from 100.100.100.0/24 to any keep state queue local1
> >
> >
> > --
> > 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
> >
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
>
> Corrigindo meu nome nao e Fernando, isso vc pode contorna vai depender
> como e sua rede ai...
> --
> 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
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
no seu caso seria melhor vc usa ipfw+dummynet para controle de banda
individual que pf+altq.
/sbin/ipfw add 1 pipe 10 tcp from any to 192.168.3.3
/sbin/ipfw pipe 10 config bw 128Kbit/s
/sbin/ipfw add 2 pipe 11 tcp from any to 192.168.4.3
/sbin/ipfw pipe 11 config bw 128Kbit/s
/sbin/ipfw add 3 pipe 12 tcp from any to 192.168.5.3
/sbin/ipfw pipe 12 config bw 128Kbit/s
--
Alessandro de Souza Rocha
Administrador de Redes e Sistemas
Freebsd-BR User #117
Mais detalhes sobre a lista de discussão freebsd