Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. Para quem utiliza PPPoE use o script abaixo, pois quando o cliente está apenas enlaçado não há trocas de pacotes necessários para calcular o CCQ e assim alguns terão seu MAC bloqueado sem motivo válido...

    Código :
    # ====================================================
    #  CCQ Script 1.1 - Public Release (RouterOS 3.x/4.x)
    #  
    #      Victor G. Volpe (victor@grupototal.com.br)
    # ====================================================
     
    # Interface monitorada
    :local if "AP-Master";
    # Porcentagem mínima de CCQ
    :local ccq 70;
    # Bloquear MAC (1=Ligado/0=Desligado)
    :local block 1;
    # Desbloquear MAC após X segundos (0=Desligado)
    :local unblock 60;
     
    # ======================================================================
    #  ATENÇÃO ! FIM DA CONFIGURAÇÃO. NÃO ALTERE MAIS NADA DAQUI PRA BAIXO.
    # ======================================================================
    :local mac;
    :foreach i in=[/interface wireless registration-table find interface=$if] do={
      :if ([/interface wireless registration-table get $i tx-ccq] < $ccq) do={
        :set mac [/interface wireless registration-table get $i mac-address];
        :if ([/ppp active find caller-id=$mac] != "") do={
          :log warning ("[CCQ Script] Interface: $if - MAC: $mac - Tx CCQ: " . [/interface wireless registration-table get $i tx-ccq] . "% - PPPoE: " . [/ppp active get [/ppp active find caller-id=$mac] name] . "");
          :if ($block = 1) do={
            /interface wireless access-list disable [/interface wireless access-list find mac-address=$mac];
            :if ($unblock > 0) do={
              /system scheduler add name="$mac" interval=$unblock on-event="/interface wireless access-list enable [/interface wireless access-list find mac-address=$mac];/system scheduler remove [/system scheduler find name=\"$mac\"];";
            };
          };
          /ppp active remove [/ppp active find caller-id=$mac];
          /interface wireless registration-table remove $i;
        };
      };
    };
    Atenção ! Este script não funciona com HotSpot, apenas com autenticação PPPoE.

  2. Citação Postado originalmente por youngrp Ver Post
    Olá,

    Como todos devem saber, a qualidade do enlace de dois pontos é medida através do CCQ. Tendo isso como base é possível controlar e isolar os clientes com problema de forma rápida e descomplicada. Script funciona apenas no RouterOS 3.0 e superiores. Não irei fazer para versões antigas (crackeadas), favor não insistir.

    Código :
    # ====================================================
    #  CCQ Script 1.0 - Public Release (RouterOS 3.x/4.x)
    #  
    #      Victor G. Volpe (victor@grupototal.com.br)
    # ====================================================
     
    # Interface monitorada
    :local if "AP-Master";
    # Porcentagem mínima de CCQ
    :local ccq 70;
    # Bloquear MAC (1=Ligado/0=Desligado)
    :local block 1;
    # Desbloquear MAC após X segundos (0=Desligado)
    :local unblock 60;
     
    # ======================================================================
    #  ATENÇÃO ! FIM DA CONFIGURAÇÃO. NÃO ALTERE MAIS NADA DAQUI PRA BAIXO.
    # ======================================================================
    :local mac;
    :foreach i in=[/interface wireless registration-table find interface=$if] do={
      :if ([/interface wireless registration-table get $i tx-ccq] < $ccq) do={
        :log warning ("[CCQ Script] Interface: $if - MAC: " . [/interface wireless registration-table get $i mac-address] . " - Tx CCQ: " . [/interface wireless registration-table get $i tx-ccq] . "%");
        :if ($block = 1) do={
          :set mac [/interface wireless registration-table get $i mac-address];
          /interface wireless access-list disable [/interface wireless access-list find mac-address=$mac];
          :if ($unblock > 0) do={
            /system scheduler add name="$mac" interval=$unblock on-event="/interface wireless access-list enable [/interface wireless access-list find mac-address=$mac];/system scheduler remove [/system scheduler find name=\"$mac\"];";
          };
        };
        /interface wireless registration-table remove $i;
      };
    };
    Para funcionar corretamente você deverá criar um novo cronograma em "System > Scheduler", conforme mostra a figura abaixo:
    http://img585.imageshack.us/img585/7985/sche.png
    Aonde "Interval" é o intervalo em que o script será executado e "On Event" fica o nome do script que você criou em "System > Script".

    Favor manter os créditos caso forem postar em outros fóruns e não se esqueça de agradecer.

    Obrigado.
    Amigo ja vi que deve ser posto na RB, como os colegas falaram, mas uso um RB411AR com cartão onboard (desativado) e um R52H ativo, e tb tenho uma bridge ativa, qual das interfaces devo aplicar no script o cartão ou a bridge?

    * uso dhcp e hotspot

    Abraço e Parabéns pelo script!
    Última edição por mamaunet; 15-05-2011 às 17:16.






Tópicos Similares

  1. Respostas: 11
    Último Post: 08-10-2011, 19:44
  2. Respostas: 12
    Último Post: 29-08-2011, 07:27
  3. Enlace PTP travando com 4 MB de tráfego
    Por Carlos Picioli no fórum Redes
    Respostas: 18
    Último Post: 17-10-2009, 11:04
  4. script perl para copiar ficheiros com determinada data de criação
    Por teixeira1985 no fórum Linguagens de Programação
    Respostas: 0
    Último Post: 18-08-2007, 07:22
  5. Problema com Bloqueio de sites ( HTTPS ) via Proxy / Firewall
    Por Rodolpho Amorim no fórum Servidores de Rede
    Respostas: 10
    Último Post: 17-05-2006, 20:23

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L