[FUGSPBR] Desafio e Ajuda
Joao Luiz
jluiz em vnet.com.br
Ter Jun 12 10:45:00 BRT 2001
Edson
Eu pensei em fazer um script que pingasse constantemente as máquinas
para saber quem estivesse ativo (pelo menos com a máquina ligada) e rodasse
o script de reconfiguração de banda após a sessão de ping e do arquivo
gerado com as máquinas ativas.Ainda nem pensei em como fazer, mas apenas em
dar uma solução no problema. . O que acha?
Joao
----- Original Message -----
From: "Edson Brandi" <e.brandi em uol.com.br>
To: <fugspbr em fugspbr.org>
Sent: Monday, June 11, 2001 9:48 AM
Subject: Re: [FUGSPBR] Desafio e Ajuda
> Bom dia
>
> > Tenho uma rede com aprox. 100 micros e um link de 128K para acesso a
> > internet. Procuramos democratizar o acesso a internet com justiça, ou
seja,
> > que todos tenham a mesma taxa de transferência no link. Temos que
controlar
> > a banda por IP ou MAC, mas tem que ser dinamicamente , ou melhor se
apenas 2
> > micros estiverem plugados na Rede, cada um terá um canal de 64k para
> > trafegar. Se os 100 estiverem plugados cada um terá 1.28K e assim
> > sucessivamente.
>
> Meu amigo voce esta com um belo problema nas maos :-)
> O sistema de dummynet do FreeBSD nao permite a configuração
> dinamica dos pipes.
> Voce vai ter que fazer na unha esse controle, e nao vejo uma
> forma de ser transparente ao usuario.
> Meus 1 % de colaboração:
>
> b) Por default de denny em todo o trafego udp/tcp/ip/icmp de saida.
>
> a) Crie um sistema simples em PHP que permita que cada usuario possa
> "logar"/"Deslogar" da rede, esse script precisa apenas gerar um arquivo
> do tipo 1 ip por linha, nao precisa nem pedir login e senha, mas eh
> importante que o script pegue o IP do desktop quando o usuario der
> "conectar". Ele tem que remover as linhas do arquivo quando o usuario
> der desconectar.
>
> b) Faça um script shell que leia esse arquivo e defina a banda de acordo
> com o numero de linhas geradas pelo script php.
>
> algo bem simples como:
>
> -----------
>
> #!/bin/bash
> ativos=`wc -l arquivo.txt|awk '{print $1}'`
> banda=`expr 128 / $ativos`
> echo $banda
> echo
> pipe_num=0
> regra=1000
>
> for hosts in `cat arquivo.txt`
> do
> pipe_num=`expr $pipe_num + 1`
> ipfw add pipe $pipe_num ip from $hosts to any
> ipfw pipe $pipe_num config delay 0ms bw "$banda"Kbit/s queue 10
> pipe_num=`expr $pipe_num + 1`
> ipfw add pipe $pipe_num ip from any to $hosts
> ipfw pipe $pipe_num config delay 0ms bw "$banda"Kbit/s queue 10
> regra=`expr $regra + 10`
> ipfw add $regra pass all from $hosts to any
> regra=`expr $regra + 10`
> ipfw add $regra pass all from any to $hosts
> done
>
> -----------
>
> Voce coloca o seu PHP para executar esse script cada vez que alguem se
> logar ou deslogar :-), ele vai gerar a lista de hosts ativos, e setar os
> pipes. Claro tem que incluir no scritp as linhas com as suas regras, e
> deve adicionar no inicio dele um flush das regras sempre que ele for
> executado. ok?
>
> MAs eh importante que voce bloquei tudo por default e so libere a
> navegaçao quando o cara logar, assim nao corre o risco de ter alguem
> burlando o sistema. Como todos vao ser prejudicados se nao deslogarem, a
> cultura ai muda facil facil ;-)
>
> Sei que nao eh o ideal, mas acho que por hora eh o melhor que voce vai
> conseguir sem modificar o funcionamento do ipfw.
>
> [ ]'s Edson
> , ,
> Edson Brandi /( )`
> Supervisor de Operacoes - UOL \ \___ / |
> Fone: 0XX11 96555470 /- _ `-/ '
> 0XX11 32244103 (/\/ \ \ /\
> ICQ at Work: 32512639 / / | ` \
> ICQ at Home: 100503189 O O ) / |
> --------------------------------------- `-^--'`< '
> (_.) _ ) /
> Transforme seu PC numa Workstation Unix. `.___/` /
> Visite http://www.primeirospassos.org `-----' /
> http://www.fugspbr.org <----. __ / __ \
> <----|====O)))==) \) /====
> <----' `--' `.__,' \
>
> ----
> Para sair da lista envie um e-mail para majordomo em fugspbr.org
> com as palavras "unsubscribe fugspbr" no corpo da mensagem.
>
----
Para sair da lista envie um e-mail para majordomo em fugspbr.org
com as palavras "unsubscribe fugspbr" no corpo da mensagem.
Mais detalhes sobre a lista de discussão freebsd