Boa tarde a todos pesquisando na internet achei esse tutorial do Danilo e gostaria de pedir ajuda para colocar em funcionamento no mikrotik v. 6.37.1 pois o pgcorte e pg aviso não está cadastrando pelo terminal quando cola o script. E nenhum está iniciando, fiz igual está no tutorial.

link:

http://www.mikrotiknet.com.br/single-post/2015/12/17/TUTORIAL-14-COMO-EXPORTAR-DADOS-DO-MKAUTH-E-IMPORTAR-PARA-MIKROTIK-DE-FORMA-AUTOMATICA 

Esse tutorial vai mostrar uma forma para Exportar os dados do MK-Auth e importar para o Mikrotik de forma automática.

 

Esse exemplo serve para que voce mantenha sempre de forma automática os seus clientes cadastrado no mikrotik.

 

Dessa forma se seu MK-Auth parar de funcionar, todos os clientes estarão cadastrados no mikrotik.

Podendo ativar eles pelo mikrotik.

Ou ate fazer essa ativação de forma automática, caso o MK-Auth pare de funcionar.

Para saber como ativar os clientes de forma automática acesse esse TUTORIAL.

Lembrando que deve ser feito essas regras abaixo primeiro.

 

 

 

 

E caso tenha com a MIKROTIKNET seu MKAUTH CLOUD, já configuramos em seu mikrotik essas regras.

Portanto você cliente da MIKROTIKNET não vai ficar sem funcionar seus clientes se o CLOUD parar. Apesar que dificilmente o CLOUD pare devido suas redundâncias.

 

Para mais informações do MK-AUTH CLOUD, acesse esse LINK.

 

Vamos as regras!

 

# SCRIPTS PARA MIKROTIK

# USANDO TOOL FETCH

 

 

IMPORTANTE: Em todos os scripts você precisa mudar somente os campos:

 

172.31.255.2 = Mude para o ip do seu MK-Auth

Key_api = Mude para a chave do MK-Auth.

 

Essa chave encontra-se no MK-Auth na abra Provedor -> dados da empresa -> Key API.

 

Segue imagem

 

 

 

Segue abaixo scrips que busca a informação do MK-Auth e importa para o mikrotik.

 

OBS: Apos mostrar alguns exemplos de scripts vou estar mostrando como fazer de forma automática a execução desses scripts.

 

 

Em qualquer scripts abra o mikrotik, copie o script que escolheu ja com as alterações de ip e key e cole no New Terminal do Mikrotik.

 

Vai ser criado duas regras no mikrotik:

 

System -> scheduler

System -> script

 

 

 

 

 

Scrpits para PPPE

 

Copie e cole uma regra de cada vez no terminal do mikrotik

 

 

 

/system scheduler add interval=45m name=ler_pppoe on-event=":execute script=ler_pppoe;"  

 

/system script add name=ler_pppoe  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"https://\$IPMKAUTH/api/mkt_pppoe.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_pppoe.php dst-path=mkt_pppoe.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_pppoe.rsc] != \"\" ) do={\r\ \n :log warning \"Importando PPPoE\";\r\ \n /import mkt_pppoe.rsc;\r\ \n /file remove mkt_pppoe.rsc;\r\ \n}\r\ \n"

 

 

Script para Hotspot:

 

/system scheduler add interval=45m name=ler_hotspot on-event=":execute script=ler_hotspot;"

 

/system script add name=ler_hotspot  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"https://\$IPMKAUTH/api/mkt_hotspot.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_hotspot.php dst-path=mkt_hotspot.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_hotspot.rsc] != \"\" ) do={\r\ \n :log warning \"Importando HotSpot\";\r\ \n /import mkt_hotspot.rsc;\r\ \n /file remove mkt_hotspot.rsc;\r\ \n}\r\ \n"

 

 

Script para DHCP:

 

/system scheduler add interval=45m name=ler_dhcp on-event=":execute script=ler_dhcp;"

 

/system script add name=ler_dhcp  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"http://\$IPMKAUTH/api/mkt_dhcp.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_dhcp.php dst-path=mkt_dhcp.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_dhcp.rsc] != \"\" ) do={\r\ \n :log warning \"Importando DHCP\";\r\ \n /import mkt_dhcp.rsc;\r\ \n /file remove mkt_dhcp.rsc;\r\ \n}\r\ \n"

 

Script para IP:

 

/system scheduler add interval=15m name=ler_ip on-event=":execute script=ler_ip;"

 

/system script add name=ler_ip  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"http://\$IPMKAUTH/api/mkt_ip.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_ip.php dst-path=mkt_ip.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_ip.rsc] != \"\" ) do={\r\ \n :log warning \"Importando enderecos IP\";\r\ \n /import mkt_ip.rsc;\r\ \n /file remove mkt_ip.rsc;\r\ \n}\r\ \n"

 

 

Script ARP:

 

/system scheduler add interval=15m name=ler_arp on-event=":execute script=ler_arp;"

 

/system script add name=ler_arp  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"http://\$IPMKAUTH/api/mkt_arp.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_arp.php dst-path=mkt_arp.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_arp.rsc] != \"\" ) do={\r\ \n :log warning \"Importando ARP\";\r\ \n /import mkt_arp.rsc;\r\ \n /file remove mkt_arp.rsc;\r\ \n}\r\ \n"

 

Script Queues:

 

/system scheduler add interval=15m name=ler_queues on-event=":execute script=ler_queues;"

 

/system script add name=ler_queues  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"http://\$IPMKAUTH/api/mkt_queues.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_queues.php dst-path=mkt_queues.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_queues.rsc] != \"\" ) do={\r\ \n :log warning \"Importando QUEUES\";\r\ \n /import mkt_queues.rsc;\r\ \n /file remove mkt_queues.rsc;\r\ \n}\r\ \n"

 

Script Wifi:

 

/system scheduler add interval=45m name=ler_wifi on-event=":execute script=ler_wifi;"

 

/system script add name=ler_wifi  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"https://\$IPMKAUTH/api/mkt_wifi.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_wifi.php dst-path=mkt_wifi.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_wifi.rsc] != \"\" ) do={\r\ \n :log warning \"Importando WIFI\";\r\ \n /import mkt_wifi.rsc;\r\ \n /file remove mkt_wifi.rsc;\r\ \n}\r\ \n"

 

 

No Caso os clietnes que estão com PGCorte e PGAviso, deve fazer de forma separata.

Segue:

 

Script PGCorte:

 

/system scheduler add interval=45m name=ler_wifi on-event=":execute script=ler_wifi;"

 

/system script add name=ler_wifi  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\"; \r\ \n:global KEY \"key_api\"; \r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"https://\$IPMKAUTH/api/mkt_wifi.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_wifi.php dst-path=mkt_wifi.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_wifi.rsc] != \"\" ) do={\r\ \n :log warning \"Importando WIFI\";\r\ \n /import mkt_wifi.rsc;\r\ \n /file remove mkt_wifi.rsc;\r\ \n}\r\ \n"

 

 

Script PGAviso:

 

/system scheduler add interval=30m name=ler_pgaviso on-event=":execute script=ler_pgaviso;"

 

/system script add name=ler_pgaviso  source="#===============================\r\ \n:global IPMKAUTH \"172.31.255.2\";\r\ \n:global KEY \"key_api\";\r\ \n:global RAMAL \"todos\";\r\ \n:global done \"\";\r\ \n/tool fetch mode=http url=\"http://\$IPMKAUTH/api/mkt_pgaviso.php\\\?key=\$KEY&ramal=\$RAMAL\" src-path=mkt_pgaviso.php dst-path=mkt_pgaviso.rsc;\r\ \n:set done \"true\";\r\ \n\r\ \n:if ( [/file find name=mkt_pgaviso.rsc] != \"\" ) do={\r\ \n :log warning \"Importando PgAviso\";\r\ \n /import mkt_pgaviso.rsc;\r\ \n /file remove mkt_pgaviso.rsc;\r\ \n}\r\ \n" /system scheduler add interval=30s name=rm_pgaviso on-event=":execute script=rm_pgaviso;" /system script add name=rm_pgaviso source="#===============================\r\ \n:foreach ip in=[/ip firewall address-list find list=\"pgaviso\"] do={\r\ \n /ip firewall address-list remove \$ip;\r\ \n}\r\ \n"

 

 

Pronto!

Esses são alguns scripts posiveis.

Na medida que tiver mais vou adicionando.

Segue imagens do mikrotik como deve ficar.

 

 

 

 

 

Pronto.

Seu script esta pronto e ja configurado de forma automática para buscar os dados do MK-auth e importar para o files do mikrotik.

Também vai adicionar de forma automática os dados no mikrotik conforme o script escolhido.

 

 

Importante: Para que funcione, deve esta criado no POOL do mikrotik os nomes que serão criados no profiles  do mikrotik pelos scripts.

 

Faça o seguinte:

 

Vai em IP -> POOL

 

Adicione uma regra e nos campos:

 

Name: Local-1

Addresses: 192.168.0.10-192.168.0.254 (ou a faixa de ip que desejar)

 

 

Crie mais um:

 

Name: Remoto-1

Address: 192.168.1.10-192.168.1.254

 

 

Segue imagem com exemplo:

 

 

Pronto.

 

Agora você tem regras que captura informações do mk-auth e joga para seu mikrotik de forma automática.

 

E caso queira que o mikrotik monitore seu mk-auth e caso o mk-auth de problema ativar de forma automática os clientes pode seguir esse TUTORIAL.

Para adicionar comentários, você deve ser membro de MK-AUTH.

Join MK-AUTH

Enviar-me um email quando as pessoas responderem –

Respostas

  • Pedro vc pode ajudar a fazer esse tutorial funcionar 100%?

  • Parabéns e o que falta para funcionar ?

    RODRIGO BERGAMIM VIEIRA disse:

    Pedro vc pode ajudar a fazer esse tutorial funcionar 100%?

  • Ele funciona sim, utilizo script parecidos utilizando IPxMAC, só que as versões no Mikrotik vai mudando e os script são tratados diferente pelo Mikrotik, tem que ir fazendo umas alterações. mas o API do mk-Auth funciona redondinho, eu tenho um problema com este script que:

    1 - Exporta do MK-AUTH a tabela DHCP Leases do Ramal e salva em um Arquivo "mkt_dhcp.rsc"
    2 - Exclue todos os IP/Mac Staticos que contenha a Observaçao "Cliente"
    3- Executa o arquivo "mkt_dhcp.rsc" baixado anteriormente.

    #===============================
    :global IPMKAUTH "172.31.255.2";
    :global KEY "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    :global RAMAL "172.31.255.1";
    :global done "";
    /tool fetch mode=http url="http://$IPMKAUTH/api/mkt_dhcp.php\?key=$KEY&ramal=$RAMAL" src-path=mkt_dhcp.php dst-path=mkt_dhcp.rsc;
    :set done "true";

    :if ( [/file find name=mkt_dhcp.rsc] != "" ) do={
    :log warning "Importando DHCP";
    /ip dhcp-server lease remove [/ip dhcp-server lease find comment~"cliente"];
    /import mkt_dhcp.rsc;
    /file remove mkt_dhcp.rsc;
    }

    O Problema que estou tendo é que em versões anteriores a 6.6 ele roda de boa, mas nas versões que já testei (6.37x, 6.38.x e 6.39.1 tenho que executar 2 vezes para fazer o trabalho dele. é como que baixa o arquivo mas não da tempo de terminar de baixá-lo, queria colocar uma Pausa no script entre o processo de baixar e executar o arquivo .src. Mas não sei como fazer isso...

  • Resolvi dividindo o script em 2 parte. Ficou assim:
    1488705138?profile=RESIZE_1024x1024no scheduler primeiro executa o Script ler_dhcp1 e depos de  5s executa o Script ler_dhcp2.

  • legal...

    Dario M Adaro disse:

    Resolvi dividindo o script em 2 parte. Ficou assim:
    1488705138?profile=RESIZE_1024x1024no scheduler primeiro executa o Script ler_dhcp1 e depos de  5s executa o Script ler_dhcp2.

  • aqui nao funcionou.... alguem teve susseço?

    Pedro Filho disse:

    legal...

    Dario M Adaro disse:

    Resolvi dividindo o script em 2 parte. Ficou assim:
    1488705138?profile=RESIZE_1024x1024no scheduler primeiro executa o Script ler_dhcp1 e depos de  5s executa o Script ler_dhcp2.

  • Uma dúvida, pode ser besta mais prefiro perguntar pra ter a certeza rsrs
    Esses script vai copiar todos os meus clientes no mkauth e importar pra secret no Mikrotik?
    E desta forma os clientes vão se conectar localmente no Mikrotik?
This reply was deleted.