Bug no script ler_pppoe

Estava terminando a integração do meu mikrotik com o mkauth,para gerar maior segurança estava ativando o script que cria as interfaces pppoe no secrets e depois iria criar uma regra no netwatch para caso o mkauth estivesse down ele ativar essas interfaces.
Porem ao tentar rodar o script ele estava falhando,ao fazer um debug do porque notei que era devido a alguns caracteres encontrados na senha(variável password,uma string na linguagem de script do mikrotik),ao conferir a documentação do mikrotik notei que para não dar erro na string os caracteres $ e ? tem que ser escapados,/$ ou as vezes //$ assim para que ele faca parte da string,gostaria de saber se isso poderia ser feito no código que vocês geram a senha(conferir esses dois caracteres e escapa-los),notei que e um arquivo php que gera esse script então não deve ser complexo.
O carácter ? nem precisa ser escapado pós v7.1rc2 do mikrotik.

 

Aqui voce acha as escape sequences:

https://help.mikrotik.com/docs/display/ROS/Scripting

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

Join MK-AUTH

Votos 0
Enviar-me um email quando as pessoas responderem –

Respostas

  •  Bom dia. coloco o script mas sempre ao rodar da erro, algum sabe a solução..

    /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 \"xxxxxxxx\"; \r\
    \n:global USER \"User_xxxxxxxxxxxxxxxxxxxxxxxxxx\"; \r\
    \n:global PASS \"Pass_xxxxxxxxxxxxxxxxxxxxxxxxxx\"; \r\
    \n:global done \"\";\r\
    \n/tool fetch user=\$USER password=\$PASS url=\"https://\$IPMKAUTH/mkt/pppoe\" 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"

    sempre este erro no log

  • versão  MK-AUTH 24.04 :: TUX 4.19 não tem a opção a selecionar PPPoE setar apenas o ramal especifico.

  • Boa noite poderia dar mais detalhes de como fazer para que o mikrotik importe apenas os clientes de um ramal especifico?

  • já tem, no final da url coloque o ip do ramal, exemplo https://pedronetlocal.com.br/mkt/pppoe/172.31.255.1 que o sistema somente mostra os usuários do ramal.

  • Pedro, teria como disponibilizar importação apenas por ramal?

    hoje ele suga tudo, todos usuarios de todos ramais mesmo especificando as infor de key.

  • Muito obrigado pedro,agora o script funcionou perfeitamente e consegui terminar a integracao com o mikrotik.

     

  • Boa noite João, faz um update que coloquei para o sistema escapar $ e ? amigo...

  • Boa tarde,reparei no mesmo tipo de problema quando tentei criar a redundância de pppoe no meu mikrotik usando os scripts disponibilizados.

    Aparentemente se você usar senhas que não contem os caracteres $ e ? realmente resolve,porem isso não seria viável pois ainda não implementei o tr-069 para fazer essa parte remotamente.

  • Ola,existe alguma solucao ou algo que eu possa fazer? sem ser  mudar a senha dos usuarios no modem.

     

  • Atualizei para a ultima  versao e repeti o teste,segue o mesmo erro caso a senha apresente um $,devido a necessidade de fazer um escape no character quando for usado numa string na linguagem de script do mikrotik.

     

This reply was deleted.