Em 03/03/2014, às 15:48, Márcio Elias <marcioel...@gmail.com> escreveu:
> Estive meio ausente da lista, mais estou progredindo neste assunto. > > Atualmente estou apto a conectar usuários, e logo que conectado limitar sua > banda usando mpd-limit (não estou usando pipes, e sim a interface netgraph > criada para o cliente). > > Estou também conseguindo obter informações do tráfego do usuário, e apto a > enviar pacotes CoA para o MPD de modo que este possa atualizar o link do > usuário sem desconectá-lo, ou seja, mesmo no meio de um download, se o > usuário ultrapassar a quota mensal, o mesmo verá sua taxa de transferencia > cair até o limite do plano. > > Minha solução até agora está envolvendo alguns AVPs personalizados, alguns > códigos em Perl (modulos para checar a banda usada e para resetar o > contador de tempo de sessão) e uma boa dose de código em UnLang nas sessões > authorize e accounting. > > Está ficando bem interessante, como disse ainda tenho intenção de fazer um > artigo detalhando esse assunto, mais vou fazê-lo assim que tiver a solução > completamente pronta. > > Atualmente minha dúvida está em enviar o pacote CoA para o MPD somente se o > usuário ultrapassar a quota mensal, ou se virar o mes conectado, por que > atualmente estou enviando o pacote a cada accounting update. > > Volto quando tiver maiores novidades, e começo a escrever o artigo assim > que sanar essa dúvida. Não pretendo fazer um pequeno artigo do tipo copiar > e colar, mais sim explicar e referenciar cada ponto, para que se possa > entender o assunto e saber o que se está fazendo. Senti muita dificuldade > em encontrar materiais, as principais dicas (tirando a documentação do MPD > e do FreeRadius) tirei de fóruns Russos, (traduzindo para o ingles). Por > isso quero contribuir para comunidade brasileira e escrever tudo em bom > Portuguès. > > -- > Att. > __________________________________ > Márcio Elias Hahn do Nascimento > > Araranguá - SC > Cel: (55) 48-9661-0233 > msn: marcioeliash...@hotmail.com > > > 2014-02-13 8:59 GMT-02:00 Márcio Elias <marcioel...@gmail.com>: > >> Ai que está, eu já fui um pouco mais longe, não usei Dummynet nem IPFW pra >> controle de banda, usei ng_bpf+ng_car ( >> http://mpd.sourceforge.net/doc5/mpd30.html#radius). Quanto a troca de >> velocidade, queria fazer isso de modo transparente, sem derrubar o usuário. >> Dependendo do usuário ou do que o mesmo está fazendo, não é interessante vc >> derrubar ele. >> >> Minha ideia era conseguir fazer algo semelhante ao que fala este artigo. >> >> http://revk.www.me.uk/2012/11/usage-quotas.html >> >> Tentei até entrar em contato com o autor mais não tive resposta até agora. >> >> -- >> Att. >> __________________________________ >> Márcio Elias Hahn do Nascimento >> >> Araranguá - SC >> Cel: (55) 48-9661-0233 >> msn: marcioeliash...@hotmail.com >> >> >> 2014-02-13 8:40 GMT-02:00 Marcelo Gondim <gon...@bsdinfo.com.br>: >> >> 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 >>> ------------------------- >>> 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 Parabéns pelo progresso, também diz alguns testes aqui e consegui conectar clientes sem nat ( é assim que quero) e renomear a interface para o nome de usuário mas o controle de tráfego também não quis por pipes. Poderia me adiantar ou postar o link original sobre esse controle netgraph? _______________ Bruno Araújo Antes de imprimir, verifique se tem papel e tinta suficiente na impressora. ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd