Bloquear / Limitar
En las 3 versiones anteriores de este script podiamos «bloquear» un dispositivo movil tanto por DHCP como en el firewall del Bridge (capa 2) y en firewall capa 3.
Tal vez te interesen los scripts anteriores:
Version 1: Filtrar en Bridge Filter
Version 2: Filtrar en Firewall Filter
Version 3: Filtrar con DHCP Block
Ahora con una mínima modificación podemos controlarles el ancho de banda a cada uno de ellos. En este caso el script permite setear el RATE-LIMIT en una variable para todos los dispositivos.
########## INICIO DEL SCRIPT
:local DHCPSERVER "dhcp1";
:local LIMITE "256k";
# # www.tech-nico.com
:foreach i in=[/ip dhcp-server lease find active-server=$DHCPSERVER] do={
log warning "Hola";
:local DhcpDynMAC [/ip dhcp-server lease get $i mac-address];
:local DhcpDynCLIENTID [/ip dhcp-server lease get $i active-client-id];
:local DhcpDynHOST [/ip dhcp-server lease get $i host-name];
:local phoneNAME [:pick $DhcpDynHOST 0 4];
:if ( ($phoneNAME="BLUS") || ($phoneNAME="iPad") || ($phoneNAME="andr") || ($phoneNAME="Andr") || ($phoneNAME="Wind") || ($phoneNAME="iPho") || ($phoneNAME="BLAC") ) do={
/ip dhcp-server lease set $i block-access=no rate-limit="$LIMITE" insert-queue-before=first mac-address="$DhcpDynMAC" use-src-mac=yes comment="$DhcpDynHOST" server="$DHCPSERVER" client-id="$DhcpDynCLIENTID";
}
}
############## FIN DEL SCRIPT
La forma de limitar del script (sincronizando con queues) es como lo hacen algunos servidores radius.
El script recorre la lista de Leases DHCP y busca los dispositivos que comienzan con Host_name «iPad», «andr», etc. Luego lo edita, agregandole el limite de velocidad. Esto instantaneamente agrega un Queue dinamico en la lista de queues, controlando asi en el acto a cada Lease. Si el lease caduca, el queue se elimina solo, y si el lease por alguna razon renueva con otra direccion IP, tambien lo hace el queue de manera sincronizada. Es tal y como lo manejan los Servidores Radius.
Espero que lo disfruten de estas utilidades tan sencillas pero al mismo tiempo tan brillantes.
A pedido de Leonardo Jung. (excelente idea).
Saludos.
