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
O anexo no formato winrar n~ao faz o download pode postar novamente em zip se possivel
muito bom...
ok amigo já esta editado e substituido o arquivo para mikrotik.zip
Claudvan Lima disse:
Amigo consegui fazer funcionar o unico probleminha é q os login ta sem comment nao teria como colocar no exportmk.sh pra ele comment="mkauth"?
é que eu tinha um munitoramento q abilita e desabilta os login ppp e hotspot q tenha o comment="mkauth" quando o servidor Mkauth esta com problema
jonas oliveira da silva disse:
Resolvido amigo foi só eu aditar essa linha do script
#REMOVER COMMENT MKAUTH E DESABILITAR O SECRET PPPOE
comment2='"mkauth"'
Edson Pereira disse:
agradeço
Excelente tópico.
Amigo jonas oliveira da silva aqui funcionou perfeito, o unico problema é q ele ta duplicando o...
jonas oliveira da silva disse:
Ola amigo jonas oliveira da silva primeiro quero agrandecer por essa iniciativa que nos ajudou muito,
e tirar um duvida com vc. aqui ta assim fiz seu passo a passo deu certinho o único problema é quando ele faz automático do agendamento do crontab ele duplica os users do hotspot dai quando o mkauth sai do ar o mikrotik só habilita os pppoe e os users do hotspot q nao estão duplicados, intão no crotad agendado ele nao remove os user que ja estão no mikritk ne? porq se eu executo esse comando no puty /usr/local/mkauth/scripts/exportmk.sh ele remove os users que ja estão no hotspot e add os novos e funciona perfeito... só nao funciona automático ai no seu ta funcionado blz?
OBS. aqui mudei no script somente o ( coment mkauth no users hotspot ) para o mikrotik ativar e desativar os uses quando o mkauth sair do ar.
Opa!!!!
poste ai o seu script!
Edson Pereira disse: