You are on page 1of 7

MANEJO DE TRÁFICO PARA YOUTUBE

BLOQUEAR O LIMITAR CONEXIONES

QUE ES YOUTUBE? Y SU PROBLEMÁTICA:


“YouTube es un sitio web en el cual los usuarios pueden subir y compartir vídeos.
Aloja una variedad de clips de películas, programas de televisión y vídeos musicales,
así como contenidos amateur como videoblogs.” Ref: Wikipedia.com

Está página es uno de los principales sitios para encontrar videos de cualquier tema,
hay una infinidad de contenido compartido que crece inimaginablemente cada día
por el hecho de ser gratuito y que cualquier persona puede subir material.

Esto ha convertido a Youtube.com en un dolor de cabeza para los administradores


de red y de IT de organizaciones, instituciones o de empresas privadas o públicas.
Los usuarios acceden para escuchar música mientras trabajan, en tiempo libre para
ver videos de bromas o chistes, para encontrar alguna ayuda de un proyecto
académico o investigación. El problema no es que las personas accedan al sitio sino
es que esta consume bastante ancho de banda y que afecta otros servicios que
necesitan tener disposición de los recursos de red o de internet.

La tendencia actual en calidad de vídeo y disponibilidad de equipos de alta definición


interfiere en la cantidad de datos necesarios para la reproducción de un vídeo. Si
bien es cierto que el reproductor embedido de Youtube permite ajustar la calidad
de la visualización, ningún usuario lo cambia o hasta incluso desconocen cómo
hacerlo para así ahorrar datos para otros servicios, ya que la configuración por
defecto es reproducir con la resolución más alta según la disponibilidad del ancho
de banda de internet.

La solución que adoptan los administradores de la red es deshabilitar


completamente el acceso a Youtube.com esto debido a que la página requiere
conexión https la cual está encriptada y no se puede “cachear”. Pero gracias a la
calidad y funcionalidad de RouterOS Mikrotik podemos controlar cuánto ancho de
banda brindarle a Youtube y así forzarlo a reproducir los vídeos con la calidad
adecuada y que no consuma más de lo debido.

A continuación mostraremos cómo bloquear la página y también cómo modular el


tráfico de sus vídeos.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 1
- CONSIDERACIONES INICIALES:

Inicialmente, para los dos procedimientos, debemos indicarle a nuestro router


Mikrotik que identifique el tráfico generado por Youtube y por sus vídeos.

Esto lo realizamos por medio de la función del Firewall, Protocolo Layer 7. Para esto
debemos introducir una “expresión regular” y así buscará en todo el tráfico el patrón
que le asignemos. La capa 7 del modelo OSI se encuentra la capa de aplicación, en
esta capa interactúan los programas con los que visualizamos u obtenemos la
información. Por ejemplo, un navegador de internet (Firefox, Chrome, etc.) utiliza
muchos protocolos, por ejemplo http, https, dns, ftp, etc. Es ahí donde el tráfico se
puede identificar.

El primer paso será entonces crear una nueva regla en IP -> Firewall -> Layer7
Protocol. Introducimos el nombre de la regla Youtube y en el campo “Regex” lo
siguiente:
^.+(youtube).+$
Con esto podemos controlar el tráfico que indique “youtube”. Pero también
debemos encontrar los paquetes que se generan al reproducir un vídeo, los archivos
se alojan en el subdominio “googlevideo.com”. Igualmente al procedimiento
anterior vamos hacer para los vídeos. Agregamos una nueva regla en “Layer7
Protocol” llamada Googlevideo y en el campo “Regex” lo siguiente:
^.+(googlevideo).+$

Para aprender más sobre las expresiones regulares, visitar el sitio:


http://perldoc.perl.org/perlre.html

Una vez que tengamos identificado el tráfico de debemos “marcarlo” para tener
potestad sobre él.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 2
Cuando se ingresa a Youtube, ya sea por medio del navegador web o desde algún
dispositivo móvil mediante la aplicación como tal, se realiza una consulta DNS para
encontrar los servidores de Youtube, como se hace normalmente con cualquier
página o servicio, y luego se hace una conexión con sus servidores. Debemos
aprovechar esto para marcar dicha conexión que se establece entre nuestro
dispositivo y el servidor de Youtube. Acá la captura de tráfico con sólo abrir la página
en un navegador, una solicitud DNS y su conexión posterior:

Para marcar esta conexión vamos a IP -> Firewall -> pestaña Mangle. Hacemos una
nueva regla, en la pestaña “General”, el campo Chain queda en “Prerouting”, en la
pestaña Advanced vamos a seleccionar en el campo Layer7-Protocol, “Youtube” y en
Action lo pondremos “Mark-connection” y luego en Connection name pondremos
“Youtube Conn”, damos clic en el botón OK.
Hacemos este procedimiento nuevamente pero con la regla de Layer7 de
“Googlevideo” y en el nombre de conexión pondremos igual “Youtube Conn”.
Ahora haremos otra regla de marcación, igualmente en la sección “Mangle”, pero
esta vez será de paquetes. En la pestaña “General”, el campo Chain queda en
“Prerouting” y ahí mismo vemos el campo que se llama Connection Mark, ahí
seleccionamos la marcación que hicimos anteriormente, “Youtube Conn”, luego en
la pestaña “Action”, pondremos en la Acción, “Mark Packet” y le pondremos el
nombre “Youtube”.

Ahora tenemos todos los paquetes de Youtube marcados, incluso los que van por el
puerto https (443) y así los podremos manejar.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 3
- BLOQUEO DE YOUTUBE:

Simplemente crearemos una regla en IP -> Firewall -> Filter Rules.


Pulsamos en el + para hacer una regla nueva y en la pestaña “General”, en el campo
Chain lo dejamos en “Forward”, ahí mismo en el campo Connection Mark debemos
seleccionar la marca de conexiones de Youtube que habíamos llamado “Youtube
Conn” y finalmente en la pestaña “Action” pondremos de Acción, “Drop”.

Así rechazaremos todo tráfico que tenga esa marca y nunca llegara a su destino.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 4
- MANEJO DEL ANCHO DE BANDA PARA YOUTUBE:

Como ya tenemos marcados los paquetes que pertenecen a las conexiones de


Youtube y a los servidores de videos Googlevideo podemos limitar el ancho de banda
que utilizan y así evitar el consumo excesivo de recursos.

Para limitar la utilización de internet se utilizan los Queues, a continuación los pasos
a seguir:

Vamos a la sección Queues -> Queue Tree y creamos una nueva regla. En el nombre
colocamos “Youtube”, luego el campo Parent los dejamos en “global”, después en
Packet Marks debemos seleccionar los paquetes que marcamos de las conexiones
que se llama “Youtube”, posteriormente en el campo Queue Type debemos escoger
la opción “PCQ-Download-Default”. Ahora los ajustes para limitar el ancho de banda.
El campo Limit-At es para “reservar” un ancho de banda cuando todos los recursos
están siendo utilizados, por ejemplo, tenemos una conexión a internet de 5 Megas
y están siendo consumidos todos los 5 Megas, pero si esta casilla Limit-At tiene
indicado 2 Megas, reducirá el consumo de todo lo demás para darle a esa conexión
los 2 Megas; para nuestra configuración no es necesario indicar un limitante de este
tipo porque Youtube no es un servicio crítico. En la casilla Max-Limit es donde
ponemos el límite que deseamos, hasta que velocidad deseamos que llegue
Youtube, aquí es donde tendremos el gusto de controlar la calidad de la visualización
de los videos en Youtube. Si queremos que un video se visualice según la calidad
podemos usar esta tabla:
Calidad Velocidad
1080p 3M
720p 1500k
480p 1M
360p 750k
240p 500k
144p 250k
Para los demás valores, se dejan como están por defecto. Si se desea se puede
configurar el modificador Burst, para dar una ráfaga de velocidad adicional, pero
para nuestro efecto no es necesario.

Como sabemos, el visualizador de Youtube utilizará la mejor calidad de video posible


y consumirá la velocidad sin restricción, pero con esta regla ya podemos indicarle
cuanto consumo puede tener y así restringir la calidad de los vídeos.

Si queremos que un video apenas pueda ser visto y escuchado, le ponemos que
utilice 250kbps y así no afectará los demás servicios que necesitan ancho de banda.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 5
Esta configuración afecta a TODOS en la red, si se quisiera hacer por usuario se
tendría que marcar los paquetes con la dirección IP de origen del cliente al que le
pondremos la limitación. Si ya se cuenta con limitaciones de ancho de banda para
los usuarios, en la marcación de paquetes se debe excluir la marca de los paquetes
de Youtube para que no sean tomados en cuenta y la regla de Youtube funcione en
los Queues o se tendría que hacer una marcación de paquetes distinta.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 6
Para finalizar, a continuación se encuentra los script para que se pueda copiar y
pegar, pero no lo recomiendo pues todos los routers tienen configuraciones distintas
y los valores pueden variar.

- Bloqueo completo a Youtube:


/ip firewall layer7-protocol
add name=Youtube regexp="^.+(youtube).+\$"
add name=Googlevideo regexp="^.+(googlevideo).+\$"

/ip firewall mangle


add action=mark-connection chain=prerouting layer7-protocol=Youtube new-connection-mark="Youtube Conn"
passthrough=yes
add action=mark-connection chain=prerouting layer7-protocol=Googlevideo new-connection-mark="Youtube Conn"
passthrough=yes
add action=mark-packet chain=prerouting connection-mark="Youtube Conn" new-packet-mark=Youtube
passthrough=yes

/ip firewall filter


add action=drop chain=forward connection-mark="Youtube Conn"

- Manejo Youtube a 480p:


/ip firewall layer7-protocol
add name=Youtube regexp="^.+(youtube).+\$"
add name=Googlevideo regexp="^.+(googlevideo).+\$"

/ip firewall mangle


add action=mark-connection chain=prerouting layer7-protocol=Youtube new-connection-mark="Youtube Conn"
passthrough=yes
add action=mark-connection chain=prerouting layer7-protocol=Googlevideo new-connection-mark="Youtube Conn"
passthrough=yes
add action=mark-packet chain=prerouting connection-mark="Youtube Conn" new-packet-mark=Youtube
passthrough=yes

/queue tree
add max-limit=1M name=Youtube packet-mark=Youtube parent=global queue=pcq-download-default

Cualquier consulta adicional, puede contactarme por medio de correo. Espero que
esta guía le sirva a alguien que necesite hacer este procedimiento en una red,
también para demostrar que los dispositivos Mikrotik son los mejores.

Saludos desde San José, Costa Rica.

Steven Vega Ramírez – MTCTCE, MTCRE San José, Costa Rica


stevenvegar@gmail.com Setiembre, 2016 7

You might also like