Solução PPPoE de Baixo Custo e Muito Desempenho
Com a popularização da fibra óptica nos últimos anos, chegaram os super planos de velocidade, 100 mega 300 mega 500 mega entregues ao cliente final, e com isso muitos provedores começaram a enfrentar problemas para conseguir entregar uma internet de qualidade. Provedores que utilizam MikroTik em seus concentradores PPPoE sofrem com problemas de alto processamento, desempenho e travamentos em seus equipamentos.
No tutorial de hoje vamos apresentar uma solução PPPoE para mais de 3 mil usuários custando menos que uma Routerboard CCR 1036.
O SOFTWARE:
Neste tutorial vamos utilizar o Accel-PPP, um software open-source que roda em ambiente Linux.
LINUX SUPORTADO:
O Accel-PPP tem suporte a CentOS, Debian e Ubuntu, para o tutorial vamos utilizar o Debian10.
Servidor referência para comparar desempenho:
Dell R410 2 Xeon L5520, 16gb ram, 1 placa intel X520-DA2 (Encontrado por até R$ 5.000,00 com placa de Intel X520-DA2)
Nos testes com Accel-PPP com o R410 autenticamos cerca de 3200 mil usuários com processamento na casa dos 30% e passando 4.7 Gbps.
Instalação Debian 10 Buster LIMPA Passo-a-passo
Para instalar o Accel-PPP siga os seguintes passos abaixo:
Atualizar Debian e instalar dependências necessárias
# apt update && apt upgrade # apt install -y build-essential cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev liblua5.1-0-dev
Copiar o código fonte do Accel-PPP do repositório oficial
# git clone https://github.com/xebd/accel-ppp.git /opt/accel-ppp-code
Criar e acessar a pasta aonde vamos preparar o código para iniciar a instalação
# mkdir /opt/accel-ppp-code/build # cd /opt/accel-ppp-code/build/
Compilar e instalar o Accel-PPP
# cmake -DCMAKE_INSTALL_PREFIX=/usr -DCPACK_TYPE=Debian10 .. # make # cpack -G DEB # apt install ./accel-ppp.deb
Ative o Accel-PPP na inicialização do Debian
# systemctl enable accel-ppp
Crie o arquivo aonde vamos configurar o accel para autenticar nosso primeiro usuário
# vi /etc/accel-ppp.conf
Dentro do arquivo, cole o seguinte código:
obs: troque ens192 pela placa de rede que o cliente vai autenticar, e troque 192.168.10.25 pelo ip da wan do debian
[modules] log_file pppoe auth_pap chap-secrets ippool shaper [core] log-error=/var/log/accel-ppp/core.log thread-count=4 [ppp] verbose=1 min-mtu=1280 mtu=1480 mru=1480 ipv4=require ipv6=deny lcp-echo-interval=20 lcp-echo-timeout=120 [pppoe] verbose=1 ip-pool=pool_pppoe interface=ens192 [dns] dns1=8.8.8.8 dns2=1.1.1.1 [ip-pool] gw-ip-address=192.168.10.25 100.64.0.0/24,name=pool_pppoe [log] log-file=/var/log/accel-ppp/accel-ppp.log log-emerg=/var/log/accel-ppp/emerg.log log-fail-file=/var/log/accel-ppp/auth-fail.log copy=1 level=3 [chap-secrets] gw-ip-address=192.168.10.25 chap-secrets=/etc/chap-secrets [shaper] up-limiter=police down-limiter=tbf verbose=1 [cli] verbose=1 telnet=127.0.0.1:2000 tcp=127.0.0.1:2001
Próximo passo é criar o arquivo aonde vai ficar os dados do usuário:
vi /etc/chap-secrets
Dentro do arquivo vamos colar o seguinte:
#usuario server senha ip-address velocidade teste * teste * 20480/10240
Agora com tudo configurado, vamos reiniciar o serviço do Accel-PPP para aplicar as configurações:
/etc/init.d/accel-ppp restart
Se você seguiu o tutorial até aqui corretamente, coloque um roteador para discar e vamos ver o resultado, o usuário que configuramos no arquivo /etc/chap-secrets foi usuário: teste senha: teste
Com o roteador conectado, vamos digitar o seguinte no terminal do Debian10:
accel-cmd show sessions
com este comando vamos ver o nosso primeiro usuário conectado:
root@accel-deb10:/etc# accel-cmd show sessions ifname | username | calling-sid | ip | rate-limit | type | comp | state | uptime --------+----------+-------------------+------------+-------------+-------+------+--------+---------- ppp0 | teste | 64:d1:54:17:76:c7 | 100.64.0.0 | 20480/10240 | pppoe | | active | 00:02:03
Último passo para o cliente navegar é ativar o IP FORWARD no Debian, e fazer o NAT.
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p /etc/sysctl.conf /sbin/iptables -t nat -A POSTROUTING -s 100.64.0.0/24 -j MASQUERADE
Chegando até aqui, você já consegue autenticar um usuário e fazer ele navegar a partir do Servidor PPPoE, para autenticar usamos um método de autenticação local, com usuário, senha e plano configurados dentro do Debian, mas o Accel-PPP é compatível com muitos sistemas de gerencia de provedores ex: (MkAuth, SGP, IXC, TOPSAPP, MkSolutions, HubSoft dentre outros ).
Autor: Júnior Decezere http://t.me/jrdecezere
Grupo do Telegram para trocas de informações sobre o Accel-PPP https://t.me/braccelppp
Link Curso Accel-PPP do ZERO ao AVANÇADO http://www.cursoaccelppp.com.br/
Pagando o curso por esse link, você reverte uma % para o remontti.com.br
Quando vai lançar o tutorial de configurar o ipoe ?
Cara, show de bola seus conhecimentos, mas como ficaria pra configurar o accel sem fazer o nat? tendo um roteador de borda rodando rota estática ?
Eu uso FRR para propagar as rotas (iBGP fica top, mas pode ser OSPF tb)
thread-count=4 é um depende, tem que olhar o processador.
Boa noite!
Primeiro parabéns por todos os conteúdos!
Estou enfrentando um problema, estou colocando o accel no provedor que eu trabalho, ele funciona bem até um certo ponto, depois de atingir mais ou menos uns 300 clientes online começamos a ter problemas, a latência para fora aumenta e o link dedicado se testar no próprio BGP não passa de 2Mbps, ao desligar o accel o link e latência volta ao normal, 5GB latência de 0.8. O que poderia ser?
O ambiente do acell é virtualizado ou maquina dedicada?
Como ficaria a migração de uma RB para esse Accel?
Hj uso Mkauth para gerenciar os clientes, já subiriam automaticamente ?
Sobre a parte de logs consigo fazer o monitoramento por este server ou tenho que montar uma máquina separada?
Estou precisando uma configuração para 10k com mais ou menos 10G em horário de pico, porém tenho achado muito caro os produtos
Quanto mais clientes, mas caros são as coisas…acabei de colocar na rede um ne8000 , pra bgp e PPPOE , olha que eu só tenho 1300 clientes.
Vc com 10k tá achando difícil…
Remontti, seus tutoriais estão fazendo a diferença para mim.
Gostaria de saber se posso compartilhar seus trabalhos no LinkedIn. Eu faço as coisas e quando dão certo, eu posto lá. Mas quero dar créditos a quem merece crédito. Desde já, agradeço.
pode espalhar, conhecimento não se “prende”
Boa tarde, da pra fazer CGNAT e ter os logs ?
muito bom o material, se eu usar o radius, nao preciso criar os planos e nem o usuario?
Isso, vc pode integrar com o freeradius.
Como seria essa integração, Tem algum material sobre o assunto ?
Já comprei à alguns meses atras, atualmente uso em minha rede 1400 sessões esqueci meus problemas…uso em um i7 9700k em media 5% de processamento com 2.5gbps de trafego em horario de pico, recomendo!
Boa tarde vc esta usando ele? comprou o curso?
estou querendo compra esse curso de Accel-PPP
Parabens pela iniciativa, otimo tutorial vai ajudar muitos clientes!
e o controle de banda como seria feito?
Controle de banda o Accel-PPP faz igual mikrotik, vem os parâmetros via radius.
O controle de banda funciona? Tem como colocar burst.
Tem como colocar burst por segundos, Por Exemplo vc libera a banda do cliente por 2 segundos até o plano começar a limitar
muito bom.