-
1 Anexo(s)
PPoE - QoS Dinâmico e Individual
Prezados,
De uns tempo pra cá, vira e mexe recebemos ligações de clientes reclamando que não conseguem acessar nada ou que está extremamente lento, e quando vamos ver a conexão, o consumo de banda do cliente está em 100%.
Em 90% dos casos é com destino a IP da Microsoft, o que nos leva a crer ser atualização.
Sendo que desde o lançamento do Windows 10, a quantidade de ligações desse tipo aumentou.
Diante de tal problema, resolvi ir atrás de alguma solução de QoS individual e automático.
Consegui achar alguns exemplos de scripts na internet, fiz algumas modificações para poder gerar QoS automático para clientes com ou sem Burst.
O que ele faz?
A cada nova conexão, ele analisa os dados da Simple Queue desse cliente, e cria algumas regras no Queue Tree, com 5 tipos de priorização, conforme o tamanho do pacote (independente de site, protocolo ou serviço).
A principio tem funcionado bem.
Segue abaixo o script:
Código :
/ip firewall mangle
add action=mark-connection chain=forward comment=QoS-Andriopj_Client_PPPoE new-connection-mark=QoS_conn_Down out-interface=all-ppp passthrough=yes
add action=mark-packet chain=forward connection-bytes=0-524288 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_512K passthrough=yes
add action=mark-packet chain=forward connection-bytes=524289-5242880 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_5M passthrough=yes
add action=mark-packet chain=forward connection-bytes=5242881-20971520 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_20M passthrough=yes
add action=mark-packet chain=forward connection-bytes=20971521-52428800 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_50M passthrough=yes
add action=mark-packet chain=forward connection-bytes=52428801-0 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_Infinity passthrough=yes
Esse você adiciona em PPP > Profile
Abra cada um dos Profiles > aba Scripts > On Up
Código :
:foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
:local NamePPP [/queue simple get $i name];
:local RateLimit [/queue simple get $i max-limit];
:local indexExplod [:find $RateLimit "/"];
:local lenth [:len $RateLimit];
:local rl [:pick $RateLimit ($indexExplod + 1) ($lenth - 1)];
:local RateLimitUn [:pick $RateLimit ($lenth - 1) $lenth];
:local BurstLimit [/queue simple get $i burst-limit];
:local indexExplod [:find $BurstLimit "/"];
:local lenth [:len $BurstLimit];
:local bl [:pick $BurstLimit ($indexExplod + 1) ($lenth - 1)];
:local BurstLimitUn [:pick $BurstLimit ($lenth - 1) $lenth];
:local BurstTime [/queue simple get $i burst-time];
:local indexExplod [:find $BurstTime "/"];
:local lenth [:len $BurstTime];
:local bt [:pick $BurstTime ($indexExplod + 1) ($lenth - 1)];
:local indexExplod [:find $bt "m"];
:local lenth [:len $bt];
:local bt0 [:pick $bt 0];
:local bt1 [:pick $bt ($indexExplod + 1) $lenth];
:local BurstTh [/queue simple get $i burst-threshold];
:local indexExplod [:find $BurstTh "/"];
:local lenth [:len $BurstTh];
:local bth [:pick $BurstTh ($indexExplod + 1) ($lenth - 1)];
:local BurstThUn [:pick $BurstTh ($lenth - 1) $lenth];
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
:local cBt [(($bt0 * 60) + $bt1)];
:if ([:len $bl] != 0) do={
:log warning "QoS ADD === $NamePPP";
# :log warning "Com Burst";
# :log warning "Max Limit === $rl $RateLimitUn";
# :log warning "Burst Limit === $bl $BurstLimitUn";
# :log warning "Burst Thr === $bth $BurstThUn";
# :log warning "Burst Time=== $cBt";
/queue tree add name="QoS_$NamePPP" parent="$interface" queue="default" max-limit="$($rl)$RateLimitUn" burst-limit="$($bl)$BurstLimitUn" burst-time="$cBt" burst-threshold="$($bth)$BurstThUn" bucket-size=0.20;
/queue tree add name="2-512k_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_512K" queue="default" priority="4" limit-at="$($c512k)$RateLimitUn" max-limit="$($rl)$RateLimitUn" burst-limit="$($bl)$BurstLimitUn" burst-time="$cBt" burst-threshold="$($bth)$BurstThUn";
/queue tree add name="4-5M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_5M" queue="default" priority="5" limit-at="$($c5M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="6-20M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="7-50M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="8-Inf_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
} \
else={
:log warning "QoS ADD === $NamePPP";
/queue tree add name="QoS_$NamePPP" parent="$interface" queue="default" max-limit="$($rl)$RateLimitUn" bucket-size=0.20;
/queue tree add name="2-512k_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="4-5M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="6-20M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="7-50M_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
/queue tree add name="8-Inf_$NamePPP" parent="QoS_$NamePPP" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$RateLimitUn" max-limit="$($rl)$RateLimitUn";
}
}
Esse você adiciona em PPP > Profile
Abra cada um dos Profiles > aba Scripts > On Down
Código :
/queue tree remove [find where parent="QoS_<pppoe-$user>"]
/queue tree remove [find where name="QoS_<pppoe-$user>"]
:foreach a in=[/queue tree find where invalid] do={ /queue tree remove $a };
Pronto, agora seu concentrador já deve estar criando o QoS automaticamente para cada cliente que se conectar/reconectar.
Anexo 66869
FONTES:
https://wiki.mikrotik.com/wiki/Manual:Scripting
https://wiki.mikrotik.com/wiki/Manua...pting-examples
https://forum.mikrotik.com/viewtopic.php?t=61974
https://forum.mikrotik.com/viewtopic.php?t=4887
http://mk-auth.com.br/forum/topics/qos-din-mico-pppoe
https://forum.mikrotik.com/viewtopic.php?t=11534
https://www.youtube.com/watch?v=BwyPYTtF23Q
-
Re: PPoE - QoS Dinâmico e Individual
Bela contribuição e de altíssimo nível.
Parabéns
-
Re: PPoE - QoS Dinâmico e Individual
-
Re: PPoE - QoS Dinâmico e Individual
Parabens, implantei aqui vou monitorar.
-
Re: PPoE - QoS Dinâmico e Individual
PS: se tiverem alguma sugestão de correção ou melhoria, me avisem...
-
Re: PPoE - QoS Dinâmico e Individual
Gostei do conseito. Uma coisa pra melhorar seria colocar a regra default small sfq ou pcq com tudo marcado.
-
Re: PPoE - QoS Dinâmico e Individual
Eu usei pcq para o problema inicial relatado aqui. Alto consumo causando lentidão.
A ideia de QoS aqui não é a mais complexa. Prioriza transferências menores ou iniciando.
Gostei do conseito do script a inicialização dele, criação de queue child em queues dinâmicas.
-
Re: PPoE - QoS Dinâmico e Individual
Dentro deste contexto também não vejo problema se ele iniciar muitas transferências simultâneamente e o pcq for aplicado a cada categoria só iria ajudar.
-
Re: PPoE - QoS Dinâmico e Individual
-
Re: PPoE - QoS Dinâmico e Individual
@AndrioPJ, eu utilizo o QoS individual em todos os meus concentradores, mais com diferença em um pequeno detalhe, o script eu colo dentro de SYSTEM --> SCRIPT e nos profiles PPP o nome do script, o funcionamento é o mesmo.
Vendo sua publicação gostaria de compartilhar algo que notei nesse QoS que utilizo algum tempo.
Fiz alguns testes e notei com ele ou sem ele a navegação pro cliente final não tem mudado significamente, pela regra acredito que ela deveria priorizar os pacotes menores independente do serviço ou protocolo, dessa forma acho que as navegações (sites) deveria ter uma certa qualidade na hora de abrir.
Monitorando e alguns testes feito com alguns clientes selecionados ao fazer um download por exemplo torrent a banda do cliente é 100% atingida o cliente vai navegar e nada do site abrir, demora tempo e nada, isso com plano de 2 e 3 megas, então para testar removi o cliente da Queue tree, o problema foi o mesmo, nada de melhora na navegação.
Acredito que algum tipo de melhoria falta a ser acrescentada no QoS. O que acha se fosse acrescentado mais uma regra nesse escript onde ele priorizaria a navegação(abertura de sites) pro cliente final?
Tive mais certeza do problema quando um amigo configurou um QoS Simples em uma rb450 pra eu colocar em um cliente corporativo no qual solicitou que alguns sites fossem priorizados na abertura de sites, fizemos isso é o resultado foi muito satisfatório. O mesmo teste com download torrent feito com o cliente pppoe usando qos individual foi feito com esta rb, e ao requisitar abertura dos sites priorizados retirou dos outros serviços incluindo o download citado e enviado pros sites, coisa que não estava acontecendo no teste feito com o cliente pppoe.
O que acha disso?
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
alextaws
@
AndrioPJ, eu utilizo o QoS individual em todos os meus concentradores, mais com diferença em um pequeno detalhe, o script eu colo dentro de SYSTEM --> SCRIPT e nos profiles PPP o nome do script, o funcionamento é o mesmo.
Vendo sua publicação gostaria de compartilhar algo que notei nesse QoS que utilizo algum tempo.
Fiz alguns testes e notei com ele ou sem ele a navegação pro cliente final não tem mudado significamente, pela regra acredito que ela deveria priorizar os pacotes menores independente do serviço ou protocolo, dessa forma acho que as navegações (sites) deveria ter uma certa qualidade na hora de abrir.
Monitorando e alguns testes feito com alguns clientes selecionados ao fazer um download por exemplo torrent a banda do cliente é 100% atingida o cliente vai navegar e nada do site abrir, demora tempo e nada, isso com plano de 2 e 3 megas, então para testar removi o cliente da Queue tree, o problema foi o mesmo, nada de melhora na navegação.
Acredito que algum tipo de melhoria falta a ser acrescentada no QoS. O que acha se fosse acrescentado mais uma regra nesse escript onde ele priorizaria a navegação(abertura de sites) pro cliente final?
Tive mais certeza do problema quando um amigo configurou um QoS Simples em uma rb450 pra eu colocar em um cliente corporativo no qual solicitou que alguns sites fossem priorizados na abertura de sites, fizemos isso é o resultado foi muito satisfatório. O mesmo teste com download torrent feito com o cliente pppoe usando qos individual foi feito com esta rb, e ao requisitar abertura dos sites priorizados retirou dos outros serviços incluindo o download citado e enviado pros sites, coisa que não estava acontecendo no teste feito com o cliente pppoe.
O que acha disso?
Você tem o script desse QoS simples que seu amigo configurou?
Quem sabe, poderíamos analisar ele e melhorar...
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Você tem o script desse QoS simples que seu amigo configurou?
Quem sabe, poderíamos analisar ele e melhorar...
o simples da rb do cliente corporativo? ou o individual dos clientes pppoe?
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
alextaws
o simples da rb do cliente corporativo? ou o individual dos clientes pppoe?
Esse que vc citou que o resultado foi satisfatório.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Esse que vc citou que o resultado foi satisfatório.
Muito melhor.
DETALHE: nesse a priorização de sites e depois as mesma regras por tamanho de pacote. A minha dúvida seria se daria para acrescentar no qos individual a mesma priorização, mais ao invés de priorizar sites determinados, priorizar toda navegação
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
alextaws
Muito melhor.
DETALHE: nesse a priorização de sites e depois as mesma regras por tamanho de pacote. A minha dúvida seria se daria para acrescentar no qos individual a mesma priorização, mais ao invés de priorizar sites determinados, priorizar toda navegação
1 - Para provedor, de acordo com o Marco Civil, é proibido priorizar pacotes quanto a origem/destino, conteúdo, terminal ou aplicação.
ou seja, não se pode priorizar um site em detrimento a outro.
2 - Esse script que postei prioriza pacotes pequenos, independente da origem/destino, protocolo, aplicação, etc e tal.
Mas sabemos que pacotes pequenos em sua grande maioria é: dns, ping, navegação ou inicio de algum download/video online.
-
Re: PPoE - QoS Dinâmico e Individual
A ideia e boa,ja usei algo parecido a um tempo atrás,o problema e que tanto no seu script quanto no que eu usava nao respeita a o burst limit, pra mim infelizmente isso inviabilizou o uso do mesmo,um exemplo pra os menos intendidos: velocidade contratada 2048k , burst limit: 2298k , o pico máximo sempre e 2M. que seria os 2048k.
Para os que utilizam planos sem brust funciona 100%
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
sostenes
A ideia e boa,ja usei algo parecido a um tempo atrás,o problema e que tanto no seu script quanto no que eu usava nao respeita a o burst limit, pra mim infelizmente isso inviabilizou o uso do mesmo,um exemplo pra os menos intendidos: velocidade contratada 2048k , burst limit: 2298k , o pico máximo sempre e 2M. que seria os 2048k.
Para os que utilizam planos sem brust funciona 100%
Cheguei a ver uns script na internet quando estava estudando uma solução, esses ignoravam totalmente a configuração do burst,.
Mas vale salientar que Esse que postei adiciona regras para burst tbm...
-
Re: PPoE - QoS Dinâmico e Individual
Bom to rodando em cima de 900 cliente, até agora tudo ok. Achei uma boa melhora mesmo quando o link esta no gargalo.
Processamento subiu um pouco mas nada absurdo.
-
Re: PPoE - QoS Dinâmico e Individual
então... ,verifica ai só é adicionado o burst na primeira regra, nas demais nao tem.
-
Re: PPoE - QoS Dinâmico e Individual
vou aguardar mais testes dos colegas
-
Re: PPoE - QoS Dinâmico e Individual
Vou testar assim que possível.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
sostenes
então... ,verifica ai só é adicionado o burst na primeira regra, nas demais nao tem.
Se notar, ele dá burst no geral.
No mais, ele tbm dá burst para arquivos pequenos tbm, que em sua grande maioria, é navegação.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Prezados,
De uns tempo pra cá, vira e mexe recebemos ligações de clientes reclamando que não conseguem acessar nada ou que está extremamente lento, e quando vamos ver a conexão, o consumo de banda do cliente está em 100%.
Em 90% dos casos é com destino a IP da Microsoft, o que nos leva a crer ser atualização.
Sendo que desde o lançamento do Windows 10, a quantidade de ligações desse tipo aumentou.
Diante de tal problema, resolvi ir atrás de alguma solução de QoS individual e automático.
Consegui achar alguns exemplos de scripts na internet, fiz algumas modificações para poder gerar QoS automático para clientes com ou sem Burst.
O que ele faz?
A cada nova conexão, ele analisa os dados da Simple Queue desse cliente, e cria algumas regras no Queue Tree, com 5 tipos de priorização, conforme o tamanho do pacote (independente de site, protocolo ou serviço).
A principio tem funcionado bem.
Segue abaixo o script:
Código :
/ip firewall mangle
add action=mark-connection chain=forward comment=QoS-Andriopj_Client_PPPoE new-connection-mark=QoS_conn_Down out-interface=all-ppp passthrough=yes
add action=mark-packet chain=forward connection-bytes=0-524288 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_512K passthrough=yes
add action=mark-packet chain=forward connection-bytes=524289-5242880 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_5M passthrough=yes
add action=mark-packet chain=forward connection-bytes=5242881-20971520 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_20M passthrough=yes
add action=mark-packet chain=forward connection-bytes=20971521-52428800 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_50M passthrough=yes
add action=mark-packet chain=forward connection-bytes=52428801-0 connection-mark=QoS_conn_Down new-packet-mark=QoS-Andriopj_Infinity passthrough=yes
Esse você adiciona em PPP > Profile
Abra cada um dos Profiles > aba Scripts > On Up
Código :
:foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
:local qName [/queue simple get $i name];
:local rLimit [/queue simple get $i max-limit];
:local burstl [/queue simple get $i burst-limit];
:local indexExplod [:find $burstl "/"];
:local lenth [:len $burstl];
:local bl [:pick $burstl ($indexExplod + 1) ($lenth - 1)];
:local burstt [/queue simple get $i burst-time];
:local burstth [/queue simple get $i burst-threshold];
:local indexExplod [:find $burstt "/"];
:local lenth [:len $burstt];
:local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
:local btUnity [:pick $burstt ($lenth - 1) $lenth];
:local indexExplod [:find $burstth "/"];
:local lenth [:len $burstth];
:local bth [:pick $burstth ($indexExplod + 1) ($lenth - 1)];
:local indexExplod [:find $rLimit "/"];
:local lenth [:len $rLimit];
:local rl [:pick $rLimit ($indexExplod + 1) ($lenth - 1)];
:local rlUnity [:pick $rLimit ($lenth - 1) $lenth];
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
:if ([:len $bl] != 0) do={
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" burst-limit="$($bl)$rlUnity" burst-time="$($bt)$btUnity" burst-threshold="$($bth)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="4" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity" burst-limit="$($bl)$rlUnity" burst-time="$($bt)$btUnity" burst-threshold="$($bth)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="5" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
:log warning "QUEUE add === $qName";
} \
else={
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
:log warning "QUEUE add === $qName"; }
}
Esse você adiciona em PPP > Profile
Abra cada um dos Profiles > aba Scripts > On Down
Código :
/queue tree remove [find where parent="QoS_<pppoe-$user>"]
/queue tree remove [find where name="QoS_<pppoe-$user>"]
:foreach a in=[/queue tree find where invalid] do={ /queue tree remove $a };
Pronto, agora seu concentrador já deve estar criando o QoS automaticamente para cada cliente que se conectar/reconectar.
Anexo 66869
Fontes:
https://wiki.mikrotik.com/wiki/Manual:Scripting
https://wiki.mikrotik.com/wiki/Manua...pting-examples
https://forum.mikrotik.com/viewtopic.php?t=61974
https://forum.mikrotik.com/viewtopic.php?t=4887
http://mk-auth.com.br/forum/topics/qos-din-mico-pppoe
https://forum.mikrotik.com/viewtopic.php?t=11534
Muito boa sua contribuição amigo, Parabéns.
Mas aqui não funcionou, o script não adiciona as regras de queue tree!
-
Re: PPoE - QoS Dinâmico e Individual
e script funciona sim ,revise onde colocou as regras,qual a versão do seu mikrotik?
-
Re: PPoE - QoS Dinâmico e Individual
Deve funcionar sim mas aqui não rolou.
Peguei outro que achei no fórum da MK-Auth onde adicionei direto em system>Scripts e funcionou
Versão 6.33.3
Coloquei exatamente no local onde o autor do tópico falou, ppp>profiles Script
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
PabloDelfino
Deve funcionar sim mas aqui não rolou.
Peguei outro que achei no fórum da MK-Auth onde adicionei direto em system>Scripts e funcionou
Versão 6.33.3
Coloquei exatamente no local onde o autor do tópico falou, ppp>profiles Script
Mestre
esse script que passei não é para ser adicionado em System Scripts.
Mas sim na Aba script do PROFILE PPP.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Mestre
esse script que passei não é para ser adicionado em System Scripts.
Mas sim na Aba script do PROFILE PPP.
sim amigo eu compreendi, foi isso mesmo que fiz!
oque me referi a cima foi outro que achei no fórum da MK-Auth onde e adicionado direto no Script do MK, que funcionou.
o seu script direto no profile do ppp aqui não rolou, não sei pq.
Abraço.
-
1 Anexo(s)
Re: PPoE - QoS Dinâmico e Individual
prezados,
Localizei um erro no script com relação ao tempo (burst-time) quando maior que 59 segundos. Não chega a ser um erro no script, mas sim uma diferença na forma como o mikrotik armazena o tempo.
Veja na imagem... note que no simple queue está com o Time em 80, mas qdo exportamos a regra ele passa o time em 1m20
Anexo 66888
o que era para estar 60s, ele recebe como 1m
ou que era para estar 80s, ele recebe como 1m20
Ai dá erro na hora de adicionar a regra para clientes com tempo maior que 59s.
Estou buscando uma forma de converter para segundos.
Se alguém tiver uma sugestão, avisa ai.
-
Re: PPoE - QoS Dinâmico e Individual
aqui em meus testes nao houve esse problema, utilizo sempre 32s e adicionou so 32s o problema e que quando "cai" abaixo do burst threshold nem sempre libera um novo burst limit.
-
Citação:
Postado originalmente por
AndrioPJ
prezados,
Localizei um erro no script com relação ao tempo (burst-time) quando maior que 59 segundos. Não chega a ser um erro no script, mas sim uma diferença na forma como o mikrotik armazena o tempo.
Veja na imagem... note que no simple queue está com o Time em 80, mas qdo exportamos a regra ele passa o time em 1m20
Anexo 66888
o que era para estar 60s, ele recebe como 1m
ou que era para estar 80s, ele recebe como 1m20
Ai dá erro na hora de adicionar a regra para clientes com tempo maior que 59s.
Estou buscando uma forma de converter para segundos.
Se alguém tiver uma sugestão, avisa ai.
Prezados,
Resolvido!!!
Mais tarde devo atualizar o script.
O que eu fiz?
Quando o script vai buscar o valor do Burst-time, o valor vem assim "upload/download", exemplo:
30s/30s
ou
1m20/1m20
Então, primeiramente eu isolei o download:
Código :
:local burstt [/queue simple get $i burst-time];
:local indexExplod [:find $burstt "/"];
:local lenth [:len $burstt];
:local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
Pronto, com o código acima eu tenho apenas o valor do download.
O problema é quando o tempo é maior que 59s, ai o mikrotik altera de segundos para minutos.
ou seja, 80s vira 1m20
Se tentarmos adicionar uma regra com o valor 1m20, dá erro, e a regra não é adicionada.
Então temos que converter esse 1m20 para 80 segundos.
Consegui fazer isso com o script abaixo:
Código :
:local indexExplod [:find $bt "m"];
:local lenth [:len $bt];
:local bt0 {:pick $bt 0 ];
:local bt1 [:pick $bt ($indexExplod + 1) ($lenth - 1)];
:local bt2 [:pick $bt ($indexExplod + 1) $lenth ];
:local cBt [(($bt0 * 60) + $bt1)];
Resumindo:
Primeiro isolei o valor e depois transformei ele em segundos.
-
Re: PPoE - QoS Dinâmico e Individual
Muito bom!
Assim que corrigir o script posta ele, que eu quero testar de novo.
-
Re: PPoE - QoS Dinâmico e Individual
-
Re: PPoE - QoS Dinâmico e Individual
Realmente continua a não funcionar aqui!
Na madrugada vou atualizar a RB desse pop para ver se resolve.
-
Citação:
Postado originalmente por
PabloDelfino
Realmente continua a não funcionar aqui!
Na madrugada vou atualizar a RB desse pop para ver se resolve.
só para tentar entender...
Os planos dos seus clientes possuem Burst ou não?
Vai no Profile, Aba Script > On UP
E adiciona o seguinte script:
Código :
:foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
:local qName [/queue simple get $i name];
:local rLimit [/queue simple get $i max-limit];
:local indexExplod [:find $rLimit "/"];
:local lenth [:len $rLimit];
:local rl [:pick $rLimit ($indexExplod + 1) ($lenth - 1)];
:local rlUnity [:pick $rLimit ($lenth - 1) $lenth];
:local burstl [/queue simple get $i burst-limit];
:local indexExplod [:find $burstl "/"];
:local lenth [:len $burstl];
:local bl [:pick $burstl ($indexExplod + 1) ($lenth - 1)];
:local blUnity [:pick $burstl ($lenth - 1) $lenth];
:local burstt [/queue simple get $i burst-time];
:local indexExplod [:find $burstt "/"];
:local lenth [:len $burstt];
:local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
:local indexExplod [:find $bt "m"];
:local lenth [:len $bt];
:local bt0 [:pick $bt 0];
:local bt1 [:pick $bt ($indexExplod + 1) $lenth];
:local burstth [/queue simple get $i burst-threshold];
:local indexExplod [:find $burstth "/"];
:local lenth [:len $burstth];
:local bth [:pick $burstth ($indexExplod + 1) ($lenth - 1)];
:local bthUnity [:pick $burstth ($lenth - 1) $lenth];
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
:local cBt [(($bt0 * 60) + $bt1)];
:log warning "=== Inicio Script ===";
:if ([:len $bl] != 0) do={
:log warning "QoS === $qName";
:log warning "Com Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "Burst Limit === $bl $blUnity";
:log warning "Burst Thr === $bth $bthUnity";
:log warning "Burst Time=== $cBt";
:log warning "=== Fim Script ===";
} \
else={
:log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";
}
}
Esse script não vai criar nenhuma queue, apenas irá relatar no log os valores que estão recebendo.
-
Re: PPoE - QoS Dinâmico e Individual
Meus clientes estão em sfq sera por isso?
edit.
Realmente fiz o teste com o Script a cima, esta sem burst!
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
PabloDelfino
Meus clientes estão em sfq sera por isso?
edit.
Realmente fiz o teste com o Script a cima, esta sem burst!
o SFQ não tem relação.
Com esse ultimo script que passei, apareceu no LOG o nome da queue do cliente e a velocidade???
-
1 Anexo(s)
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
o SFQ não tem relação.
Com esse ultimo script que passei, apareceu no LOG o nome da queue do cliente e a velocidade???
Ai esta o log
Anexo 66892
-
Citação:
Postado originalmente por
PabloDelfino
Aparentemente, o script em si está coletando as informações necessárias.
então ele deveria estar criando ai as regras no queue tree.
Vamos dar mais um passo.
Nesse ultimo script que te passei, exatamente esse que vc está usando, localize a parte em vermelha:
Código :
else={
[COLOR="#FF0000"] :log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";[/COLOR]
}
}
e adicione logo abaixo dessa linha em vermelha, o codigo abaixo:
Código :
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
Ficando da seguinte forma:
Código :
else={
[COLOR="#FF0000"]:log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";[/COLOR]
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
}
}
Cuide para copiar toda a regra, inclusive o ;PontoVirgula; que está ao final
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Aparentemente, o script em si está coletando as informações necessárias.
então ele deveria estar criando ai as regras no queue tree.
Vamos dar mais um passo.
Nesse ultimo script que te passei, exatamente esse que vc está usando, localize a parte em vermelha:
Código :
else={
[COLOR="#FF0000"] :log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";[/COLOR]
}
}
e adicione logo abaixo dessa linha em vermelha, o codigo abaixo:
Código :
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
Ficando da seguinte forma:
Código :
else={
[COLOR="#FF0000"]:log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";[/COLOR]
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
}
}
Cuide para copiar toda a regra, inclusive o ;PontoVirgula; que está ao final
O Codigo pronto ficou assim:
Código :
:foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
:local qName [/queue simple get $i name];
:local rLimit [/queue simple get $i max-limit];
:local indexExplod [:find $rLimit "/"];
:local lenth [:len $rLimit];
:local rl [:pick $rLimit ($indexExplod + 1) ($lenth - 1)];
:local rlUnity [:pick $rLimit ($lenth - 1) $lenth];
:local burstl [/queue simple get $i burst-limit];
:local indexExplod [:find $burstl "/"];
:local lenth [:len $burstl];
:local bl [:pick $burstl ($indexExplod + 1) ($lenth - 1)];
:local blUnity [:pick $burstl ($lenth - 1) $lenth];
:local burstt [/queue simple get $i burst-time];
:local indexExplod [:find $burstt "/"];
:local lenth [:len $burstt];
:local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
:local indexExplod [:find $bt "m"];
:local lenth [:len $bt];
:local bt0 [:pick $bt 0];
:local bt1 [:pick $bt ($indexExplod + 1) $lenth];
:local burstth [/queue simple get $i burst-threshold];
:local indexExplod [:find $burstth "/"];
:local lenth [:len $burstth];
:local bth [:pick $burstth ($indexExplod + 1) ($lenth - 1)];
:local bthUnity [:pick $burstth ($lenth - 1) $lenth];
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
:local cBt [(($bt0 * 60) + $bt1)];
:log warning "=== Inicio Script ===";
:if ([:len $bl] != 0) do={
:log warning "QoS === $qName";
:log warning "Com Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "Burst Limit === $bl $blUnity";
:log warning "Burst Thr === $bth $bthUnity";
:log warning "Burst Time=== $cBt";
:log warning "=== Fim Script ===";
} \
else={
:log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
}
}
Nada aconteceu!
Apenas autenticou e não emitiu nenhum Log. e nao adicionou nenhuma Queue Tree
-
Re: PPoE - QoS Dinâmico e Individual
Como faço para que funcione nos dois sentidos upload e download pois o mesmo está tratando somente pacotes de download. e AndrioPJ mais uma vez muito obrigado pela contribuição.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
PabloDelfino
O Codigo pronto ficou assim:
Código :
:foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
:local qName [/queue simple get $i name];
:local rLimit [/queue simple get $i max-limit];
:local indexExplod [:find $rLimit "/"];
:local lenth [:len $rLimit];
:local rl [:pick $rLimit ($indexExplod + 1) ($lenth - 1)];
:local rlUnity [:pick $rLimit ($lenth - 1) $lenth];
:local burstl [/queue simple get $i burst-limit];
:local indexExplod [:find $burstl "/"];
:local lenth [:len $burstl];
:local bl [:pick $burstl ($indexExplod + 1) ($lenth - 1)];
:local blUnity [:pick $burstl ($lenth - 1) $lenth];
:local burstt [/queue simple get $i burst-time];
:local indexExplod [:find $burstt "/"];
:local lenth [:len $burstt];
:local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
:local indexExplod [:find $bt "m"];
:local lenth [:len $bt];
:local bt0 [:pick $bt 0];
:local bt1 [:pick $bt ($indexExplod + 1) $lenth];
:local burstth [/queue simple get $i burst-threshold];
:local indexExplod [:find $burstth "/"];
:local lenth [:len $burstth];
:local bth [:pick $burstth ($indexExplod + 1) ($lenth - 1)];
:local bthUnity [:pick $burstth ($lenth - 1) $lenth];
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
:local cBt [(($bt0 * 60) + $bt1)];
:log warning "=== Inicio Script ===";
:if ([:len $bl] != 0) do={
:log warning "QoS === $qName";
:log warning "Com Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "Burst Limit === $bl $blUnity";
:log warning "Burst Thr === $bth $bthUnity";
:log warning "Burst Time=== $cBt";
:log warning "=== Fim Script ===";
} \
else={
:log warning "QoS === $qName";
:log warning "Sem Burst";
:log warning "Max Limit === $rl $rlUnity";
:log warning "=== Fim Script ===";
/queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
/queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
/queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
}
}
Nada aconteceu!
Apenas autenticou e não emitiu nenhum Log. e nao adicionou nenhuma Queue Tree
muito estranho não estar funcionando ai contigo.
Qual a versão do seu Mikrotik? se for RB, qual a versão de firmware tbm?
É possível fazer acesso remoto ai pelo team viewer ou algum programa semelhante??
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
muito estranho não estar funcionando ai contigo.
Qual a versão do seu Mikrotik? se for RB, qual a versão de firmware tbm?
É possível fazer acesso remoto ai pelo team viewer ou algum programa semelhante??
Achei o Problema amigo,
Estava aqui: "bucket-size=0.20" na hora de adicionar a Queue-tree
Meu MK estava detectando erro
Removi ele e funcionou, qual problema deixar sem?
Notei também que não adicionou Burst Limit
-
Re: PPoE - QoS Dinâmico e Individual
Andrio, parabens pela postagem, como já disseram, de alto nível.
Fiz varios testes aqui em um cenario com cerca de 550 pppoe, e constatei o seguinte:
Funciona muito bem e pode sim ser bem melhorado a partir desta ideia, a exemplo, fragmentacões de torrent e outros P2P em porta 443 não são vistas pelo filtro P2P nem pelo script (que não é o papel dele é lógico) pois ja vem fragmentado, teríamos que descobrir uma forma de usar um DIP (Deep Inspection Pack) em mikrotik pra fazer isso mas até agora não vi como pois esta funcionalidade esta como uma feature do iptables, mas se for nessa linha beira a perfeição.
No mais, só elogios pela disposição do feito.
Abraços!!
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
:local c512k [($rl * 55 / 100)];
:local c5M [($rl * 25 / 100)];
:local c20M [($rl * 20 / 100)];
:local c50M [($rl * 15 / 100)];
:local cInf [($rl * 10 / 100)];
AndrioPJ, fiquei com uma duvida aqui, a soma desses dados não teria que dar 100%?
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
eberty
AndrioPJ, fiquei com uma duvida aqui, a soma desses dados não teria que dar 100%?
a principio sim.
Mas observei que nem sempre todas as regras estão sendo usadas simultaneamente.
na grande maioria tem 2, no máximo 3 regras sendo usadas.
Por isso, pensei em garantir um minimo maior.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
PabloDelfino
Achei o Problema amigo,
Estava aqui: "bucket-size=0.20" na hora de adicionar a Queue-tree
Meu MK estava detectando erro
Removi ele e funcionou, qual problema deixar sem?
Notei também que não adicionou Burst Limit
Sobre o bucket-size, não tem nenhum problema em exclui-lo.
por padrão, quando não é mencionado, ele já usa o valor de 0.10.
Como você já achou o problema, tenta copiar/usar o script que está na pagina inicial e remove apenas o bucket-size.
ele deve adicionar as regras de burst-limite no geral, e na 1 regra de QoS (para pacotes pequenos).
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
leandromidia
Olá a todos, a principio, gostaria de agradecer e muito ao AndrioPJ, esse Qos dinâmico transformou a experiência dos meus usuários, o pessoal ligou perguntando o que aconteceu... e realmente ao entrar em um site que o pessoal usa muito eu me deparei com as aberturas muito mais rápidas das janelas de exibição, coisa impressionante!!! Como pode algumas regras mudarem tanto a rede... mais uma vez, OBRIGADO!!!
Opa, valeu grande.
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
Sobre o bucket-size, não tem nenhum problema em exclui-lo.
por padrão, quando não é mencionado, ele já usa o valor de 0.10.
Como você já achou o problema, tenta copiar/usar o script que está na pagina inicial e remove apenas o bucket-size.
ele deve adicionar as regras de burst-limite no geral, e na 1 regra de QoS (para pacotes pequenos).
Ja fis isso @AndrioPJ
Mas o Burst Limit realmente não vai.
Será a versão do Meu MK que esta causando isso? Ros 6.33.3 - Firm. 3.10
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
PabloDelfino
Ja fis isso @
AndrioPJ
Mas o Burst Limit realmente não vai.
Será a versão do Meu MK que esta causando isso? Ros 6.33.3 - Firm. 3.10
o do burst possui o bucket-size tbm, vc retirou ele?
de qualquer forma, realmente pode ser versão da RB.
Aqui eu uso a versão 6.37.5 Bugfix only
-
Re: PPoE - QoS Dinâmico e Individual
Citação:
Postado originalmente por
AndrioPJ
a principio sim.
Mas observei que nem sempre todas as regras estão sendo usadas simultaneamente.
na grande maioria tem 2, no máximo 3 regras sendo usadas.
Por isso, pensei em garantir um minimo maior.
Obrigado pela resposta.