(6 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
Linha 6: | Linha 6: | ||
==Instalação do Debian10== | ==Instalação do Debian10== | ||
− | Você pode usar tanto o Ubuntu | + | Você pode usar tanto o Ubuntu quanto o Debian, ou outro derivado do LINUX que seja compatível para instalar o seu Accel-PPP. |
No exemplo a seguir, iremos ensinar como pode ser instalado no <b>[https://www.debian.org/distrib/ Debian]</b> versão 10.4.0 ([https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso Download 64x ISO]) | No exemplo a seguir, iremos ensinar como pode ser instalado no <b>[https://www.debian.org/distrib/ Debian]</b> versão 10.4.0 ([https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso Download 64x ISO]) | ||
Linha 104: | Linha 104: | ||
==Patch Mikrotik Rate Limit== | ==Patch Mikrotik Rate Limit== | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:auto; overflow:auto;"> | |
+ | <div style="font-weight:bold;line-height:1.6;">MK-rate-limit.patch</div> | ||
+ | <div class="mw-collapsible-content"> | ||
<blockquote><pre> | <blockquote><pre> | ||
--- git a/accel-ppp/accel-pppd/shaper/shaper.c b/accel-ppp/accel-pppd/shaper/shaper.c | --- git a/accel-ppp/accel-pppd/shaper/shaper.c b/accel-ppp/accel-pppd/shaper/shaper.c | ||
Linha 164: | Linha 166: | ||
long int val; | long int val; | ||
</pre></blockquote> | </pre></blockquote> | ||
− | + | </div></div> | |
Poderá copiar do Pastebin | Poderá copiar do Pastebin | ||
Linha 199: | Linha 201: | ||
==Accel-PPP Configuração== | ==Accel-PPP Configuração== | ||
+ | |||
+ | Esse é o exemplo de configuração que melhor se enquadra em conjunto com o [https://controllr.brbyte.com Controllr.]<br> | ||
+ | A configuração pode ser modificada conforme a sua necessidade.<br> | ||
+ | O manual dos módulos, se encontra nesses links abaixo: | ||
+ | |||
+ | https://accel-ppp.org/accel-ppp.conf.html | ||
+ | |||
+ | https://accel-ppp.org/wiki/doku.php?id=configfile | ||
+ | |||
+ | Os campos com <i class="fas fa-hashtag"></i> estão desabilitados, para habilitar basta remover o <i class="fas fa-hashtag"></i>. | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:auto; overflow:auto;"> | ||
− | <div style="font-weight:bold;line-height:1.6;"> | + | <div style="font-weight:bold;line-height:1.6;">accel-ppp.conf</div> |
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<blockquote><pre> | <blockquote><pre> | ||
Linha 271: | Linha 283: | ||
telnet=127.0.0.1:2000 | telnet=127.0.0.1:2000 | ||
tcp=127.0.0.1:2001 | tcp=127.0.0.1:2001 | ||
− | sessions-columns=ifname,username,ip,ip6,ip6-dp,type,state,uptime,uptime-raw,calling-sid,called-sid,sid,comp,rx-bytes,tx-bytes,rx-bytes-raw,tx-bytes-raw,rx-pkts,tx-pkts | + | # sessions-columns=ifname,username,ip,ip6,ip6-dp,type,state,uptime,uptime-raw,calling-sid,called-sid,sid,comp,rx-bytes,tx-bytes,rx-bytes-raw,tx-bytes-raw,rx-pkts,tx-pkts |
# verbose=1 | # verbose=1 | ||
# password=123 | # password=123 | ||
Linha 327: | Linha 339: | ||
nas-identifier=Accel-PPP | nas-identifier=Accel-PPP | ||
nas-ip-address=192.168.142.227 | nas-ip-address=192.168.142.227 | ||
+ | gw-ip-address=192.168.142.227 | ||
server=192.168.142.22,brbyte,auth-port=1812,acct-port=0,req-limit=50,fail-timeout=20,max-fail=30,weight=1 | server=192.168.142.22,brbyte,auth-port=1812,acct-port=0,req-limit=50,fail-timeout=20,max-fail=30,weight=1 | ||
server=192.168.142.22,brbyte,auth-port=0,acct-port=1813,req-limit=50,fail-timeout=20,max-fail=30,weight=1 | server=192.168.142.22,brbyte,auth-port=0,acct-port=1813,req-limit=50,fail-timeout=20,max-fail=30,weight=1 | ||
Linha 336: | Linha 349: | ||
# max-try=30 | # max-try=30 | ||
# acct-on=1 | # acct-on=1 | ||
− | |||
# server=192.168.142.xx,brbyte,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,backup | # server=192.168.142.xx,brbyte,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,backup | ||
# acct-on=0 | # acct-on=0 | ||
− | |||
# acct-interim-jitter=0 | # acct-interim-jitter=0 | ||
# attr-tunnel-type=My-Tunnel-Type | # attr-tunnel-type=My-Tunnel-Type | ||
Linha 536: | Linha 547: | ||
</pre></blockquote> | </pre></blockquote> | ||
</div></div> | </div></div> | ||
+ | <br> | ||
+ | Módulos que devem se atentar em substituir os dados. | ||
+ | |||
+ | <blockquote><pre> | ||
+ | [pppoe] | ||
+ | verbose=1 | ||
+ | ac-name=Accel-PPP /******** Nome do seu servidor Accel ********/ | ||
+ | service-name=Accel-PPP /******** Nome do seu servidor Accel ********/ | ||
+ | ip-pool=pool-accel /******** Nome da Pool que irá entregar os IPs. Se não for usar basta marcar # ********/ | ||
+ | interface=ens33 /******** Nome da interface de rede da conexão dos clientes ********/ | ||
+ | vlan-mon=ens33,1-4095 /******** Nome da interface de rede da conexão dos clientes ********/ | ||
+ | </pre></blockquote> | ||
+ | <blockquote><pre> | ||
+ | [radius] | ||
+ | nas-identifier=Accel-PPP /******** Nome do seu servidor Accel. Tem que estar o mesmo nome no Radius NAS do Controllr ********/ | ||
+ | nas-ip-address=192.168.142.227 /******** IP do seu Accel-PPP ********/ | ||
+ | gw-ip-address=192.168.142.227 /******** IP do seu Accel-PPP ********/ | ||
+ | server=192.168.142.22,brbyte,auth-port=1812,acct-port=0,req-limit=50,fail-timeout=20,max-fail=30,weight=1 /******** Ip do seu servidor Radius Controllr ********/ | ||
+ | server=192.168.142.22,brbyte,auth-port=0,acct-port=1813,req-limit=50,fail-timeout=20,max-fail=30,weight=1 /******** Ip do seu servidor Radius Controllr ********/ | ||
+ | dae-server=192.168.142.227:3799,brbyte /******** IP do seu Accel-PPP ********/ | ||
+ | </pre></blockquote> | ||
+ | <blockquote><pre> | ||
+ | [ip-pool] | ||
+ | gw-ip-address=192.168.142.227 /******** Gateway do seu range de IP ou o IP do seu Accel-ppp ********/ | ||
+ | 192.168.1.1-255,name=pool-accel /******** Se for entregar IP pelo Accel, basta seguir a lógica e configurar o range de IP. Se for entregar pelo Controllr basta marcar o # ********/ | ||
+ | </pre></blockquote> | ||
+ | <blockquote><pre> | ||
+ | [chap-secrets] | ||
+ | gw-ip-address=192.168.142.227 /******** Gateway do seu range de IP ou o IP do seu Accel-ppp ********/ | ||
+ | </pre></blockquote> | ||
+ | |||
+ | Sempre após modificar os módulos reinicie o Accel-PPP | ||
+ | |||
+ | <blockquote><pre> | ||
+ | systemctl restart accel-ppp | ||
+ | systemctl restart accel-ppp | ||
+ | |||
+ | -- Para ver se o cliente autenticou | ||
+ | |||
+ | accel-cmd show sessions | ||
+ | |||
+ | -- Para ver mais opções | ||
+ | |||
+ | accel-cmd help | ||
+ | </pre></blockquote> | ||
=Dicionario do Mikrotik= | =Dicionario do Mikrotik= | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:auto; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:auto; overflow:auto;"> | ||
− | <div style="font-weight:bold;line-height:1.6;"> | + | <div style="font-weight:bold;line-height:1.6;">dictionary.mikrotik</div> |
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<blockquote><pre> | <blockquote><pre> | ||
Linha 611: | Linha 667: | ||
https://wiki.mikrotik.com/wiki/Manual:RADIUS_Client/vendor_dictionary | https://wiki.mikrotik.com/wiki/Manual:RADIUS_Client/vendor_dictionary | ||
+ | |||
+ | No seu Debian procure pelo diretório aonde fica os dicionários | ||
+ | <blockquote><pre> | ||
+ | find / -name 'dictionary*' | ||
+ | </pre></blockquote> | ||
+ | Deve localizar esse diretório | ||
+ | <blockquote><pre> | ||
+ | cd /usr/share/accel-ppp/radius | ||
+ | </pre></blockquote> | ||
+ | Após entrar nesse diretório, irá criar um arquivo chamado <b>dictionary.mikrotik</b> | ||
+ | <blockquote><pre> | ||
+ | touch dictionary.mikrotik | ||
+ | joe dictionary.mikrotik | ||
+ | |||
+ | -- Colar o dicionário do Mikrotik, salvar e fechar | ||
+ | |||
+ | CTRL + K | ||
+ | CTRL + X | ||
+ | </pre></blockquote> | ||
+ | Depois irá editar o arquivo <b>dictionary</b>, para incluir a biblioteca do Mikroitk. | ||
+ | <blockquote><pre> | ||
+ | joe /usr/share/accel-ppp/radius/dictionary | ||
+ | |||
+ | -- Insira na última linha do arquivo | ||
+ | |||
+ | $INCLUDE dictionary.mikrotik | ||
+ | |||
+ | -- Salvar e fechar o arquivo | ||
+ | |||
+ | CTRL + K | ||
+ | CTRL + X | ||
+ | </pre></blockquote> | ||
+ | |||
+ | =Pendências Financeiras Bloqueios= | ||
+ | |||
+ | Para realizar o bloqueio do seus clientes pendentes, vamos configurar as regras usando o IPTables no seu Debian. | ||
+ | |||
+ | * Primeiro verifique se já está instalado no seu Debian | ||
+ | <blockquote><pre> | ||
+ | dpkg -l | iptables | ||
+ | </pre></blockquote> | ||
+ | * Se já tiver instalado verifique se tem regras criadas. | ||
+ | <blockquote><pre> | ||
+ | iptables -L -v | ||
+ | -- Se não tiver instalado, pode instalar. | ||
+ | apt-get install iptables | ||
+ | </pre></blockquote> | ||
+ | * Manual do IP Tables | ||
+ | <blockquote><pre> | ||
+ | -- Listagem | ||
+ | |||
+ | iptables -L Lista as regras | ||
+ | iptables -I Adiciona a regra no inicio da lista | ||
+ | iptables -i 4 adiciona a regra na 4º posição | ||
+ | iptables -A Adiciona uma regra no final da lista | ||
+ | iptables -D Apaga uma regra do firewall | ||
+ | iptables -F Apaga todas as regras do firewall | ||
+ | |||
+ | --Parâmetros | ||
+ | |||
+ | -p Especifica o protocolo | ||
+ | -s Especifica a origem | ||
+ | -d Especifica o destino | ||
+ | -i Especificar a interface de entrada | ||
+ | -o Especifica a interface de saída | ||
+ | –sport Especifica a porta de origem | ||
+ | –dport Especifica a porta de destino | ||
+ | -j Especifica a ação ACCEPT – DROP – REJECT | ||
+ | |||
+ | -- Para saber mais | ||
+ | |||
+ | iptables --help | ||
+ | </pre></blockquote> | ||
+ | |||
+ | * O Controllr conta com 4 ações de pendencias financeiras. | ||
+ | ** Alerta de pendencia <b> brb-alert-notice </b> | ||
+ | ** Redução de velocidade <b> brb-pendency-notice </b> | ||
+ | ** Bloqueio <b> brb-block-notice </b> | ||
+ | ** Cancelamento de contrato <b> brb-cancel-notice </b> | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
+ | [[Category:Controllr]] | ||
+ | [[Category:Manual]] |
Edição atual tal como às 10h48min de 28 de fevereiro de 2023
Índice
Controllr > Accel-PPP
O Accel-PPP é um software compilado para ser usando em diversos serviços de autenticação, compatível com o protocolo Radius. Como por exemplo autenticação PPPoE, IPoE, etc... Essa ferramenta pode ser usada em conjunto com o Controllr.
Instalação do Debian10
Você pode usar tanto o Ubuntu quanto o Debian, ou outro derivado do LINUX que seja compatível para instalar o seu Accel-PPP. No exemplo a seguir, iremos ensinar como pode ser instalado no Debian versão 10.4.0 (Download 64x ISO)
- Baixe a ISO e realize a instalação do seu Debian.
- OBS: Se preferir, no momento da instalação escolha somente a opção via terminal shell (SSH), sem interface gráfica (web)
- Dicas Debian
- Habilitar login root via putty:
- Instale o editor de arquivos joe
- Habilitar login root via putty:
apt-get install joe -- Comandos JOE CURSOR MOVER MARCAR BLOCO ^B esquerda ^U tela anterior ^KB início ^P cima ^V tela posterior ^KK final ^Z palavra anterior ^A início da linha ^KM mover ^X palavra posterior ^E fim da linha ^KC copiar ^F direita ^KU início do arquivo ^KW salvar ^N baixo ^KV final do arquivo ^KY apagar ^KL mover para linha ^K/ filtro DELETAR MISCELÂNEA SAIR ^D caracter ^KJ reformatar ^KX salvar ^Y linha ^T opções ^C abortar ^W palavra a direita ^R refrescar ^KZ shell ^O palavra a esquerda ^@ inserir ARQUIVO ^J final da linha SPELL ^KE editar ^_ desfazer ^[N palavra ^KR inserir ^^ refazer ^[L arquivo ^KD salvar BUSCA ^KF procurar texto ^L procurar próximo *^ = CTRL*
- Abra o arquivo:
joe /etc/ssh/sshd_config
- Edite as linha tirando o # e mudando para yes
PermitRootLogin yes
- Após editar o arquivo:
CTRL + K
CTRL + X
- Depois reinicie o SSH
/etc/init.d/ssh restart
Agora vamos instalar o Accel-PPP
- Baixe os pacotes do Accel-PPP no seu Debian
apt-get install -y build-essential cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev liblua5.1-0-dev -- Se não tiver o LIB SNMP instale-o, depois rode novamente o comando acima apt-get install libsnmp-dev
- Agora crie um diretório para baixar o projeto do git
mkdir -p /usr/local/src/accel mkdir -p /usr/local/src/accel/build
- Agora entre nesse diretório criado
cd /usr/local/src/accel
- Depois irar fazer o clone do projeto do git do Accel-PPP
git clone https://github.com/xebd/accel-ppp.git
- Antes de Compilar, rode o PATCH do Mikrotik Rate Limit
Compilação
- Após clonar do git acesse o diretório da Build
cd /usr/local/src/accel/build
- Dentro do diretório da Build, irá escolher o que será compilado, conforme sua necessidade
cmake -DCPACK_TYPE=Debian10 -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DRADIUS=TRUE -DNETSNMP=TRUE -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-$(uname -r) ../accel-ppp
- Agora irá compilar o Accel-PPP no Debian
make
- Após irá copiar o modulo do Kernel Vlan_mon e IPoE em seguida carregue-os
cp drivers/ipoe/driver/ipoe.ko /lib/modules/$(uname -r) cp drivers/vlan_mon/driver/vlan_mon.ko /lib/modules/$(uname -r) depmod -a modprobe vlan_mon modprobe ipoe
- Devemos adicionar os módulos para iniciarem com o Boot
echo "vlan_mon" >> /etc/modules echo "ipoe" >> /etc/modules
- Iremos criar o pacote .DEB
cpack -G DEB apt install ./accel-ppp.deb
Instalação do Accel-PPP Completa no seu Debian
- Agora habilite o seu Accel-PPP para iniciar com o seu Debian
systemctl enable accel-ppp
- O pacote vem com um modelo de exemplo, jogue esse modelo de configuração no seu Accel-PPP e edite-o conforme a sua necessidade.
cp /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
- Apos a edição do arquivo, sempre reinicie o seu Accel-PPP
systemctl restart accel-ppp systemctl status accel-ppp
Patch Mikrotik Rate Limit
Poderá copiar do Pastebin
Esse patch deve ser jogado no seu Accel-PPP para que você consiga usar o vendor Mikrotik Rate limit no Shaper.
- Copie essas linhas de código e salve com a extensão .patch
- Depois jogue esse arquivo no diretório
cd /usr/local/src/accel
- Poderá transferir via SCP, segue exemplo de como transferir usando o CMD do Windows:
scp -P (porta ssh)(diretório onde se encontra o arquivo) (usuário@X.X.X.X):(diretório que irá mandar o arquivo) scp -P 22 D:/ISO/MK-rate-limit.patch root@192.168.142.227:/usr/local/src/accel
- Outra opção é fazer tudo via shell
cd /usr/local/src/accel touch MK-rate-limit.patch joe MK-rate-limit.patch -- Colar o script CTRL + K CTRL + X --Por fim rodar o patch patch -p 1 < MK-rate-limit.patch -- Confira se subiu o patch corretamente cat /usr/local/src/accel/accel-ppp/accel-pppd/shaper/shaper.c | grep -A50 'static void parse_string_simple'
Agora volte para a compilação do seu Accel-PPP
Accel-PPP Configuração
Esse é o exemplo de configuração que melhor se enquadra em conjunto com o Controllr.
A configuração pode ser modificada conforme a sua necessidade.
O manual dos módulos, se encontra nesses links abaixo:
https://accel-ppp.org/accel-ppp.conf.html
https://accel-ppp.org/wiki/doku.php?id=configfile
Os campos com estão desabilitados, para habilitar basta remover o .
Módulos que devem se atentar em substituir os dados.
[pppoe] verbose=1 ac-name=Accel-PPP /******** Nome do seu servidor Accel ********/ service-name=Accel-PPP /******** Nome do seu servidor Accel ********/ ip-pool=pool-accel /******** Nome da Pool que irá entregar os IPs. Se não for usar basta marcar # ********/ interface=ens33 /******** Nome da interface de rede da conexão dos clientes ********/ vlan-mon=ens33,1-4095 /******** Nome da interface de rede da conexão dos clientes ********/
[radius] nas-identifier=Accel-PPP /******** Nome do seu servidor Accel. Tem que estar o mesmo nome no Radius NAS do Controllr ********/ nas-ip-address=192.168.142.227 /******** IP do seu Accel-PPP ********/ gw-ip-address=192.168.142.227 /******** IP do seu Accel-PPP ********/ server=192.168.142.22,brbyte,auth-port=1812,acct-port=0,req-limit=50,fail-timeout=20,max-fail=30,weight=1 /******** Ip do seu servidor Radius Controllr ********/ server=192.168.142.22,brbyte,auth-port=0,acct-port=1813,req-limit=50,fail-timeout=20,max-fail=30,weight=1 /******** Ip do seu servidor Radius Controllr ********/ dae-server=192.168.142.227:3799,brbyte /******** IP do seu Accel-PPP ********/
[ip-pool] gw-ip-address=192.168.142.227 /******** Gateway do seu range de IP ou o IP do seu Accel-ppp ********/ 192.168.1.1-255,name=pool-accel /******** Se for entregar IP pelo Accel, basta seguir a lógica e configurar o range de IP. Se for entregar pelo Controllr basta marcar o # ********/
[chap-secrets] gw-ip-address=192.168.142.227 /******** Gateway do seu range de IP ou o IP do seu Accel-ppp ********/
Sempre após modificar os módulos reinicie o Accel-PPP
systemctl restart accel-ppp systemctl restart accel-ppp -- Para ver se o cliente autenticou accel-cmd show sessions -- Para ver mais opções accel-cmd help
Dicionario do Mikrotik
Você pode pegar o dicionário do Mikrotik direto no site deles.
https://wiki.mikrotik.com/wiki/Manual:RADIUS_Client/vendor_dictionary
No seu Debian procure pelo diretório aonde fica os dicionários
find / -name 'dictionary*'
Deve localizar esse diretório
cd /usr/share/accel-ppp/radius
Após entrar nesse diretório, irá criar um arquivo chamado dictionary.mikrotik
touch dictionary.mikrotik joe dictionary.mikrotik -- Colar o dicionário do Mikrotik, salvar e fechar CTRL + K CTRL + X
Depois irá editar o arquivo dictionary, para incluir a biblioteca do Mikroitk.
joe /usr/share/accel-ppp/radius/dictionary -- Insira na última linha do arquivo $INCLUDE dictionary.mikrotik -- Salvar e fechar o arquivo CTRL + K CTRL + X
Pendências Financeiras Bloqueios
Para realizar o bloqueio do seus clientes pendentes, vamos configurar as regras usando o IPTables no seu Debian.
- Primeiro verifique se já está instalado no seu Debian
dpkg -l | iptables
- Se já tiver instalado verifique se tem regras criadas.
iptables -L -v -- Se não tiver instalado, pode instalar. apt-get install iptables
- Manual do IP Tables
-- Listagem iptables -L Lista as regras iptables -I Adiciona a regra no inicio da lista iptables -i 4 adiciona a regra na 4º posição iptables -A Adiciona uma regra no final da lista iptables -D Apaga uma regra do firewall iptables -F Apaga todas as regras do firewall --Parâmetros -p Especifica o protocolo -s Especifica a origem -d Especifica o destino -i Especificar a interface de entrada -o Especifica a interface de saída –sport Especifica a porta de origem –dport Especifica a porta de destino -j Especifica a ação ACCEPT – DROP – REJECT -- Para saber mais iptables --help
- O Controllr conta com 4 ações de pendencias financeiras.
- Alerta de pendencia brb-alert-notice
- Redução de velocidade brb-pendency-notice
- Bloqueio brb-block-notice
- Cancelamento de contrato brb-cancel-notice