En muchas ocasiones he tenido que controlar mediante QoS algunas cuestiones como las actualizaciones de windows, o las redes sociales, y en otros casos filtra Whatsapp.
OpenDNS de Cisco permite mediante un dashboard poder ir tildando y destildando contenidos a filtrar.
Anda bien pero no te deja discriminar. Por ejemplo filtra «Redes Sociales» pero el termino es muy grande y termina cometiendo errores. Si tildas por ejemplo «File Sharing» los audios de Whatsapp no se envian.
Entonces para evitar este tipo de problemas lo que hacemos es armar nuestro script que marque por nombre de dominio.
Te deja utilizar los filtros de manera gratuita para 1 direccion IP por cuenta. Es decir que para 1 red nateada andaria bien. Tiene para tildar por defecto redes bogon, sitios que propagan malware, pornografia, etc.
OpenDNS
El script
Para que funcione correctamente tenemos que habilitar el cache de DNS de nuestro router y hacer resolver a nuestos clientes con los DNS del router. Luego siempre dropear el DNS input en el firewall para que no nos ataquen los DNS desde afuera.
Lo que hace el script es buscar una palabra que coincida en el nombre del dominio.
# Use DNS Entrys and add Address to the Firewall Address-list #
:foreach i in=[/ip dns cache all find where ( (name~"instagram") || (name~"facebook") || (name~"twitter") || (name~"twitch") ) && (type="A") && (data!=0.0.0.0) ] do={
:local tmpAddress [/ip dns cache get $i data];
delay delay-time=10ms;
# prevent script from using all cpu time #
:if ( [/ip firewall address-list find where address=$tmpAddress] = "") do={
:local cacheName [/ip dns cache get $i name] ;
#:log info ("added entry: $cacheName $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=RedesSociales comment=$cacheName timeout=6d;
}
}
Si se fijan donde dice:
(name~»instagram«) || (name~»facebook«) || (name~»twitter«) || (name~»twitch«)
Modificamos a nuestro antojo.
Y mas abajo le damos el nombre al Address-List:
/ip firewall address-list add address=$tmpAddress list=RedesSociales comment=$cacheName timeout=6d;
Tambien pueden modificar el timeout: Todas las direcciones nuevas que resuelva las va agregando al AddressList (en este caso las mantiene por 6 dias), esto hace que tengamos un segundo cache que se vaya limpiando cada 6 dias y las direcciones IP viejas se vayan eliminando automaticamente.
Luego solo nos queda hacer algo con ese address list. Podemso dropearlo en el firewall.
O bien crear un mangle que marque la conexion con destino a esas IP y luego usarlo en Queues.
Por ejemplo:
/ip firewall filter
add action=drop chain=forward dst-address-list=RedesSociales in-interface=bridge_alumnos
add action=drop chain=output dst-address-list=RedesSociales out-interface=bridge_alumnos
Ojo que en mi caso ademas le digo en que interfaz eliminar las redes sociales. Elijan la interfaz para su caso.
origen: tech-nico.com