[FUG-BR] ipfw-classifyd - Me ajudem a testar!

Renato Frederick frederick em dahype.org
Terça Agosto 12 15:06:25 BRT 2008


Welkson e pessoal,

O daemon do classifyd é só executar e deixar rodando. Aquela flag na frente
é para abrir queues, vi que vai de 1 a 65535. Mas para mim não adiantou
alterar, sempre dava fila cheia.
O número na frente do .conf é para indicar em qual regra ele vai devolver o
pacote.

#!/bin/sh
#
# Sample ipfw(8) script for use with FlowShaper
#

fwcmd=/sbin/ipfw
ifn=bfe0

# Remove all other rules.
#
${fwcmd} -f flush

# Setup a throttled P2P pipe.
#
${fwcmd} pipe 1 config bw 64Kbit/s queue 10
${fwcmd} pipe 2 config bw 64Kbit/s queue 10

# Divert all TCP and UPD packets through our filter
#
${fwcmd} add 400 divert 7777 tcp from any to any via ${ifn}
${fwcmd} add 410 divert 7777 udp from any to any via ${ifn}

# Pass unclassified packets
${fwcmd} add 1000 allow ip from any to any

# Pipes for throttling packets comming out of the divert(4) socket
#
${fwcmd} add 64000 pipe 1 log ip from any to any in diverted
${fwcmd} add 64001 pipe 2 log ip from any to any out diverted

Neste exemplo ele criou 2 pipes com 64k de velocidade, entrega todo o
tráfego pra o divert na porta 7777.

Então, se ele não identificar nenhum tráfego p2p ele vai cair na regra
${fwcmd} add 1000 allow ip from any to any(ou seja, não vai fazer nada).

Se o pacote sair do divert(ou seja, tráfego classificado) ele vai cair nas
regras:

${fwcmd} add 64000 pipe 1 log ip from any to any in diverted
${fwcmd} add 64001 pipe 2 log ip from any to any out diverte

Que remetem aos 2 pipes acima criados, de 64k.

Então o fluxo é:

Entrega pra 10000(definido no ipfw-classifyd.conf) tráfego não classificado

Entrega pra saída do diverted tráfego classificado como p2p

Se não ficar claro, explico melhor :)

> -----Original Message-----
> From: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] On
> Behalf Of Welkson Renny de Medeiros
> Sent: Tuesday, August 12, 2008 1:34 PM
> To: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> 
> Eita corrigindo:
> 
> "Fora isso NÃO sei informar muita coisa."
> 
> rsrs
> 
> Welkson
> 
> ----- Original Message -----
> From: "Welkson Renny de Medeiros" <welkson em focusautomacao.com.br>
> To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> <freebsd em fug.com.br>
> Sent: Tuesday, August 12, 2008 1:13 PM
> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> 
> 
> Olá Eduardo!
> 
> 
> Como o projeto ainda é muito novo a documentação é ZERO... ainda não
> consegui testar, pois meu NAT é todo no PF, não uso divert faz tempo...
> mas
> pelo menos compilar e rodar um -h já consegui.
> 
> Se você olhar as mensagens desse tópico tem umas dicas para compilar na
> arquitetura i386... tem um .sample do arquivo de configuração, e pelo que
> entendi (Renato explicou) aquele número que tem na frente do nome da
> aplicação é o número da regra no IPFW (shapping ou block, etc).
> 
> Fora isso sei informar muita coisa.
> 
> Renato, explica aí pra gente.
> 
> Abraço,
> 
> Welkson
> 
> ----- Original Message -----
> From: "Eduardo Schoedler" <eschoedler em viavale.com.br>
> To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> <freebsd em fug.com.br>
> Sent: Monday, August 11, 2008 7:15 PM
> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> 
> 
> Alguém tem qualquer tipo de documentação de como implementar esse
> classifyd
> ?
> Qualquer receitinha de bolo tá valendo.
> 
> Queria fazer um teste.
> 
> [ ]s,
> Eduardo.
> 
> 
> --------------------------------------------------
> From: "Welkson Renny de Medeiros" <welkson em focusautomacao.com.br>
> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> 
> Realmente é um caso a ser analisado...
> 
> Pelo que entendi, Patrick não teve problemas com 4MB... mas com 21 sim,
> vejam um trecho da mensagem do freebsd-net:
> 
> To let you know of my current (real world) tests:
> 
> - Wireless Internet Provider 1:
> - 4Mbit/s of Internet Traffic
> - Classifying default protocols + soulseek + ssh
> - Classifying 100Mbit/s of dump over ssh
> 
> Results in:
> No latency added, very low CPU usage, no packets dropping.
> 
> - Wireless ISP 2:
> - 21 Mbit/s of Internet Traffic
> - Classifying default protocols + soulseek + ssh
> 
> Results in:
> No tcp or udp traffic at all; everything that gets diverted never comes
> out of the divert socket, and ipfw-classifyd logs
> 
> Lembro que ele falou que o uso da CPU não passava de +- 0.4.
> 
> --
> Welkson Renny de Medeiros
> Focus Automação Comercial
> Desenvolvimento / Gerência de Redes
> welkson em focusautomacao.com.br
> 
> 
> ----- Original Message -----
> From: "Frederico Terra Boechat" <fboechat em mar.com.br>
> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> 
> Comigo com 4mb de trafego CPU do servidor colou em 100%
> 
> Um Core2Duo de 2.4Ghz e 2GB de RAM!
> 
> Achei pesado...
> 
> Frederico Terra Boechat
> E-mail: fboechat em mar.com.br
> MSN: fboechat em hotmail.com
> Cabo Frio - RJ - Brasil
> 
> 
> 
> Em 11/08/2008, às 16:54, Renato Frederick escreveu:
> 
> > A versao que você testou comportou tráfego elevado corretamente? Não
> > tive
> > como avançar nos testes, era questão de segundos até parar toda a
> > rede!! :(
> >
> >
> >> -----Original Message-----
> >> From: Welkson Renny de Medeiros
> >> Sent: Monday, August 11, 2008 4:20 PM
> >> To: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
> >> Subject: Re: [FUG-BR] ipfw-classifyd - Me ajudem a testar!
> >>
> >> Só para constar na lista, realmente com os flags roda normalmente
> >> (i386):
> >>
> >> make CFLAGS="-fPIC  -O -pipe"
> >>
> >> make install clean
> >>
> >> [root em intranet ~/ipfw_classifyd/ipfw-classifyd]# ipfw-classifyd  -h
> >> usage: ipfw-classifyd [-h] [-c file] [-p port] [-P dir] [-q length]
> >> usage: ipfw-classifyd -t -P dir
> >>    -c file   : path to configuration file
> >>    -h        : this help screen
> >>    -P dir    : directory containing protocol patterns
> >>    -p port   : port number of divert socket
> >>    -q length : max length (in packets) of in/out queues
> >>    -t        : test the sample protocol data supplied on the standard
> >> input
> >> stream
> >>
> >> Welkson
> 
> -------------------------
> 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
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Mais detalhes sobre a lista de discussão freebsd