Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
Em 03/03/2014, às 17:34, Márcio Elias marcioel...@gmail.com escreveu: 2014-03-03 16:44 GMT-03:00 Bruno Araújo bjara...@gmail.com: 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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
Humm, vou ver isso. Sobre o controle de banda, trabalho em um ISP e preciso limitar planos de velocidades de clientes, 2M, 3M, 5M etc. Por isso é um controle simples, a única coisa a mais é a franquia mensal, que quando ultrapassada o plano do cliente é reduzido para a velocidade mínima garantida. Acho que o controle de banda que vc quer envolve filas, tipo com PF + ALTQ não seria isso? Como não é minha realidade, acabei não vendo se tem algo neste sentido no MPD, mais acho que não, pelo menos a documentação fala sobre pipes no IPFW e mpd-limit usando Netgraph. -- Att. __ Márcio Elias Hahn do Nascimento Araranguá - SC Cel: (55) 48-9661-0233 msn: marcioeliash...@hotmail.com 2014-03-04 10:11 GMT-03:00 Bruno Araújo bjara...@gmail.com: Em 03/03/2014, às 17:34, Márcio Elias marcioel...@gmail.com escreveu: 2014-03-03 16:44 GMT-03:00 Bruno Araújo bjara...@gmail.com: 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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
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:
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
Em 03/03/14 15:48, Márcio Elias 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. Show Marcio! Eu estava vendo isso um tempo atrás mas tive que parar por causa de outras prioridades aqui no provedor mas fica aqui meu convite pra disponibilizar o seu artigo na BSDInfo. :) Concordo contigo com relação à documentação... é muito pouca e pior, as que existem não tem muitos exemplos práticos. Grande abraço e sucesso aí na sua empreitada. []'s Gondim - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
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:
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
2014-03-03 16:44 GMT-03:00 Bruno Araújo bjara...@gmail.com: 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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
2014-03-03 17:34 GMT-03:00 Márcio Elias marcioel...@gmail.com: 2014-03-03 16:44 GMT-03:00 Bruno Araújo bjara...@gmail.com: 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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
Outra dúvida. rsrs... vc não está usando nat de uma interface para outra? somente ng_nat? Cara, essa parte ainda não parei pra estudar, meu principal objetivo é o controle inteligente de banda, e desempenho. Pelo que li sobre o Netgraph, ele tem mesmo um desempenho maior. Você poderia compartilhar em troca ai além de como fez para nomear as interfaces, como fez o ng_nat funcionar? Está usando uma interface para entrada do link e outra para conexão aos usuários certo? Estou empolgado em fazer este cenário dar certo, e publicar o artigo. Ao ser publicado, se vc permitir, darei a vc os créditos pela ajuda. -- Att. __ Márcio Elias Hahn do Nascimento Araranguá - SC Cel: (55) 48-9661-0233 msn: marcioeliash...@hotmail.com 2014-03-03 16:44 GMT-03:00 Bruno Araújo bjara...@gmail.com: 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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
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
Re: [FUG-BR] Radius + PPPoE com FreeBSD + MPD5
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
[FUG-BR] Radius + PPPoE com FreeBSD + MPD5
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. ;) -- Att. __ Márcio Elias Hahn do Nascimento Araranguá - SC Cel: (55) 48-9661-0233 msn: marcioeliash...@hotmail.com - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd