Controllr/Aplicativos/Backup/Backup Mikrotik

De BrByte Wiki
< Controllr‎ | Aplicativos‎ | Backup
Revisão de 12h39min de 23 de julho de 2020 por Miguel (discussão | contribs)

Backup Mikrotik

Configuração do serviço de emissão e envio de backups de clientes do ISP Controllr para o Mikrotik

Com o backup MikroTik configurado, caso venha a perder comunicação entre o Mikrotik e o Controllr as secrets serão automaticamente ativas deixando seus clientes navegando sem problemas.

Isto serve também para manutenção no Controllr.


1. Gerar token no ISP Controllr

Abrir aplicativo Configurações do Controllr > Endereços do servidor e clicar sobre o botão para gerar uma nova chave.

Controllr backup mikrotik1.png


2.Montar URL para obter as informações conforme sua necessidade

Como a URL deve ser montada:

http://IPDOCONTROLLR:8083/service/mikrotik/index?parametro1=valor&parametro2=valor…

Exemplo de URL para gerar o backup de Clientes PPPoE sem controle de Access­List.


http://192.168.140.198:8083/service/mikrotik/index?key=XXXXXXXXXXXXXX(SUACHAVE)&local_address=XXXXXXXXX(gateway)&remote_address=XXXXXXXXXX(nome_pool)

Controllr backup mikrotik2.png


3.Inserir script no Mikrotik

No Mikrotik, entrar no menu System > Scripts e adicionar um novo script. Nomeie o script e no campo source, altere conforme o exemplo de script a baixo:

############################################################

:global IPCONTROLLR "IPLOCALDOCONTROLLR";
:global KEY "SUACHAVE";
:global DEVICE "0";
:global PPPOE "1";
:global HOTSPOT "0";
:global LOCALADDRESS "192.168.1.1";
:global REMOTEADDRESS "pool-pppoe";
:global DNSSERVER1 "8.8.8.8";
:global DNSSERVER2 "8.8.4.4";
:global done "";
:log warning "Importando PPPoE";
/tool fetch mode=http url="http://$IPCONTROLLR:8083/service/mikrotik/index?key=$KEY&device=$DEVICE&local_address=$LOCALADDRESS&remote_address=$REMOTEADDRESS&pppoe=$PPPOE&hotspot=$HOTSPOT&dns_server1=$DNSSERVER1&dns_server2=$DNSSERVER2" src-path=mikrotik.php dst-path=clientsctrl.rsc;
:set done "true";
:if ( [/file find name=clientsctrl.rsc] != "" ) do={
:log warning "Importando PPPoE2";
/import clientsctrl.rsc;
/file remove clientsctrl.rsc
#/ppp secret unset [find where comment=controllr] remote-address;
/ppp secret set caller-id="" [find comment="controllr"]
}

###################################################


Depois que substituir os campos corretos clique em Aplly e depois Run Script.

Logo após rodar o Script, copie-o e cole em System > Scheduler, marque em Start Time : startup e Interval: 24:00:00

Netwatch via script

/tool netwatch
add comment=CTLR-BACKUP down-script=":log info \"IP do Controllr off habilitando as secrets\"\r\
    \n/ppp secret set [find comment=controllr] disabled=no" host=192.168.10.5 interval=2m up-script=":log info \"Desabilitando as Secrets do Controllr\"\r\
    \n/ppp secret set [find comment=controllr] disabled=yes\r\
    \n:delay 3m\r\
    \n:log info \"Removendo Secrets com o Comentario controllr\"\r\
    \n/ppp active remove [find where comment=controllr]"


Download do script pode ser efetuado clicando aqui!


4. Crie o Scheduler

Logo após rodar o Script, copie-o e cole em System > Scheduler, marque em Start Time : startup e Interval: 24:00:00


5.Criar Netwatch no Mikrotik

A ferramenta netwatch tem como função realizar ping a um determinado endereço e executar um script quando "conseguir" o ping (UP) e executando outro script quando "não conseguir" (DOWN). Entendendo a regra: Nesta regra realizamos ping no servidor Controllr em caso de estar "UP" as secrets encontram-se 'desabilitadas' (disable=yes) quando o Controllr estiver sem comunicação (DOWN) as secrets são 'habilitadas' (disable=no).

No Mikrotik, abra o terminal e execute os comandos abaixo:

Obs: Substitua apenas o campo ip, conforme os parâmetros disponíveis e sua necessidade.

Para PPPoE:

/tool netwatch add down-­script="/ppp secret set [find comment=controllr] disabled=no" host=192.168.140.198 interval=5s up-­script="/ppp secret set [find comment=controllr] disabled=yes"

Para HOTSPOT:

/tool netwatch add down­-script="/ip hotspot user set [find comment=controllr] disabled=no host=192.168.140.198 interval=5s up-­script="/ip hotspot user set [find comment=controllr] disabled=yes"

Video aula, backup do Controllr no mikrotik


Video