[FUG-BR] IPFW + Dummynet (RESOLVIDO = SKIPTO)

Alessandro de Souza Rocha etherlinkii em gmail.com
Terça Novembro 13 15:46:02 BRST 2007


Em 08/11/07, Alessandro de Souza Rocha<etherlinkii em gmail.com> escreveu:
> Em 08/11/07, Welkson Renny de Medeiros<welkson em focusautomacao.com.br> escreveu:
> > Enfim resolvido!
> >
> > # adicionando ips sem limite de banda
> > ipfw -q table 2 add 192.168.0.200  # welkson
> >
> > # Controle de banda (Rede FOCUS)
> > ipfw add skipto 600 all from any to "table(2)"  # se tiver na table 2 pular
> > para regra 600, velocidade máxima
> >
> > # restante 200k
> > ipfw 500 add pipe 11 ip from any to 192.168.0.0/24 src-port 80
> > ipfw pipe 11 config bw 200Kbit/s mask dst-ip 0x000000ff
> >
> > # regra 600k (velocidade máxima)
> > ipfw 600 add pipe 12 ip from any to 192.168.0.0/24 src-port 80
> > ipfw pipe 12 config bw 600Kbit/s mask dst-ip 0x000000ff
> >
> > Resumindo:
> > "Sem limite" = 600k (na verdade tem um limite kkkkk)
> > Restante = 200k
> >
> > Obrigado a todos pela ajuda... Jaime, realmente esse NOT é estranho, mas o
> > skipto que você sugeriu resolveu...
> >
> > Abraço,
> >
> > --
> > Welkson Renny de Medeiros
> > Focus Automação Comercial
> > Desenvolvimento / Gerência de Redes
> > welkson em focusautomacao.com.br
> >
> >
> >
> >                       Powered by ....
> >
> >                                            (__)
> >                                         \\\'',)
> >                                           \/  \ ^
> >                                           .\._/_)
> >
> >                                       www.FreeBSD.org
> >
> >
> >
> > ----- 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: Thursday, November 08, 2007 1:51 PM
> > Subject: Re: [FUG-BR] IPFW + Dummynet (a briga continua)
> >
> >
> > Em 08/11/07, Welkson Renny de Medeiros<welkson em focusautomacao.com.br>
> > escreveu:
> > > Jean,
> > >
> > > O NOT table era pra dizer que todos os ips cadastrados na table não iriam
> > > ter limitação... o que ocorre é que ele limita tudo, os que estão na
> > > table, e os que não estão...
> > >
> > > A regra sem o NOT funciona, tipo, se eu adicionar o ip 0.200 na table, ele
> > > limita ok, se eu remover, ele remove a limitação, agora quero colocar um
> > > NOT para dizer que quero limitar TUDO, exceto o contido na table.
> > >
> > > Resumindo: não sei oque ocorre com esse NOT, simplesmente não funciona...
> > > pensei o seguinte, talvez ele esteja negando o TABLE e também os SRC-PORTS
> > > do fim da regra... não sei...
> > >
> > > (exemplo com skip to?)
> > >
> > >
> > > --
> > > Welkson Renny de Medeiros
> > > Focus Automação Comercial
> > > Desenvolvimento / Gerência de Redes
> > > welkson em focusautomacao.com.br
> > >
> > >
> > >
> > >
> > >  Thu, 08 Nov 2007 07:50:05 -0400, Jean Zanuzo <jean em w3nt.com> escreveu:
> > >
> > > > Welkson Renny de Medeiros escreveu:
> > > > > Pessoal !
> > > > >
> > > > > Desculpa pela insistência... mas já procurei em tudo que é site...
> > > > > (nesse
> > > > > momento acho que estou vendo um em RUSSO :-) e não estou conseguindo
> > > > > resolver...
> > > > >
> > > > > Vejam usando table:
> > > > >
> > > > > ipfw -q table 2 add 192.168.0.200
> > > > >
> > > > > ipfw add pipe 11 ip from any to "table(2)" src-port 80
> > > > > ipfw pipe 11 config bw 100Kbit/s mask dst-ip 0x000000ff
> > > > >
> > > > > Blz, estou mandando limitar a table 2 a 100kbps... vou para a máquina
> > > > > 0.200
> > > > > (Windows XuxaPark), faço um teste via rjnet, ou outro qualquer, e
> > > > > blz... tá
> > > > > funfando perfeitamente, 100kbps...
> > > > >
> > > > > Dou um flush no table 2 e adiciono um ip qualquer
> > > > >
> > > > > [root em netserver:/etc/firewall] # ipfw table 2 flush
> > > > > [root em netserver:/etc/firewall] # ipfw table 2 add 192.168.0.201
> > > > >
> > > > > Agora, na mesma máquina 0.200 faço o teste de velocidade... e blz..
> > > > > mostra
> > > > > 800kbps... ou seja, é só para limitar 201... blz, funcionando...
> > > > >
> > > > > Agora a questão, como faço para nessa table ter somente os ips que NÃO
> > > > > QUERO
> > > > > LIMITAR... ou seja, limite o restante exceto os ips da table 2.
> > > > >
> > > > > Tentei o seguinte, colocar um "not" antes da chamada do table, ou
> > > > > seja,
> > > > > limite tudo, exceto os ips do table 2.
> > > > >
> > > > > ipfw add pipe 11 ip from any to not "table(2)" src-port 80
> > > > > ipfw pipe 11 config bw 100Kbit/s mask dst-ip 0x000000ff
> > > > >
> > > > > Aplico a regra, nenhum erro:
> > > > > [root em netserver:/etc/firewall] # ipfw list
> > > > > ...
> > > > > 00400 pipe 11 ip from any to not table(2) src-port 80
> > > > > ...
> > > > >
> > > > >
> > > > > [root em netserver:/etc/firewall] # ipfw table 2 flush
> > > > > [root em netserver:/etc/firewall] # ipfw table 2 add 192.168.0.200
> > > > > [root em netserver:/etc/firewall] # ipfw table 2 list
> > > > > 192.168.0.200/32 0
> > > > >
> > > > > Agora vou no pc 0.200 (xp), e verifico a velocidade... como ele está
> > > > > na
> > > > > lista de não limitado, então não era pra ficar somente com
> > > > > 100kbps...mas
> > > > > fica... ou seja, tem algo errado com esse NOT... já vi na
> > > > > documentação,
> > > > > procurei exemplos.. mas não sei que mistério... (Patrick?)
> > > > >
> > > > > É isso pessoal!!! passei o dia inteiro buscando sites, lendo manuais,
> > > > > fazendo testes... a internet hoje aqui no trampo ficou uma zona... me
> > > > > ajudem! ;-)
> > > > >
> > > > > Abraço,
> > > > >
> > > > >
> > > > Olá,
> > > >
> > > > Eu nao testei o not (o q esta te dando problema) mas se for urgente a
> > > > solucao, tente um "skipto", eu sempre uso ele. ;)
> > > >
> > > > Jean Zanuzo
> > > > -------------------------
> > > > 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
> > >
> >
> > pelo menos eu testei funcionou bem.
> > --
> > 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
> >
>
> que bom que resolveu vou fazer uns teste com not depois eu posto o
> resultado para vc e para lista.
> --
> Alessandro de Souza Rocha
> Administrador de Redes e Sistemas
> Freebsd-BR User #117
>

Ola Welkson como prometido fiz testes com a opcao "not" tinha
comentado que funcionava e realmente funciona o exemplo que postei.

ipfw -q table 2 add 192.168.0.250 192.168.0.4

ipfw add pipe 11 ip from not "table(2)" to not 192.168.0.0/24  src-port 80
ipfw pipe 11 config bw 100Kbit/s mask dst-ip 0x000000ff
so os ips acimas na tabella teram 100k o resto descarta entao fiz
teste de down o maximo que deu foi 120,5kbps. entao como falei
funciona qualquer duvida estou por aqui.

-- 
Alessandro de Souza Rocha
Administrador de Redes e Sistemas
Freebsd-BR User #117


Mais detalhes sobre a lista de discussão freebsd