cytron
(usa Slackware)
Enviado em 15/05/2008 - 02:19h
Bom, respondendo ao problema... Não tem como todos usarem uma interface ppp.
Mas a solução é simples. Quando o pppoe-server recebe uma conexão, é repassado para o pppoe que chama o pppd, esse pppd é quem cria a interface ppp.
O pppd ao criar uma interface pppX para o cliente, ele procura pelo script /etc/ppp/ip-up, que é onde você deve colocar as regras TC para controlar o tráfego desse cliente, o pppd passa como parâmetros a interface ppp ($1) e o IP fornecido pelo pppoe-server ($5)... (consulte man pppd)
Quando o cliente desconecta, o pppd chama o /etc/ppp/ip-down, onde você vai limpar as regras (basta apagar a regra principal, Ex.: tc qdisc del dev $1 root; tc qdisc del dev $1 ingress)
Com isso, o controle de banda é feito individual para cada cliente. Esta é a única maneira (fazer individualmente através dos scripts ip-up/ip-down)
Casando o pppoe-server com um Radius você faz maravilhas, dá pra superar uma Oi ou BrasilTelecom em flexibilidades e controle de conexão.
Tenho dois provedores e utilizo pppoe-server + freeradius + mysql + meu_próprio_sistema. É a melhor coisa que já ví além de ser tudo grátis.
Aqui tem uma dica que poste, caso você resolva usar FreeRadius:
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=10284
E aqui tem scripts bons pra facilitar a vida no FreeRadius e pppoe-server:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=3265
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=3266
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=3267
Epero ter ajudado! Boa sorte!