[FUG-BR] IPFW + Dummynet (a briga continua)

Alessandro de Souza Rocha etherlinkii em gmail.com
Quarta Novembro 7 21:51:40 BRST 2007


Em 07/11/07, Welkson Renny de Medeiros<welkson em focusautomacao.com.br> 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,
>
> --
> 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: "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: Wednesday, November 07, 2007 5:08 PM
> Subject: Re: [FUG-BR] IPFW + Dummynet
>
>
> Eu tenho esse arquivo... já olhei ele... revisei agora a parte que você
> pediu, fiz mais testes, mas não consegui... tô procurando no google algum
> exemplo parecido com o meu, usando NOT e variáveis com vários ips... (talvez
> table)...
>
>
> --
> 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: "Jean Zanuzo" <jean em w3nt.com>
> To: ""Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)""
> <freebsd em fug.com.br>
> Sent: Wednesday, November 07, 2007 2:20 PM
> Subject: Re: [FUG-BR] IPFW + Dummynet
>
>
> Welkson Renny de Medeiros escreveu:
> > Amador, fiz os testes, ficou assim:
> >
> > # Controle de banda (Rede FOCUS)
> > ipfw add pipe 2 ip from any src-port 80, 110, 25, 465, 995 to not
> > 192.168.0.200
> > ipfw pipe 2 config bw 100Kbit/s queue 20 mask dst-ip 0x000000ff
> >
> > Ocorre o seguinte erro:
> > ipfw: missing ``to''
> >
> >
> > Alessandro, sua sugestão:
> > ipfw add pipe 2 ip from not 192.168.0.200 to not src-port 80, 110, 25,
> > 465,
> > 995
> > ipfw pipe 2 config bw 100Kbit/s queue 20 mask dst-ip 0x000000ff
> >
> > Erro:
> > ipfw: hostname ``src-port'' unknown
> >
> > Pessoal, com certeza alguém já implementou isso... limitar TODOS usuários
> > a
> > uma velocidade baixa, e somente alguns a uma velocidade maior... esqueçam
> > essa regra que tentei fazer, tá meio bizarra mesmo... postem e me ajudem
> > :-)
> >
> >
> >
> Recomendo a leitura do "man ipfw" ou em portugues
> http://www.freebsdbrasil.com.br/fbsdbr_files/File/public_docs/ipfw-howto.pdf
> disponibilizado pela freebsd brasil (obrigado pelo trabalho).
>
> Olhe a seção 4.2 "Controle de Interface e de Fluxo" e seção 8 "Fluxo do
> Tráfego pelo Firewall." com certeza já te ajuda um pouco
>
> 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
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>

ipfw add pipe 2 ip from  not 192.168.0.200 to not 192.168.0.0/24
src-port 80, 110, 25, 465,995
ipfw pipe 2 config bw 100Kbit/s queue 20 mask dst-ip 0x000000ff

FreeBSD# ipfw pipe list
00002: 100.000 Kbit/s    0 ms   20 sl. 0 queues (64 buckets) droptail

FreeBSD# ipfw list
00100 pipe 2 ip from not 192.168.0.200 to not 192.168.0.0/24 src-port
80,110,25,465,995
65535 allow ip from any to any

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


Mais detalhes sobre a lista de discussão freebsd