Contribuição - Script Conexão Turbo

Boa noite a todos, vou contribuir com um script que tem a função de dobrar a velocidade de cada cliente, (semelhante a função turbo do mk-auth) antes de tudo quero deixar claro que esse script foi adaptado para essa função, o script original tem outra função que é adicionar o cache full individual para cada cliente, e é de autoria da thagos hyper cache, o script abaixo verifica cada controle de banda individual na simple queue do mikrotik e adiciona as regras de marcar pacotes no mangle e dobra a velocidade no queue tree.

o script pode ser facilmente alterado nas variáveis que estão #comentadas

Funciona com pppoe e hotspot

o script não verifica o cliente por tipo autenticação e sim a simple queue, ex: se o cliente tem autenticação hotspot ele pega o login e ip do cliente e faz a marcação...

se o cliente tem autenticação pppoe ele pega o login e a interface e faz a marcação.

#===================================
# Dobra a velocidade baseado no
# plano contratado pelo cliente
#
#===================================
#
# Limite de velocidade do Turbo (aqui é o limite máximo que pode chegar em Mbps pode ser
# alterado para mais ou para menos, o mínimo é 1 que é referente a 1Mbps )
:local LimiteMaxClientes 10 ; \
#
# Velocidade do cliente * Multiplicador = Velocidade Dobrada ou seja multiplicando por 2
:local Multiplicador 2 ; \
#
# Velocidade máxima para poder usar Turbo ( em Mbps )
:local LimitePlano 5 ; \
#
# Velocidade mínima para poder usar Turbo ( em kbps )
:local MinPlano 100 ; \
#
#
#
#
#
#
# Remove as regras antigas do mangle
:foreach b in [/ip firewall mangle find where comment="Conexao-Turbo"] do={ /ip firewall mangle remove $b }; \
#
# Remove as queues antigas
:foreach c in [/queue tree find where comment="Conexao-Turbo"] do={ /queue tree remove $c }; \
#
#
#
#
#
# Para cada queue de cliente gera as regras
:foreach n in [/queue simple find] do={ \
:local targetaddress [/queue simple get $n target-addresses] ;\
:local queuename [/queue simple get $n name] ;\
:local interfacename [/queue simple get $n interface] ;\
:local prioridade [/queue simple get $n priority] ;\
:local limitemaximo [/queue simple get $n max-limit] ;\
:local limitemaxfull [:pick "$limitemaximo" "$([:find "$limitemaximo" "/" -1 ] + 1)" "$([:len "$limitemaximo"] - 1)" ] ; \
:local limitemaxunidade [:pick "$limitemaximo" "$([:len "$limitemaximo"] - 1)"]; \
:local limitemaxfullturbo "$($limitemaxfull * $Multiplicador)"; \
:local limitemaxplano "$LimitePlano";\
:local limitemax $LimiteMaxClientes ;\
:if ("$limitemaxunidade" = "k") do={ \
:set limitemax "$($LimiteMaxClientes * 1024)" ;\
:set limitemaxplano "$($LimitePlano * 1024)" ;\
} else { \
:if ("$limitemaxunidade" = "K") do={ \
:set limitemax "$($LimiteMaxClientes * 1024)" ;\
:set limitemaxplano "$($LimitePlano * 1024)" ;\
} else { \
:set MinPlano [:tonum "$($MinPlano / 1024)"];\
};\
};\
:if ($limitemaxfullturbo > $limitemax) do={ :set limitemaxfullturbo $limitemax } ;\
:if ($limitemaxfull <= $limitemaxplano) do={ \
:if ($limitemaxfull >= $MinPlano) do={ \
#
#
#
##
# Regra que marca os pacotes
:if ("$interfacename" = "all") do={ \
/ip firewall mangle add action="mark-packet" chain="forward" comment="Conexao-Turbo" \
disabled="no" dst-address="$targetaddress" new-packet-mark="Conexao-Turbo-$queuename" passthrough="no" ; \
} else { \
#
/ip firewall mangle add action=mark-packet chain="forward" comment="Conexao-Turbo" \
disabled="no" out-interface="$interfacename" new-packet-mark="Conexao-Turbo-$queuename" passthrough="no" ; \
}; \
##
#
##
# Queue tree com o limite por cliente
/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s comment="Conexao-Turbo" \
disabled=no max-limit="$limitemaxfullturbo$limitemaxunidade" name="Conexao-Turbo-$queuename" \
packet-mark="Conexao-Turbo-$queuename" parent=global-out priority="$prioridade" \
queue=default ; \
##
#
#
}; \
}; \
}
:log info "Conexao Turbo" \
#==============================
#===- Edited by  Jonas Oliveira   
#==============================

para automatizar o script é preciso criar o agendamento de acordo com cada necessidade,

em anexo está todo o script com o agendamento da seguinte forma,

conexão turbo inicia a partir das 00:00hr e termina as 08:00hr da manhã para mudar esse tempo altere em system scheduler "iniciar-turbo" e "fim-turbo", atenção para o funcionamento correto do script, o relogio do mikrotik tem que está ajustado.

espero que esse script ajude!

Um abraço a todos e fiquem com Deus.

script turbo.txt

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

Join MK-AUTH

Enviar-me um email quando as pessoas responderem –

Respostas

  • muito bom, testado e aprovado

  • vou testar mas parece excelente

  • Testei aqui e funcionou 1000%, sempre quis fazer com que na madrugada fosse liberado mais banda, porem com o Plano Turbo do Mk Auth não tive sucesso, pois as regras nem sempre funcionavam direito, mas com essa aqui ficou muito bom.

  • qual a versão da rb que vc testou? pq aqui uso a 6.0 e não está dando certo da erro ( script error: input dows not match any value of value-name) quando rodo o script conexao-turbo.

    Levi Ferreira disse:

    Testei aqui e funcionou 1000%, sempre quis fazer com que na madrugada fosse liberado mais banda, porem com o Plano Turbo do Mk Auth não tive sucesso, pois as regras nem sempre funcionavam direito, mas com essa aqui ficou muito bom.

  • uso na versão5.24

    Aline disse:

    qual a versão da rb que vc testou? pq aqui uso a 6.0 e não está dando certo da erro ( script error: input dows not match any value of value-name) quando rodo o script conexao-turbo.

    Levi Ferreira disse:

    Testei aqui e funcionou 1000%, sempre quis fazer com que na madrugada fosse liberado mais banda, porem com o Plano Turbo do Mk Auth não tive sucesso, pois as regras nem sempre funcionavam direito, mas com essa aqui ficou muito bom.

  • O amigo que postou nem esta ajudando?
  • mas não tem oque explicar ja ta tudo ai

    Aline disse:

    O amigo que postou nem esta ajudando?
  • segue erro que aparece1488477167?profile=RESIZE_1024x1024

  • cara na boa essa versao que vc ta usando na sua RB é lixo demais. 


  • seguinte tenta na versao 5.24, vc ta pegando as regras em anexo?
    Aline disse:

    segue erro que aparece1488477167?profile=RESIZE_1024x1024

This reply was deleted.