Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Imagem:qmail.png

PPPoE + Radius + BandLimit



Tabela de conteúdo

Introdução

Devido a grande necessidade de ter uma solucao integrada e de facil manutenção resolvi fazer este artigo para resolver o problema de vocês administradores de provedores wireless assim como resolvi o meu :) .

IMPORTANTE!!!: Para que tudo funciona voce tem que ter instalado na maquina iproute2 + iptables com suporte a mangle e mark

Instalação

1- Pegar a versão em desenvolvimento do pppd (versão 2.4.3b1) com algumas alterações que eu fiz para funcionar tudo e instalar no diretório /usr/local/src

# cd /usr/local/src
# wget http://www.underlinux.com.br/downloads/ppp/ppp.tar.gz

2- Compilar e instalar o ppp

# tar -zxvf ppp.tar.gz
# cd ppp
# ./configure
# make
# make install

3- Fazer download do arquivo: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz

4- Descompactar o rp-pppoe-3.4.tar.gz dentro do diretório /usr/local/src, compilar e instalar:

5- Compile o RP-PPPOE

$ su -
# cd rp-pppoe-3.4/src
# ./configure
# make
# make install

Não se preocupe com as perguntas, elas são para configurar um cliente de PPPoE.

6- Remova todas os usuarios do arquivo /etc/ppp/pap-secrets e /etc/ppp/chap-secrets


Configuração

1- Inclua as seguinte linhas no arquivo /etc/ppp/pppoe-server-options:

require-pap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns ipdnsprimario
ms-dns ipdnssecundario
plugin radius.so
plugin radattr.so

2- Edite o arquivo /etc/radiusclient/servers e inclua o servidor de Radius e a senha dele

3- Edite o arquivo /etc/radiusclient/radiusclient.conf e altere as linhas authserver e acctserver para o seu servidor de Radius e porta.

Ex.:

authserver radius.provedor.com.br:1645
acctserver radius.provedor.com.br:1646

4- No seu servidor de Radius, edite o arquivo /etc/raddb/clients e /etc/raddb/naslist (usar o tipo de servidor como other).

5- Colocar o pppoe-server no /etc/rc.d/rc.local para executar quando o servidor for reiniciado

pppoe-server -C Provedor -L enderecoiplocal -p /etc/ppp/ips -I ethX
  • ethX = interface da rede que utilizará PPPoE

Crie o arquivo /etc/ppp/ips com as classes de ips que voce deseja atribuir aos seus clientes


Ex.:

200.200.200.0-255
200.222.222.0-255

6- Adicione dentro do /etc/ppp os meus arquivos ip-up e ip-down

cd /etc/ppp
wget http://www.underlinux.com.br/downloads/ppp/ip-up
wget http://www.underlinux.com.br/downloads/ppp/ip-down
chmod +x ip-up
chmod +x ip-down

7- Edite o arquivo /etc/radiusclient/dictionary adicionando essas 3 linhas:

ATTRIBUTE Download 78 integer
ATTRIBUTE Upload 79 integer
ATTRIBUTE Cliente 80 string

8- Edite o dicionario padrao do seu servidor de radius e tambem adicione

ATTRIBUTE Download 78 integer
ATTRIBUTE Upload 79 integer
ATTRIBUTE Cliente 80 string

9- Configure dentro do seu arquivos users do radius os grupos de acesso

DEFAULT Group == "cliente128k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 128,
              Upload = 64,
              Cliente = cliente

DEFAULT Group == "cliente256k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 256,
              Upload = 64,
              Cliente = cliente

DEFAULT Group == "cliente328k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 328,
              Upload = 64,
              Cliente = cliente

DEFAULT Group == "empresa128k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 128,
              Upload = 128,
              Cliente = empresa

DEFAULT Group == "empresa256k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 256,
              Upload = 256,
              Cliente = empresa

DEFAULT Group == "empresa328k", Simultaneous-Use = "1"
              Fall-Through = Yes,
              Download = 328,
              Upload = 328,
              Cliente = empresa

No caso é claro voce tem que lembrar de adicionar esses grupos no seu sistemas e tera que colocar o usuario nesse grupo para que ele navegue nessa velocidade. A diferenca entre o empresa pro cliente e que o cliente recebe link de saida sempre de 64k e o cliente tera suas portas de 1 a 1024 e de 6000 a 9000 tcp bloqueadas enquanto a empresa tera entrada e saida a mesma velocidade e nao tera nenhuma porta bloqueada.

Caso voce queira criar um usuario com configuracao de ip fixo e com um link proprio crie assim:

usuario Auth-Type = System
User-Service-Type = Framed-User,
Service-Type = Framed-User,
Framed-IP-Address = ipquevocedesejacolocar,
Framed-Protocol = PPP,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "bo",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobson-TCP-IP
Idle-Timeout = 600
Download = velocidadedownload
Upload = velocidadeupload

Epílogo

Bom no caso ficamos por aqui caso tenham alguma duvida vão ate o fórum da underlinux pq eu nao sou suporte de ninguem :) caso queira contratar meus servicos ai sim podemos conversar mailto:scorpion@underlinux.com.br.

[]'s Marcus Maciel(ScOrP|On)

System/Network Administrator/Security Officer

http://www.underlinux.com.br

Comentários

Re: PPPoE + Radius + BandLimit (Pontos: 1)

por Azahell em Terça, 02 agosto 2005 @ 22:29:53

- ótimo artigo, fiz a configuracao do radius de acordo com ele, mas os atributos de download, upload e cliente não funcionaram, quando inicio o radiusd em modo de depuracao ele acusa um erro no arquivo users relativo ao ao Download, Upload e Cliente.

=/


Re: PPPoE + Radius + BandLimit (Pontos: 1)

por Cassus em Sábado, 27 agosto 2005 @ 12:45:44

- Tive o mesmo problema do reconhecimento das variáveis Download, Upload e Cliente, mas consegui resolvê-lo consultando o faq do radiusd sobre o uso das vírgulas no arquivo users.


Re: PPPoE + Radius + BandLimit (Pontos: 1)

por adgomes em Terça, 11 outubro 2005 @ 17:48:09

- Caro amigo Marcus Maciel(ScOrP|On),


seu tutorial é excelente. só estou com um problema e gostaria de sua opinião. o arquivo /var/run/radattr.pppX não está sendo criado, portanto, estou sem controle de banda para os usuários, tem alguma idéia do que pode estar acontecendo?

Agradeço sua atenção.

Re: PPPoE + Radius + BandLimit (Pontos: 1)

por wren em Sexta, 21 outubro 2005 @ 00:58:50

- e o plugins rp-pppoe.so q vc tem q setar ...

o problema ta nisso aew kra..


Re: PPPoE + Radius + BandLimit (Pontos: 1)

por hunt3r em Domingo, 18 dezembro 2005 @ 21:13:10

- encontrei uma solucao para o caso Download,Upload ....

!!! para usuarios de radius+mysql !!!

ao inves de se inserir os atributos Download e Upload, diretamente na tabela radgroupcheck...

simplesmente insiram eles na tabela radgroupreply, fazendo assim, com que ele passe, efetivamente os parametros para o arquivo /var/run/radattr.xxx fazendo assim, com que o controle da banda funcione corretamente.

Ja o parametro Cliente, nao sei a que cargas dagua, passa uma sequencia de caracteres ao inves de uma string propriamente dita...

entao, arrumei uma solucao alternativa...

defina Cliente nos dictionary (do radius e do server pppoe tbm) como integer , coloque na tabela radgroupreply como 1 (para cliente) ou como 0 (para empresa)...

por fim no script /etc/ppp/ip-up do colega scorpion

editem a linha

if [ $cliente == "cliente" ]

para

if [ $cliente == "1" ]

e bingo!

la se foi a restricao de portas tbm ;)

abracos!

Re: PPPoE + Radius + BandLimit (Pontos: 1)

por hunt3r em Domingo, 18 dezembro 2005 @ 21:17:27

- ps:

esqueci de mensionar o arquivo

/etc/ppp/ip-down

que deve sofrer as mesmas alteracoes do ip-up

abracos


Re: PPPoE + Radius + BandLimit (Pontos: 1)

por hunt3r em Domingo, 18 dezembro 2005 @ 21:33:27

- Agora parei em outro detalhe :P

seguinte,

autenticacao 100%

bandlimit 100% (ao menos ta criando as classes e atribuindo certinho)

controle de portas 100%

soh que o cliente NAO NAVEGA...

ele soh consegue "enxergar" o servidor pppoe, nada alem dele, o servidor consegue pingar o cliente, e o cliente pinga o server, mas nao passa disso, nem mesmo de outras maquinas que estejam na mesma rede do server... alguem se habilita?

Re: PPPoE + Radius + BandLimit (Pontos: 1)

por scorpion em Segunda, 26 dezembro 2005 @ 08:59:53

Amigo o cliente nao deve ta navegando pq voce deve de estar usando uma rede invalida sem nat .. entao faca o seguinte adicione no ip-up e no ip-down uma linha adicionando masquerade para cada cliente

tipo:

  • ip-up
iptables -t nat -A POSTROUTING -s ipdocara -j MASQUERADE
  • ip-down
iptables -t nat -D POSTROUTING -s ipdocara -j MASQUERADE

Re: PPPoE + Radius + BandLimit (Pontos: 1)

por snaikerz em Domingo, 13 janeiro 2007 @ 21:33:27

Estou usando o pppoe autenticando na base de usuarios do sistema com freeradius, o processo esta funcionando perfeitamente mas o controle de banda nao funciona. O arquivo /var/run/radattr.pppX e criado vazio, alguem tem alguma solucao? meu email e snaikerz@gmail.com, Valeu!

Créditos

Este tutorial foi desenvolvido por Marcus Maciel e editado no wiki por Duca.


Imagem:Avatar olhos spawn 2.jpg --Duca 17:20, 12 Janeiro 2006 (BRDT)

Horários baseados na GMT -3. Agora são 20:31.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.