+ Responder ao Tópico



  1. #1

    Padrão Cadastramento Automático no Access-list

    Bom pessoal aqui no meu provedor gosto de ver o sinal de cada cliente meu como esta!
    e para não ficar cadastrando manualmente fiz um script que pega o usuario e o mac dos que estão logados no hotspot, ai verifica se ele jah foi cadastrado no access-list, caso não ele cadastra automático. Então resolvi dar uma colher de chá as amigos do under e to compartilhando.

    segue o script:

    :global auth "yes";
    :global forw "no";
    :global interface "all";

    :foreach h in=[/ip hotspot active find] do={:global user [/ip hotspot active get $h user]; :global mac [/ip hotspot active get $h mac-address]; :global v "0"; :foreach hh in=[/interface wireless access-list find mac-address=$mac] do={:if ([/interface wireless access-list get $hh mac-address] = $mac ) do={:global v "1"}}; :if (v = "0") do={/interface wireless access-list add mac-address=$mac authentication=$auth forwarding=$forw comment=$user interface=$interface;}}


    Após isso criar um scheduler dizendo para rodar cada tanto tempo, no meu caso rodo a cada 5 minutos e rode

    /system scheduler add name="script_access-list" start-date=jan/01/1970 start-time=00:00:00 interval=5m on-event=script_access-list \
    policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive



  2. #2

  3. #3

    Padrão

    Gustavo,

    Muito obrigado por compartilhar esse script com a comunidade, antes tinha que fazer manual agora com esse script ficou uma blz!

    Obrigado novamento.

    Abraços.

    Christian Duarte

  4. #4

    Padrão

    Gustavo,

    Será que você pode me dar uma ajuda no seu script, ele cadastra no comment do access-list o nome do user tem a possibilidade de cadastra no comment do access-list o comment do user do hotspot?

    Desde já agradeço.

    Abraços.

    Christian Duarte

  5. #5

    Padrão

    vou ver o que consigo e posto depois

    Citação Postado originalmente por cduarte Ver Post
    Gustavo,

    Será que você pode me dar uma ajuda no seu script, ele cadastra no comment do access-list o nome do user tem a possibilidade de cadastra no comment do access-list o comment do user do hotspot?

    Desde já agradeço.

    Abraços.

    Christian Duarte

  6. #6

    Padrão

    ##### Script pega os usuarios que tem Comment e que tenha mac e cadastra no access-list

    :global auth "yes";
    :global forw "no";
    :global interface "all";

    :foreach h in=[/ip hotspot user find] do={:global user [/ip hotspot user get $h name]; :global mac [/ip hotspot user get $h mac-address]; :global comentario [/ip hotspot user get $h comment]; :global v "0"; :if ($mac = "" ) do={} else={:if ($comentario = "" ) do={} else={:foreach hh in=[/interface wireless access-list find mac-address=$mac] do={:if ([/interface wireless access-list get $hh mac-address] = $mac ) do={:global v "1"}}; :if (v = "0") do={/interface wireless access-list add mac-address=$mac authentication=$auth forwarding=$forw comment=$comentario interface=$interface}}}


    favor testar pois aqui na minha rede nao tenho niguem no user que tenha comentario

    ai não rola sentimento


    Citação Postado originalmente por cduarte Ver Post
    Gustavo,

    Será que você pode me dar uma ajuda no seu script, ele cadastra no comment do access-list o nome do user tem a possibilidade de cadastra no comment do access-list o comment do user do hotspot?

    Desde já agradeço.

    Abraços.

    Christian Duarte

  7. #7

    Padrão

    Gustavo,

    Testei o script modificado mais sem sucesso.

    O seu 1º script ele pega todas as informações do hotspot da aba active correto?

    Você colocou para add o comment na access-list com o nome do user ativo na aba active, o que eu queria era colocar no comment da access-list o mesmo comment que está no hotspot na aba Users comment.

    Tentei modificar o seu 1º script para pegar as informações da aba users mas não obtive sucesso, como sou novo nesse assunto com certeza estou errando alguma configuração, tive olhando os modelos de scripts do mikrotik mas sem sucesso também.

    É que no comment eu coloco algumas informações do cliente, como nome, rua e dia de cadastro.

    Não sei se é possível pegar essas informações da aba users.

    Obrigado por tentar me ajudar.

    Atenciosamente,

    Christian Duarte

  8. #8

    Padrão

    Melhorei um pouco verifique novamente! se não der vou fazer em uma router aqui, lembrando que no user o cliente tem que tar cadastrado o mac e comentario para poder cadastrar no access-list

    :global auth "yes";
    :global forw "no";
    :global interface "all";

    :foreach h in=[/ip hotspot user find] do={:global v "0"; :global user [/ip hotspot user get $h name]; :global mac [/ip hotspot user get $h mac-address]; :global comentario [/ip hotspot user get $h comment]; :if ($mac = "" ) do={:global v "1"; }; :if ($comentario = "" ) do={:global v "1"; }; :if ($v = "0" ) do={:foreach hh in=[/interface wireless access-list find mac-address=$mac] do={:if ([/interface wireless access-list get $hh mac-address] = $mac ) do={:global v "1"}}}; :if ($v = "0") do={/interface wireless access-list add mac-address=$mac authentication=$auth forwarding=$forw comment=$comentario interface=$interface};}



    assim ele deve buscar os dados na aba users

    Citação Postado originalmente por cduarte Ver Post
    Gustavo,

    Testei o script modificado mais sem sucesso.

    O seu 1º script ele pega todas as informações do hotspot da aba active correto?

    Você colocou para add o comment na access-list com o nome do user ativo na aba active, o que eu queria era colocar no comment da access-list o mesmo comment que está no hotspot na aba Users comment.

    Tentei modificar o seu 1º script para pegar as informações da aba users mas não obtive sucesso, como sou novo nesse assunto com certeza estou errando alguma configuração, tive olhando os modelos de scripts do mikrotik mas sem sucesso também.

    É que no comment eu coloco algumas informações do cliente, como nome, rua e dia de cadastro.

    Não sei se é possível pegar essas informações da aba users.

    Obrigado por tentar me ajudar.

    Atenciosamente,

    Christian Duarte

  9. #9

    Padrão

    Gustavo,

    Agora foi, ficou uma blz!

    Queria aprender a fazer scripts tem algum material para estudo ai?

    Muito obrigado mesmo por me ajudar.

    Atenciosamente,

    Christian Duarte

  10. #10

    Padrão

    cara depois que aprendi a fazer script, faco para tudo agora,
    é dificil de pegar as manhas, tem que saber um pouco de programação e talz

    agora eu somente cadastro o usuario e senha no mkt, e tenho um script para pegar o mac de quando ele tiver ativo e cadastrar no user, e outro que adiciona no access-list

    material interressante em:
    Manual:Scripting - MikroTik Wiki
    Manual:Scripting-examples - MikroTik Wiki

    Citação Postado originalmente por cduarte Ver Post
    Gustavo,

    Agora foi, ficou uma blz!

    Queria aprender a fazer scripts tem algum material para estudo ai?

    Muito obrigado mesmo por me ajudar.

    Atenciosamente,

    Christian Duarte

  11. #11

    Padrão

    É pelo que eu pode ver os scripts são uma mão na roda só temos trabalho uma vez de montar o script o resto ele faz sozinho, com isso ganhamos tempo para outras coisa.

    Vou dar uma estudada nesse material e fazer uns testes na bancada e ver o que dá... Rsrs

    Obrigado Gustavo por toda ajuda que você me deu!

    Abraços.

  12. #12

    Padrão Re: Cadastramento Automático no Access-list

    pessoal não conheço nehuma dessas funcionalidades a base de script mais sei que são bastante útil gostaria de saber onde posso encontrar mais informações sobre.

  13. #13

    Padrão Re: Cadastramento Automático no Access-list

    Citação Postado originalmente por curiosomk Ver Post
    Amigo, baseado nesse seu script, tentei por quase uam semana fazer algo +/- assim:

    Pegar o IP, USER, e o PROFILE de todos clientes cadastrados no HOTSPOT
    Tambem verificar a qual perfil ele pertence, digamos que eu tenha os perfis:

    100k, 200k, 300k, 400k

    Nesses perfils, la no hotspot eu nao seto velocidades, senao a queue sera dinamica, eu preciso q ele crie queue estatica, entao eu so preciso ler o nome do perfil e com base nisso setar a velocidade na QUEUE.
    Mas pra que eu quero isso ???? simples, pra nao ter q criar a queue estatica toda vez q eu cadastrar o cliente.
    e pra ter acesso ao historico da pagina de grafico do mikrotik - ser for queue dinamica ele nao guarda o historico.

    Poderia me ajudar amigo? veja como adptei...

    :foreach h in=[/ip hotspot user find] do={:global user [/ip hotspot user get $h name]; :global ip [/ip hotspot user get $h address]; :global addr "0";
    :foreach hh in=[/queue simple find name=$user] do={:if ([/queue simple get $hh name] = $user ) do={:global addr "1"}}; :if (addr = "0") do={
    /queue simple add name=$user max-limit=128000/1000000 target-address=$ip; }}


    Desse jeito, ele ta pegando todos os clientes do hotspot (eu nao setei velocidade em nenhum perfil) e criando queue estatica, mas ta tando os seguintes erros:

    Se algum cliente nao tiver com ip setado no hotspot ele nao deixa sem ip em queue, e sim copia o ip de algum outro, ou seja, na queue fica com ips duplicados, caso algum esteja sem ip no hotspot.

    E tambem nao tou conseguindo separa-los por perfil, ou seja, baseado no perfil q esteja no hotspot gostaria de setar a velocidade na queue.

    max-limit=$profile

    Desde ja agradeço !!!
    eu acharia mais interresante vc fazer o seguinte
    no on-login do seu profile vc roda o script onde ele passaria em todas as queues simples verificando se existe a queue já criada, se ela tiver criada vc pode alterar a velocidade, caso nao cria a nova e por ultimo vc joga ela para cima (primeira linha).

    Já coloquei o bolo da coisa! tente desenvolver, se nao conseguir eu faco o script.

    patinando que se aprende!

  14. #14

    Padrão Re: Cadastramento Automático no Access-list

    Citação Postado originalmente por curiosomk Ver Post
    OK !!! CONSEGUI ... Agradecido.
    poste ai então! quero ver se errou algo ou se surge uma segunda idéia

  15. #15

    Post Re: Cadastramento Automático no Access-list

    Citação Postado originalmente por gzanatta00 Ver Post
    Bom pessoal aqui no meu provedor gosto de ver o sinal de cada cliente meu como esta!
    e para não ficar cadastrando manualmente fiz um script que pega o usuario e o mac dos que estão logados no hotspot, ai verifica se ele jah foi cadastrado no access-list, caso não ele cadastra automático. Então resolvi dar uma colher de chá as amigos do under e to compartilhando.

    segue o script:

    :global auth "yes";
    :global forw "no";
    :global interface "all";

    :foreach h in=[/ip hotspot active find] do={:global user [/ip hotspot active get $h user]; :global mac [/ip hotspot active get $h mac-address]; :global v "0"; :foreach hh in=[/interface wireless access-list find mac-address=$mac] do={:if ([/interface wireless access-list get $hh mac-address] = $mac ) do={:global v "1"}}; :if (v = "0") do={/interface wireless access-list add mac-address=$mac authentication=$auth forwarding=$forw comment=$user interface=$interface;}}


    Após isso criar um scheduler dizendo para rodar cada tanto tempo, no meu caso rodo a cada 5 minutos e rode

    /system scheduler add name="script_access-list" start-date=jan/01/1970 start-time=00:00:00 interval=5m on-event=script_access-list \
    policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive


    oi amigo exelente topico voce esta de prabêns. cara sera que voce pode me dar uma ajuda aqui sobre o mec automatico pois eu uso hotpost toda minha rede é cabeada e queria saber como me minha interfece de saida é clientes como eu posso adequar essas regras ai para conseguir fazer isso
    agradeco desde ja Obrigado