Mais uma pergunta,fazendo a script funcionar,ela faz somente o cliente que entrou alto desconectar ou todos?
Na versão 3.13 da mk.
Vou fazer uma pergunta "besta".
Teria como adaptar essa script ai para derrubar quem ebtrar com o sinal muito ruim na RB,ou tem alguma outra forma de fazer isso?
Cheguei a fazer isso,mas aqui eu uso hotspot dai quando eu vou na casa do cliente e coloco o kit pra ele na hora já faço ele navegar sem eu precisar ir lá na mk e liberar nada.
Mas se não tiver outra alternativa terei que fazer isso,pq eu largo tbm um tempinho trial para testarem a internet,já consegui bastante clientes com isso tbm.
o do sinal.. basta cadastrar o mac "FF:FF:FF:FF:FF:FF" na access list.. e colocar o range do sinal..
Seria uma solucao mas o cliente com sinal ruim vai ficar totalmente sem acesso, talvez se tivesse (deve ter) de pesquisar o sinal na registration sem desativar ele por completo, sendo assim, poderia até colocar ele em uma lista em que exibe um aviso do hotspot indicando que o sinal dele está ruim, ou até mesmo mandar um e-mail pro administrador com o ip e mac de quem está com sinal ruim pra que seja verificado....
Bom dia, aonde eu encontro material sobre como escrever scripts para mikrotik? esse script do ack timeout fincionou a contento mas eu queria um que escrevesse no log apenas quando encontrasse ack timeout acima do definido, este fica enchendo o log de besteiras como parabéns ...
EDIT:
Editando o script para só escrever no log se encontrar alguem com ack acima do estipulado basta deletar o que esta marcado em vermelho?
# Defina abaixo o valor mínimo de ACK
:global ack 30;
# Defina abaixo 1 para bloquear e 0 para não bloquear o cliente que estiver acima do valor mínimo
:global block 0;
# Defina abaixo 1 para dropar e 0 para não dropar o cliente que estiver acima do valor mínimo
:global drop 1;
# Defina abaixo a Interface
:global interf "wlan1";
# =============================================================================
# ATENÇÃO ! SO FAÇA ALTERAÇÕES ABAIXO, SE TIVER CERTEZA DO QUE ESTA FAZENDO
# =============================================================================
:global total 0;
:global mac "";
:global cliente "";
:log info "Listando Clientes com ACK acima de $ack ms:";
:foreach i in=[/interface wireless registration-table find interface=$interf] do={
:if ([/interface wireless registration-table get $i ack-timeout] > $ack) do={
:log info ("COMENTARIO: " . [/interface wireless registration-table get $i comment] . " - MAC: " . [/interface wireless registration-table get $i mac-address] . " - ACK: " . [/interface wireless registration-table get $i ack-timeout]);
:set mac [/interface wireless registration-table get $i mac-address];
:set cliente [/interface wireless access-list find mac-address=$mac];
:if ($block = 1) do={
/interface wireless access-list disable $cliente;
};
:if ($drop = 1) do={
/interface wireless registration-table remove $i;
};
:set total total+1;
};
};
:if ($total = 0) do={
:log info "Parabéns ! Nenhum Cliente com ACK acima de $ack ms encontrado.";
};
Agradecido.
Última edição por numlock; 04-12-2008 às 23:46.
Nao consegui fazer funcionar na versao 3.17. Tem alguma modificacao pra fazer no script??