You are on page 1of 3

Tela de pgcorte e pgaviso em PPPoE Mikrotik + MkAuth

Este esquema totalmente funcional e utilizo a meses aqui, com 100% de


eficincia para quem usa discador diretamente no computador e 90% de eficincia
para quem tem roteador ou rdio que disca automaticamente.
Desde j informo que no me responsabilizo pelo uso indevido das regras
e scripts aqui postados, fiz as mesmas de acordo com minha necessidade
e de acordo com minhas configuraes de rede e no sei informar se
funciona para todos nem como fazer, portanto, no tente executar o
esquema se no sabe o que est fazendo.
No sou programador e tenho poucos conhecimentos de programao, portando, ao
verem erros e atrocidades em minhas regras, por favor, no me julguem e se
puderem tentem melhorar as regras, pois o que estou fazendo aqui dar o primeiro
passo para ajudar a muitos, tentem dar o segundo, quem sabe no fica excelente
para todos.
Bom, chega de enrolar e vamos ao que interessa.
1 Passo
Criar um arquivo pelo bloco de notas e salavar como pgaviso.sh e depois criar uma
pasta chamada debito e colocar o arquivo pgaviso.sh nele.
#!/bin/bash
sql="SELECT login FROM sis_lanc WHERE status <> 'pago' AND (datavenc >
DATE_SUB(NOW(), INTERVAL 11 DAY) and datavenc < DATE_SUB(NOW(), INTERVAL
1 DAY)) order by login;"
mysql -pvertrigo -D mkradius -e "$sql" > pgaviso.txt
sed -i 1d pgaviso.txt
sql2="delete from radreply where value='pgaviso';"
mysql -pvertrigo -D mkradius -e "$sql2"
cat pgaviso.txt | while read LINHA
do

sql3="insert into radreply (username, attribute, op, value, login) values


('$LINHA', 'Mikrotik-Address-List', '=', 'pgaviso', '$LINHA');"
mysql -pvertrigo -D mkradius -e "$sql3"
done

2 Passo
Devemos copiar o script pgaviso.sh anexado ao post para o diretrio
/usr/local/mkauth/scripts/
Feito isso incluiremos no crontab a chamada para o script.
(a freqncia deve ser escolhida por voc, eu uso aqui a cada 6 horas)
3 Passo
Crie a pasta 'debito' no diretrio /usr/local/mkauth/' e copie os outros dois
arquivos anexados ao post.
4 Passo
Eu no utilizo a porta original do sistema para enviar o aviso, portanto abri uma
nova porta para isso.
Edite o arquivo ports.conf' localizado no diretrio /etc/apache2/ e adicone a
linha Listen 92 respeitando a ordem.
Devemos tambm editar o arquivo 'default' localizado no diretrio
/etc/apache2/sites-avaliable e adicionar as seguintes linhas, respeitando a ordem:
<VirtualHost *:92>
ServerAdmin suporte@mk-auth.com.br
ServerName localhost
DocumentRoot /usr/local/mkauth/debito/
</VirtualHost>
Para que as configuraes surtam efeito digite o comando abaixo no terminal para
reiniciar o apache.
/etc/init.d/apache2 restart
(Ateno, este passo muito importante e caso haja erros voc pode parar o
sistema)
(Ateno, em caso de atualizao do sistema, este passo deve ser refeito)

5 Passo
Copie a regra para todos os seus mikrotiks:
/ip firewall
add action=dst-nat chain=dstnat comment="PG AVISO" disabled=no dst-port=80 \
protocol=tcp src-address-list=pgaviso to-addresses=172.31.255.2 to-ports=92
6 Passo
Para garantir que o cliente ser desconectado e quando reconecte, o radius envie a
pgaviso, devemos colocar limite de ociosidade na conexo do cliente.
Aqui utilizo 1 hora.

Pronto!
Para garantir que o cliente ser desconectado e quando reconecte, o radius envie a
pgaviso, devemos Apos concluir estas etapas, voc j ter uma pagina de aviso
eficiente para utilizar em seu provedor ate que tenhamos uma definitiva.

You might also like