Re: Soluções para ACK alto
Citação:
Postado originalmente por
paulojrandrade
Ack alto, ruido, interferencia, obstaculo (zinco, arvore, caixa d'agua), pigtail, cartao, ap do cliente... muito a se analisar.
Básicamente o que eu percebo na minha rede tbm!
Conversando com colegas de outro provedor eles me disseram que tinham muitos problemas de ack alto, pois um usuário conectava com 150 de ack e ia ao longo do tempo interferindo nas conexões da mesma wlan e que para resolver eles davam um kick na conexão ruim e o usuário conectava melhor...
Para resolver de forma automática eles acharam um script que colocam para rodar de tempos em tempos que avalia o ack do registration e caso esteja >90 kicka a conexão altomaticamente!
Deste modo usuários com ack alto não afetam conexões boas e caso com os kick o usuário não fique bom ele vai entrar em contato com a empresa, daí é só avaliar o problema no local.
Segue o script que eles me passaram e eu utilizo em alguns APs:
Código :
# Interface
:global iface ""
# Indice da interface
:global indice 0;
# Limite do ACK
:global ack 90;
# MAC do cliente
:global mac "";
:foreach i in=[/interface wireless find] do={
:set iface [/interface wireless get $indice name];
:foreach i in=[/interface wireless registration-table find interface=$iface] do={
:if ([/interface wireless registration-table get $i ack-timeout] > $ack) do={
:set mac [/interface wireless registration-table get $i mac-address];
/interface wireless registration-table remove $i;
:log info "KICK-ACK: $iface / $mac (ack acima de $ack ms)";
};
};
:set indice ($indice + 1);
};
Para utilizar o script basta ir em System -> Scripts -> +:
Código :
Name: kill-ack #Nome a ser chamado depois
Policy:
[ x ] reboot [ x ] read
[ x ] write [ x ] policy
[ x ] test [ x ] password
[ x ] sniff [ x ] sensitive
Source:
AQUI VOCÊ COLA O COD.
Depois para automatizar a execução dele basta ir em: System -> Scheduler -> +:
Código :
Name: Kill ACK
Start Date: Jan/01/1970
Start Time: startup # Quando rebootar já sobe o script
Interval: 00:05:00 # Intervalo de 5 minutos, pode variar
Delay: 00:00:00
On Event: kill-all # Nome atribuido ao script, se mudar lá não esqueça de mudar aqui tbm
Policy:
[ x ] write
[ x ] read
[ x ] test
Caso queria chamar no terminal para não ficar dependendo do tempo do script, basta no terminal digitar:
Código :
/system script run kill-ack
Sempre que for kickada alguma conexão o script anunciará no log.
Pronto! :)
[]s
Re: Soluções para ACK alto
Cara vc já usa esse script??? Eu já ví diversos como este porém morro de medo de dar uma zika e acabar derrubando todos clientes associados... Caso use passe para nós se realmente compensa usar esse tipo de script e se não carreta algum problema de processamento ou algo do tipo mas RB´s.
Re: Soluções para ACK alto
Citação:
Postado originalmente por
evertonsoares
Cara vc já usa esse script??? Eu já ví diversos como este porém morro de medo de dar uma zika e acabar derrubando todos clientes associados... Caso use passe para nós se realmente compensa usar esse tipo de script e se não carreta algum problema de processamento ou algo do tipo mas RB´s.
Uso sem problemas... vale dar uma adaptada para sua realidade, mas eu utilizo e não dá lag nem sobrecarga, é a mesma coisa que você ir manualmente e kickar todas as conexões com ack > do estipulado, no caso do meu script eu uso 90.
Tem gente que adiciona a função para mandar e-mail informando o usuário kickado e etc, eu não vejo vantagem pois eu sempre acompanho os logs dos mks.
[]s
Re: Soluções para ACK alto
Citação:
Postado originalmente por
evertonsoares
Cara vc já usa esse script??? Eu já ví diversos como este porém morro de medo de dar uma zika e acabar derrubando todos clientes associados... Caso use passe para nós se realmente compensa usar esse tipo de script e se não carreta algum problema de processamento ou algo do tipo mas RB´s.
E no caso de usar Nano em bridge no POP, como faria algo parecido?
Talvêz fixando o ACK em um valor razoável, como 60 por exemplo em vêz de deixar no automático?
Re: Soluções para ACK alto
Citação:
Postado originalmente por
1929
E no caso de usar Nano em bridge no POP, como faria algo parecido?
Talvêz fixando o ACK em um valor razoável, como 60 por exemplo em vêz de deixar no automático?
No caso de Nano eu tentaria desenvolver algo via ssh com key para que meu server linux de tempos em tempo entrasse na lista de nanos-ap e checasse o ack, caso > kick... mas isso tudo uma grande suposição... teria que entrar via ssh e tentar fazer manualmente, caso seja possível fica fácil automatizar...
[]s