+ Responder ao Tópico



  1. #1

    Padrão CONTROLE DE BANDA POR TRÁFEGO

    Olá amigos !

    Estou precisando de indicação para um script que faça o controle de banda pela quantidade de bytes trafegados e rode nas versões 3.0+ do MK. Até posuco tempo eu usava o QOS Freeze, que funciona perfeitamente bem com as versões 2.9 ... O problema é que ao fazer atualiazações em meus servidores, esse script pára de funcionar, em virtude da mudança de sintaxe.

    Agradeço a ajuda.

  2. #2

    Padrão

    Acompanhando, vou implementar isso na versão 2.9 usando NTH



  3. #3
    Moderador Avatar de minelli
    Ingresso
    Aug 2006
    Localização
    Pres. Venceslau - SP | Pres. Prudente - SP
    Posts
    1.408
    Posts de Blog
    10

    Padrão

    poste o script que vc tem para analiza e a versao que quer usar.

  4. #4

    Padrão

    Citação Postado originalmente por minelli Ver Post
    poste o script que vc tem para analiza e a versao que quer usar.
    Olá Minelli.

    Segue abaixo o script:

    log info ("FREEZER_ON")

    :local limite;
    :local user;
    :local contador;
    :local size;

    :set limite 100000000
    :set user nenhum
    :set contador 0
    :set size 0

    /queue simple
    :foreach i in=[find] do={

    :set user [get $i name]
    :set size ([:len $user] - 2)

    :if ([ick $user $size 100000] != "UL") do={

    :set contador [get [find name($user)] total-bytes]

    :if ($contador > $limite ) do={

    :if ([ick $user 0 3] = "HAR") do={

    :local Loga;
    :set Loga (. $user . "se encontra no Freezer")

    :if ([get [find name($user)] max-limit] != "100000") do={

    :set Loga (. $user . " EXCEDEU o limite maximo de " . $limite . " bits de 2 Horas")
    /queue simple reset-counters $user
    /queue simple set $user limit-at=64000/64000 max-limit=64000/64000 burst-limit=256000/256000 burst-threshold=64000/64000 burst-time=64/64

    /tool e-mail send to="[email protected]ínio.com.br" from="[email protected]ínio.com.br" server="XXX.XXX.XXX.XXX" subject="USUARIO NO FREEZER" body=("Usuario da rede " . $user . "entrou no freezer as: " . [/system clock get time])

    :log info ("Contadores Resetados")


    }

    :log info $Loga

    }

    :if ([ick $user 0 3] = "64K") do={

    :local Loga;
    :set Loga (. $user . " se encontra no Freezer")

    :if ([get [find name($user)] max-limit] != "100000") do={

    :set Loga (. $user . " EXCEDEU o limite maximo de " . $limite . " bits de 2 Horas")
    /queue simple reset-counters $user
    /queue simple set $user limit-at=64000/64000 max-limit=70000/70000
    /tool e-mail send to="[email protected]" from="[email protected]" server="XXX.XXX.XXX.X" subject="USUARIO NO FREEZER" body=("Usuario da rede" . $user . "entrou no freezer as: " . [/system clock get time])

    :log info ("Contadores Resetados")

    }

    :log info $Loga

    }

    :if ([ick $user 0 2] = "PC") do={

    :local Loga;
    :set Loga (. $user . " se encontra no Freezer")

    :if ([get [find name($user)] max-limit] != "156000") do={

    :set Loga (. $user . " EXCEDEU o limite maximo de " . $limite . " bits de 2 Horas")
    /queue tree set $user limit-at=75000 max-limit=156000 burst-limit=1000000 burst-threshold=20000 burst-time=3
    /tool e-mail send to="seu email" subject="Freezer Mikrotik" body=("Usuario da rede " . $user . " entrou no freezer as: " . [/system clock get time])
    }

    :log info $Loga

    }

    :if ([ick $user 0 2] = "HD") do={

    :local Loga;
    :set Loga (. $user . " se encontra no Freezer")

    :if ([get [find name($user)] max-limit] != "156000") do={

    :set Loga (. $user . " EXCEDEU o limite maximo de " . $limite . " de 2 Horas")
    /queue tree set $user limit-at=75000 max-limit=156000 burst-limit=1000000 burst-threshold=20000 burst-time=3
    /tool e-mail send to="seu email" subject="Freezer Mikrotik" body=("Usuario da rede " . $user . " entrou no freezer as: " . [/system clock get time])

    }

    :log info $Loga

    }

    :if ([ick $user 0 9] = "EngTeste3") do={

    :local Loga;
    :set Loga (. $user . " se encontra no Freezer")


    :if ([get [find name($user)] max-limit] != "156000") do={

    :set Loga (. $user . " EXCEDEU o limite maximo de " . $limite . " de 2 Horas")
    /queue tree set $user limit-at=75000 max-limit=156000 burst-limit=1000000 burst-threshold=20000 burst-time=3
    /tool e-mail send to="seu email" subject="Freezer Mikrotik" body=("Usuario da rede " . $user . " entrou no freezer as: " . [/system clock get time])

    }

    :log info $Loga

    }
    }
    }
    }

    Este script rodava perfeitamente bem na versão 2.9.50. Agora desejo fazê-lo rodar na 3.30
    Frizando que este script foi postado neste fórum pelo Teco, com o título QOS_FREEZE

    Agradeço a ajuda