Bloqueo de Smarthphone con Mikrotik

Los Smarthphone son todo un tema a la hora de configurar nuestra red. Muchas veces vemos la necesidad de hacer un bloqueo de smarthphone con mikrotik o con cualquier otro router, pero ya que estamos con mikrotik lo vamos  a hacer con un script el cual paso a explicar.

Uno puede ver que a nuestra red se conectaron “ciertos equipos” mediante el dhcp server.

Generalmente conocemos las maquinas que están en nuestra red, y de no ser asi siempre podemos ver por donde están navegando como para identificar el trafico.

Para el caso de los smarthphone en nuestro dhcp server van a aparecer, dentro de la sección active host name los nombres de los equipos (los cuales las personas en un 95% de las veces no cambian) los cuales siempre son similares a:

android-8d0a00d6eddf778

Android-8d0a00d6eddf663

Windows-Phone

BLACKBERRY-8A8D

Nombre en blanco

Por otra parte nuestro script debe tener el parametro del “nombre” del dhcpserver para el cual será utilizado debido a que en nuestra red podremos tener más de uno y además podremos utilizarlo para un bridge tranquilamente:

# # DEFINIR VARIABLES
:local DHCPSERVER "NOMBRE_del_DhcpServer";
:local BRIDGEFILTER "Nombre_del_bridge";
:foreach i in=[/ip dhcp-server lease find dynamic=yes active-server=$DHCPSERVERdo={
   :local DhcpDynIP [/ip dhcp-server lease get $i address];
   :local DhcpDynMAC [/ip dhcp-server lease get $i mac-address];
   :local DhcpDynHOST [/ip dhcp-server lease get $i host-name];
   :local IfMacExist [/interface bridge filter find src-mac-address="$DhcpDynMAC/FF:FF:FF:FF:FF:FF"];
   :local phoneNAME [:pick $DhcpDynHOST 0 6];
    :if ( ($phoneNAME="androi") || ($phoneNAME="Window") || ($phoneNAME="Androi")  || ($phoneNAME="BLACKB") || ([:len $DhcpDynHOST]=0) ) do={
          :if ($IfMacExist != "") do={
#               :log error ("Filtrando telefono... ".$DhcpDynMAC. " Ya existe")
          } else= {
               /interface bridge filter add action=drop chain=input in-bridge=$BRIDGEFILTER src-mac-address="$DhcpDynMAC/FF:FF:FF:FF:FF:FF" comment=$DhcpDynHOST;
                 :log warning ("Se filtro un nuevo dispositivo " . $phoneNAME . " MAC: " $DhcpDynMAC);
          }
     }
}

 

El script recoje los mac-adddress de este listado (leases), y si coinciden con alguno de los nombres que dijimos, se filtra automáticamente sin retorno.
Y digo sin retorno porque si ya lo filtro, por mas que cambie el hostname YA ESTA!!!.
Lo bueno de este script es que estamos filtrando por MAC-Address en el Bridge, cosa que resulta MUY Efectiva.

La linea que dice:

Esta tomando los primeros 6 caracteres del hostname. Entonces podríamos seguir agregando nombres de dispositivos seteados de fabrica con un nombre por default. Ejemplo: “Iphone”   —  justo 6

Como ya dijimos es muy poco probable que cambien el nombre de fabrica.

El scrip lo podemos setear en el Scheduler cada 10 minutos, Cosa que por mas que el “Lease dhcp” quede activo, ese dispositivo ya no navega. Lo que pueden hacer es setear los Leases del DHCP en 10 minutos (menos tiempo), o bien agregarle al script que tambien patee el lease. Pero ya no es necesario… cuando caduca su tiempo, ya no vuelve a aparecer mas.

 

 

 

  2 comments for “Bloqueo de Smarthphone con Mikrotik

  1. BERNARDO VALDIVIESO
    21 Diciembre, 2016 at 10:33 pm

    HOLA,
    SE PUEDE HACER ESTO DIRECTAMENTE EN EL WINBOX ????

    • Luis Zambrana
      24 Diciembre, 2016 at 12:19 pm

      Recuerda que el winbox es un medio de acceso al mikrotik, por lo tanto con el winbox y su interfaz grafica vas a entrar al mikrotik y obviamente lo podes hacer. si no te das cuenta como me avisas, la idea es tirar linea por linea en la terminal.
      Abrazo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *