A alguns dias procuro solucionar este problema porém sem êxito, já procurei aqui no forum algo parecido porém tudo que vejo é pgaviso no mikrotik, no meu caso a informação "pgaviso" não sai do Mikrotik-Address-List do MK-Auth, se caso algum cliente atrasar o pagamento e eu der baixa no titulo a informação de "pgaviso" continua sendo enviada para o mikrotik mesmo o cliente estando com todos titulos em dia.
Se eu mandar reparar o cliente a informação sai, mas quando é rodado o script para envio dos clientes em atraso para o mikrotik a informação "pgaviso" aparece novamente.
Estou removendo manualmente os clientes do address Lists no Mikrotik, porem em muitos casos os clientes que estão com seus pagamentos em dia estão vendo a pagina de aviso e dai nos ligam para saber o que esta acontecendo. Ficarei muito grato se alguém puder me dar alguma luz. Estou com a versão 4.99 do mk-auth.
Respostas
Pedro esses scripts para funcionar precisa de alguma regra no NAT ?
usa o comando mk-auth / reparar cliente que o sistema reescrever os dados nas tabelas...
edson omena disse:
Boa noite Pedro,
Veja, já removi toda forma de envio de pgaviso e script do MK-Auth para o Mikrotik porém continua a informação de débito nas informações do cliente mesmo sem ele ter títulos atrasados. (Olhe a imagem em anexo).
Pedro Filho disse:
MKauth.jpg
ai já não é o mk-auth Edson, pois ele não tem essa função de colocar o pgaviso na address-list via radius, somente por ftp ou url tool.
vc tem que remover esse script ou alterar ele.
edson omena disse:
Então Pedro, na verdade meu problema não é o script e nem a exibição da pagina de aviso pro cliente que por sinal nos dois métodos funcionam perfeitamente, o que acontece é que o MK-auth fica marcando o cliente com pgaviso mesmo após quitado algum boleto em atraso. Quando entro no cliente no mk-auth e clico em informações continua o pgaviso em Mikrotik-Address-List. veja a imagem.
Sem título.jpg
A melhor forma agora para enviar os ips da lista pgaviso ao MikroTik é usando o script do link abaixo, primeiro faz um update do sistema, então é preciso que seus clientes tenham o IP definido no cadastro deles. esse script do link vc cola no terminal do MikroTik, nesse codigo vc altera o ip do mk-auth 172.31.255.2 e a key_api que vc pega na pagina de dados do provedor no webadmin.
www.mk-auth.com.br/tool_fetch/pgaviso.txt
O script é todo automatico, ele coloca e remove os ips da address-list pgaviso sozinho e no arquivo mkt_pgaviso.php para mudar os dias em atraso em que o cliente entra na lista entre em /usr/local/mkauth/api/mkt.inc e troque o valor de DIAS_ATRASO de 1 para o numero que desejar...
O sistema continua usando a porta 88 para exibir um aviso de atraso, e vc pode usar a regra abaixo em seu MikroTik para mostrar ela eu seus clientes em atraso, mais essas regras foram criadas por alguns usuários do fórum, não tenho garantias que as mesmas funcionam.
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=88
#!/bin/bash
sql="SELECT login FROM sis_lanc WHERE status <> 'pago' AND (datavenc > DATE_SUB(NOW(), INTERVAL 30 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
--------------
Se não me engano este script pega a informação se o cliente esta atrasado do 'Mikrotik-Address-List' do MK-auth. Quando entramos lá em informações e aparece o cliente com pgaviso.
qual script vc usa para o pgaviso ??