[FUG-BR] Radius + PPPoE com FreeBSD + MPD5
Marcelo Gondim
gondim em bsdinfo.com.br
Quinta Fevereiro 13 08:40:58 BRST 2014
Em 13/02/14 02:25, Márcio Elias escreveu:
> Alguém na lista tem uma solução usando radius+mysql (ou postgresql) como
> servidor de autenticação com MPD5 e que tenha implementado um sistema de
> controle de banda relativo a um sistema de quotas?
>
> Um exemplo básico, tenho um plano de acesso de 10Mbits e queria limitar ele
> a 100GB de transferencia mensal, desta forma ao atingir o limite da
> franquia o usuário estaria limitado a uma velocidade equivalente a 40% do
> seu plano por exemplo. Ao iniciar o mês seguinte essa regra reinicia.
>
> Consegui implementar o servidor Radius, (FreeRadius) com banco de dados,
> autenticação PPPoE com MPD5, Controle de banda, tudo certinho. O problema
> está em criar as quotas e controlar o limite de banda baseado nisso.
>
> Vi que a FUG está meio desatualizada em artigos, e acho que isso é um
> assunto interessante para aqueles que como eu trabalham em ISPs, e
> principalmente que utilizam FreeBSD. Gostaria do apoio da comunidade para
> implementar isso e lançar um artigo detalhado sobre o assunto para
> favorecer os pobres mortais que futuramente terão a mesma dificuldade que
> estou tendo hoje para implementar essa solução.
>
> Conto com o apoio dos mestres. ;)
>
Opa Marcio,
Um certo tempo fiz alguns testes como esses que você tá fazendo e
consegui fazer funcionar sem o controle de franquia, que é o que você tá
querendo.
Não implantei pois precisava fazer umas mudanças internas e também eu
ainda não tinha IPv6 para fazer os testes que eu queria.
Levando-se em conta que no sistema que eu testava eu criei os planos de
velocidades em tables no ipfw e dummynet, assim quando o cliente
conectava, eu checava de qual plano ele era e jogava o IP dele da
conexão, na table certa. No seu caso poderia ser feito um script em php
que checasse a tabela radacct do radius e calculasse se ele ultrapassou
a quantidade de bytes trafegados da franquia e se sim desconectaria ele
e jogaria ele na table de velocidade nova. Isso pode ser feito em php
tranquilamente. :)
Abração,
Gondim
Mais detalhes sobre a lista de discussão freebsd