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.
Respostas
vou mostrar como consegui ta rodando file 2018
o grande problema do horario turbo, é que ele altera o plano
no mk-auth no horaro programado, mais no mikrotik nao acontece nada continua com plano normal, somente se cliente desconectar e reconectar pegara o plano turbo, da mesma forma se ele nao desconectar mais ficará com plano turbo até o desconectar isso pode durar dias....
solução e um script para mikrotik de derrubar os cliente pppoe, 2 vezes por dia
eu tbm testei reiniciando rb 2 vzs por dia so que o reboot demora muito e a solucao de derrubar o pppoe soente 3 segundos maioria nunca vai sentir.
vamos la
program no Mk-Auth
horaio turbo para
23:50 inicio
07:50 termino
No Mikrotik no New Terminal
copie e cole
script horario turbo
meia noite
/ system scheduler add name="Reboot Router Daily" on-event="/ppp active remove [find]" start-date=jan/01/1970 start-time=00:00:00 interval=1d comment="" disabled=no
manha
/ system scheduler add name="Reboot Router Daily" on-event="/ppp active remove [find]" start-date=jan/01/1970 start-time=08:00:00 interval=1d comment="" disabled=no
veja que coloquei o mk-auth pra trabalhar primeiro, pois se mikrotik trabalhar no mesmo horario ou antes
pode nao subir o plano certo
greg disse:
Como fizeste? Aqui não funciona, já tentei em 3 versões diferentes do MK-AUTH e não funciona, e ninguém consegue me explicar o motivo de não funcionar.
G2 Consultoria disse:
Pelo que vi, não precisei de script para ativar o turbo, aqui meus clientes de 5mb estão todos ganhando 2 mb a mais de 17:00 até as 5
qual versão da 5x voce usa??
jonas oliveira da silva disse:
boa amigo, me diga uma coisa, pra gente criar esse script para garantia de banda, por exemplo das 18:00 as 00:00 (pois garantia de banda é zica pelo menos pra mim) solicitei ao pedro que crie uma opçao no mkauth assim como a do "horario turbo" "horario garantia" acho que seria mais eficiente e teria menos problemas com atualizações do mikrotik. pois tentei varios tipos de garantia e ate agora nada de funcionar aqui comigo.
Parabéns Amigo , Parabéns Mesmo !!
Dá uma lida AQUI
tá bem mastigado!
Saniel disse:
Opa! amigo não testei esse script na versão 6x
mais posso te garantir que na versão 5X roda perfeito, e como o amigo Elton Araujo disse, eu tambem não gostei da versão 6x.
e bem lembrado! o script completo está em anexo.
Aline disse:
como colocar o burst pra funcionar amigo?
Pode me ajudar?