Renato Frederick escreveu: > (...) > > Só uma pergunta. Estes scripts não consomem muita CPU/memória com o passar > do tempo? Ou você desenvolveu algo mais "pra baixo" em C e etc, consultando > diretamente a biblioteca do ipfw? Seria algo bacana de desenvolver hehe > Renato,
Tenho algo assim.... Criei uma tabela no mysql com alguns dados: mysql> select ip, upload, download, enabled, ready from ips limit 10; +---------------+--------+----------+---------+-------+ | ip | upload | download | enabled | ready | +---------------+--------+----------+---------+-------+ | xxx.xx.xxx.51 | 150 | 300 | 1 | 1 | | xxx.xx.xxx.50 | 300 | 600 | 1 | 1 | | xxx.xx.xxx.3 | 175 | 350 | 1 | 1 | | xxx.xx.xxx.4 | 300 | 600 | 1 | 1 | | xxx.xx.xxx.5 | 175 | 350 | 1 | 1 | | xxx.xx.xxx.52 | 64 | 128 | 1 | 1 | | xxx.xx.xxx.53 | 128 | 256 | 1 | 1 | | xxx.xx.xxx.54 | 64 | 128 | 1 | 1 | | xxx.xx.xxx.55 | 128 | 256 | 1 | 1 | | xxx.xx.xxx.57 | 64 | 128 | 1 | 1 | +---------------+--------+----------+---------+-------+ 10 rows in set (0.00 sec) E escrevi um daemon pra fazer o trabalho sujo pra mim... o dummynetd. Ele le essa tabela, procura por ips habilitados (enabled == 1) e cria os pipes e as regras do ipfw. Esse campo ready da tabela do mysql é utilizado para se comunicar com o daemon, se eu preciso alterar uma velocidade, eu altero na tabela e depois seto esse campo para 0 (zero). O dummynetd percebe isso e refaz os pipes do usuário (e seta o ready novamente para 1 indicando que o mesmo esta pronto para uso). Fora isso ele le os contadores dos pipes e gera os graficos por ip utilizando uma base de dados rrd. Ele esta escrito todo em C, fala direto com o kernel para criar, alterar, remover as regras e pipes. Falta a interface web para administrar essa tabela... nao estou preocupado com isso no momento... O código esta disponivel sob licença BSD, mas não tem manual nem instruções de instalação, embora não seja necessário nenhum guru para faze-lo funcionar, posso ajudar e tirar as dúvidas de quem precisar. []'s Luiz ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd