Boa noite atodos,
Bem com ajuda de alguns materiais postados aqui do forum consegui desenvolver um script para o mk-auth exportar o backup e importá-lo no mikrotik automaticamente.
Para o funcionamento perfeito do script tem que esta configurado o ssh entre mk-auth e mikrotik e o ftp do mikrotik tem que esta ativado.
de acordo com o tópico do Luciano M4D3 ficou fácil para mim fazer
Exportação automática do MK-AUTH para MIKROTIK
no script do Luciano o mk-auth envia por ftp os arquivos criados a partiar dos clientes ativos, muito bom mais não tive sucesso.
nesse caso eu aproveito o backup diario criado no mk-auth e copio para uma pasta para fazer o tratamento dos arquivos .
Explicando o script:
Baixe o arquivo mikrotik.zip em anexo descompacte,
dentro da pasta mikrotik tem uma sub pasta "orig" vazia deixe como esta,
envie a pasta mikrotik para o diretorio /home do seu mk-auth
em anexo tambem o arquivo exportmk.sh
vamos editar o arquivo
abra o arquivo exportmk.sh em um editor de textos "bloco de notas"
procure no script exportmk.sh por essas linhas abaixo:
#CONFIGURACAO DO E-MAIL
de="nome@gmail.com.br"
para="destinatario@email.com.br"
smtp="smtp.gmail.com"
porta="25"
user="nome"
senha="senha do email"
Aqui acima tem as configurações do envio para seu e-mail do backup mk-auth e os arquivos .rsc para o mikrotik, facil de configurar!
procure no script exportmk.sh as outras linhas abaixo:
#IP DE CADA RAMAL OU SERVIDOR QUE IRA RECEBER OS DADOS, CASO SEJA UM SO APAGUE AS OUTRAS LINHAS
#PARA INSERIR OUTROS MIKROTIKS SIGA ESSA LOGICA EX. mikrotik[3]="IP DO MIKROTIK" UM POR LINHA
mikrotik=("172.20.10.3")
mikrotik[1]="172.20.10.4"
mikrotik[2]="172.20.10.5"
Aqui acima tem as configurações dos ips mikrotik que iram receber os arquivos, altere os ips, para inserir mais mikrotiks siga essa logica mikrotik[4]="ip do mikrotik"
no caso de ser só um mikrotik apague os outros e deixe só o primeiro assim
mikrotik=("ip do mikrotik")
procure no script exportmk.sh as outras linhas abaixo:
#USUARIO E SENHA E PORTA FTP DO MIKROTIK PARA ENVIO DE ARQUIVOS (PORTA PADRAO 21)
ftp_user="mkauth"
ftp_pass="123456"
ftp_porta="21"
aqui acima tem as configurações do ftp mikrotik, coloque o usuario e a senha e a porta (padrão 21) uma dica para mais segurança no mikrotik em ip service em ftp alem da porta 21 coloque o ip do mk-auth.
procure no script exportmk.sh as outras linhas abaixo
#USUARIO E PORTA SSH DO MIKROTIK PARA EXECUCAO DE COMANDOS | PORTA PADRAO 22 (PRECISA DA CHAVE SSH NO MIKROTIK PARA NAO PEDIR SENHA)
ssh_user="mkauth"
ssh_porta="22"
aqui acima tem as configurações do ssh mikrotik, é necessario configurar a chave ssh do mk-auth para o mikrotik não pedir senha, se a porta ssh do mikrotik não for a padrão 22 tem que alterar em ssh_porta="22"
procure no script exportmk.sh por essas linhas abaixo:
#NIVEL DE SINAL MAXIMO -120 PADRAO MIKROTIK | REMOVER REGISTROS SEM MAC | DEIXANDO ACCESS-LIST DESABILITADO
maxsinal="78"
aqui acima tem as configurações do access-list, para um controle de nivel sinal maximo dos clientes nas torres, padrão miktotik -120 altere como desejar apenas numeros sem o hífen "-"
procure no script exportmk.sh as outras linhas abaixo:
#TROCANDO LOCAL-1 POR O GATEWAY DA REDE EM PPP PROFILE E COLOCANDO COMMENT MKAUTH NOS PROFILES PPPOE
#EX: PADRAO POLL Local-1 AQUI EU TROCO POR O GATWAY DA REDE CLIENTE
gateway="172.16.2.1"
aqui acima tem as configurações dos profiles pppoe , no meu caso eu troco o Local-1 "pool padrao da configuração do mk-auth" para o gateway da rede cliente, altere para o seu gateway ou se preferir o Local-1 basta inserir assim:
gateway="Local-1"
O resto das configurações são padrão, o script remove o comment=mkauth do secret e do user hotspot. (prefiro sem comment por que minhas regras para do mikrotik ativar quando o mk-auth para procurar por usuarios sem comment).
O script faz um filto no arquivo de backup do mk-auth para organizar de acordo com a necessidade, comenta os profiles pppoe, coloca nos profiles hotspot o tempo de sessão de 23:59:00 para identificá los quando o mk-auth for substituí-los com a rotina automatica.
O script exporta para pppoe, hotspot e access-list, se no seu provedor só usa pppoe "acho que não tem problemas" no meu caso uso pppoe e hotspot nas mesmas Rb's
Bem feito as alterações salve o arquivo com o nome exportmk.sh ,
com o winscp envie para o diretorio /usr/local/mkauth/scripts do seu mk-auth
vamos editar as permissões dos arquivos
com o putty digite os comandos
cd /usr/local/mkauth/scripts
chmod +x exportmk.sh
cd
Atenção talvez seja preciso instalar o ftp em seu mk-auth
apt-get update
apt-get install ftp bc -y
Para testar o script digite no terminal
/usr/local/mkauth/scripts/exportmk.sh
(Atenção antes de executar o comando saiba que o script irá excluir os usuarios hotspot e secret pppoe em seu mikrotik, se existirem, para importar o backup do mk-auth com todos os usuarios novamente)
se tudo deu certo veja o resultado com um relatorio na tela dos registros enviados para o mikrotik.
confira em seu mikrotik, se deu tudo certo todos os usuarios hotspot pppoe e access-list
estão certinhos e desabilitados.
veja tambem em /home/mikrotik
agora exitem os arquivos .rsc separados
secret.rsc (usuarios pppoe)
prof-pppoe.rsc (profiles pppoe)
hotspot.rsc (usuarios hotspot)
prof-hs.rsc (profiles hotspot)
access-list.rsc (todos os registros do access-list)
a pasta orig tem o arquivo original que o mk-auth exporta.
para o agendamento do script digite no terminal
echo "50 04 * * * root /usr/local/mkauth/scripts/exportmk.sh" >> /etc/cron.d/backup
o correto é deixar no horário após o backup mk-auth, pois o script pega o backup do dia.
toda vez que o script roda ele remove no mikrotk os profiles pppoe e hotspot usuarios hotspot e secret pppoe e o access-list da interface wireless, para importar o novo backup automaticamente.
ok, não vou postar as regras do mikrotik para a função de "redundancia" quando o mk-auth parar, visto que tem mais gente querendo colaborar com esse tópico kkkkk....
agora nimguem fica mais para por falta de altenticação no radius mk-auth!
mais ai fica a dica para o Pedro implatar essa função de uma vez no mk-auth.
usem o script avontade!
um abraço a todos
Luciano M4D3, sinta-se abraçado!! kk precisei do seu script para adaptar ao meu.
Respostas
amigo consegui fazer ele roda mas to com um probleminha só esta copiando um pouco de cliente tipo uns 20 ppoe e 5 hotspot to fuçando ainda mas ta dificio. rs
jonas oliveira da silva disse:
Bom dia Edson Pereira!
da uma lida nesse tópico abaixo:
http://mk-auth.com.br/forum/topics/exportar-mk-auth-e-importar-no-m...
Edson Pereira disse:
Amigos o meu mk-auth depois que atualizei para versao 4.99 nao estou conseguindo fazer ele envia o backup dos cliente pro mikrotik ja tentei a atualizar o ftp com esse comanda apt-get update
apt-get install ftp bc -y eles diz que esta atualizado
Guilherme você vai fazer o seguinte!
Pega os arquivos que supostamente você recebeu por e-mail abre em um bloco de notas e use os seguintes comandos ctrl+a e vá em terminal no MK e ctrl+v e verifique se aparece alguma mensagem de erro ou alerta que com certeza ira aparecer dai você trata o que pode ser...
No meu caso semana passada aconteceu o seguinte no relatório que eu recebo no e-mail como mostro abaixo:
Importado(s) 764-Usuario(s) para o User-Hotspot porem só apareceu para mim no users do hotspot 127 quando fui verificar tinha um erro seguinte.
Os profiles que o mk-auth tinha importado para o MK estava com um plano de 300k assim com letra minúscula e nos User-Hotspot no arquivo esta com 300K com letras maiúsculas dai não importou de forma nenhuma todos os usuários eu descobri isto executando todos os comandos manualmente dos arquivos recebidos no e-mail.
Solução eu reparei o banco de dados atualizei o plano de 300k para 300K_CLIENTE E NO OUTRO DIA funcionou normalmente.
Voltando se você não recebeu o e-mail com os arquivos olha no diretório home/mikrotik que tem os arquivos lá dai você executa todos manualmente passo a passo em terminal e vai tratando os erros que aparecerem.
Segue minha contribuição.
Abraços.
Guilherme Oliveira dos Santos disse:
Nessa parte:
#EDITANDO OS ARQUIVOS
#TROCANDO LOCAL-1 POR O GATEWAY DA REDE EM PPP PROFILE E COLOCANDO COMMENT MKAUTH NOS PROFILES PPPOE
#EX: PADRAO POLL Local-1 AQUI EU TROCO POR O GATWAY DA REDE CLIENTE
gateway="172.16.2.1"
comment1='comment="mkauth"'
Se minha rede é roteada como fica o gateway, já que vou ter vários gw na rede??
To usando o script, ele apaga os usuários do hotspot, porém não cria os novos do mk-auth.
no backup enviado ao email, o arquivo hotspot.rsc tem o comando para adicionar os usuários.
agora não sei o que foi que não deu certo.
No terminal ssh aparece alguns erros, não consegui compreende-los.
entre linha 9 e 16 ao remover os diretorios do mk-auth;
removed directory: `/home/mikrotik/etc/mk-auth'
removed directory: `/home/mikrotik/etc'
find: `/home/mikrotik/var': No such file or directory
removed `/home/mikrotik/usr/local/mkauth/backup/tarbackup.sql'
removed directory: `/home/mikrotik/usr/local/mkauth/backup'
linha 155 para frente ao importar dados *.rsc
Script file loaded successfullyexpected end of command (line 1 column 53)
Opening script file access-list.rsc
depois aparece antes da linha 160 ao remover os arquivos do mikrotik
Script file loaded and executed successfully
interrupted
eu notei também que o hotspot.rsc vem assim;
/ip hotspot user add name="teste1" password="teste" profile="Lite" disabled=yes comment="" disable=yes
não deveria vim só um disable e com valor 'no' ?
acompanhando.....
Amigo se nao mim engano esse ai de cima é as 04:50 da manhã
para executa as 06:00 da manhã seria esse se eu estiver errado por favor mim corrija.
"echo "00 06 * * * root /usr/local/mkauth/scripts/exportmk.sh" >> /etc/cron.d/backup"
Amigo to precisando de um comando ou script que exclui os backup do mkauth porq uma vez que ja foi enviado via e-mail nao preciso dele no mkauth mais e ai vc faz pra mim?
jonas oliveira da silva disse:
acompanhado