En determinadas ocasiones necesitamos restringir el ancho de banda, la velocidad de download y upload que un ordenador tendrá en una interfaz de red.
Supongamos que tenemos un servidor cuya interfaz principal (eth0 por ejemplo) necesitamos que tenga una velocidad limitada, ¿por qué? … pues por lo que sea, nunca subestimemos lo que un Boss puede pensar y pedirle al equipo de IT jeje.
En este caso podemos usar varias aplicaciones para esto, hoy les hablaré de: wondershaper
Índice
Instalación de WonderShaper
En distros como Debian, Ubuntu o derivados, basta con:
sudo apt-get install wondershaper
En ArchLinux necesitamos sacarlo de AUR:
yaourt -S wondershaper-git
Usando WonderShaper
Para hacer que funcione es simple, debemos pasarle como primer parámetro la interfaz de red que deseamos sea limitada, luego le pasamos la velocidad máxima de descarga y de tercero (y último) la de subida.
La sintaxis es:
sudo wondershaper <interfaz> <download> <upload>
Más o menos así:
sudo wondershaper eth0 1000 200
Esto significa que tendré un ancho de banda de 1000kb para descarga, y solo 200kb para subida.
En ArchLinux es importante tener en cuenta que esta línea, no funcionará, pues en ArchLinux debimos instalar otro paquete. Aquí sería:
sudo wondershaper -a <interfaz> -d <download> -u <upload>
O sea, un ejemplo es:
sudo wondershaper -a enp9s0 -d 1000 -u 200
¿Cómo revierto los cambios y recupero mi ancho de banda original?
Para revertir los cambios, o sea limpiar lo que hicimos, basta con:
sudo wondershaper clear <interfaz>
Por ejemplo:
sudo wondershaper clear eth0
Mientras que en ArchLinux sería:
sudo wondershaper -c -a <interfaz>
Fin!
Bueno no hay mucho más que agregar. Pueden leer el manual de la aplicación mediante:
man wondershaper
Espero les resulte interesante 😉
24 comentarios, deja el tuyo
Consulta, siempre he tenido la misma confusion. 200kb y 1000kb seria 100k de descarga y 20k de upload no?
¿A qué te referís con ‘k’?
1000kb de descarga equivaldrían a 1mb, mientras que los 200kb equivaldrían a 200kb de subida.
Federico:
La velocidad de transferencia no se mide en kilo/megabytes sino ‘kilo/megabits’.
Google tiene una calculadora práctica para esas conversiones que en Chrome funciona desde la misma Omnibar, por ejemplo: 10 megabytes to kilobytes.
La relación es 1kb = 8000 bits
Wikipedia: http://en.wikipedia.org/wiki/Kilobit
Esta muy bueno ese tip, como hago cuando por ejemplo en la universidad hay más de 500 alumnos conectados a WiFi sin contar moviles y tablets, wondershaper tendrá soporte o tendré que usar algun hardware?
Pero qué es necesitas hacer en realidad, porque no te entendí.
Creo que se refiere a limitar a los estudiantes conectados, pero el programa indicado sólo limita la interfaz del equipo en concreto, la velocidad del internet seguirá siendo la misma para los demás.
Bueno para eso con Squid y Delay Pools bastaría no?
KZKG^Gaara, ¿te refieres a este post (este mismo articulo me hizo recordarlo mientras lo leía)?
Lo que necesitas para hacer eso son equipos Mikrotik
A mi nunca me ha funcionado 🙁
O talvez no entendí bien.
El hacer esto: sudo wondershaper eth0 1000 200
¿Se traduce como limitar la velocidad de internet por cable de red a 1000 kb/s (kilobyte por segundo) de bajada y 200 kb/s (kilobyte por segundo) de subida?
¿O sería 1000 kilobits de bajada y 200 kilobits de subida?
Me ha sido muy útil. Muchas gracias.
Gracias a tí por comentar 😉
Que dice Sr.!
Trickle parece funcionar, inclusive después de abortar el proceso la descarga de prueba nunca superó el límite configurado; a wondershaper no lo probé.
Entorno de prueba:
OS: Fedora 21 al día
Trickle: version 1.07
Chrome: Version 40.0.2214.115 unknown (64-bit)
Nombre de los procesos (top): chrome
Comando CLI: # trickle -d 200 /opt/google/chrome/chrome
Les dejo una comparación interesante: http://www.ubuntugeek.com/use-bandwidth-shapers-wondershaper-or-trickle-to-limit-internet-connection-speed.html
Saludos!
Yo uso ‘trickle’, cuando tenga un rato pruebo wondershaper para compararlos 🙂
Una distinción rápida que se me pasó comentar es que trickle puede correr en primer plano por lo que para parar el shaping de la red basta con C-c
De ese pienso hablar en estos días, ¿haz logrado que funcione con Chromium o Firefox?
una pregunta, sirve también para limitar interfaces de red virtuales por separado como :
wlan0:0
wlan0:1
No he probado con eso.
Excelente herramienta!
Muy interesante!!
Cómo puedo hacer para limitar el ancho de banda no solo al este equipo, sino a los equipos que se conectan a Internet a traves de el? Me gustaría hacerlo asignando ancho de banda por IP. ES posible??
Se puede hacer con Squid, el servidor proxy por excelencia. Veo que eres de mi mismo país, en GUTL tenemos lista de correo y foro, pregunta por allá si tienes problemas con internet. Con Squid y Delay Pools se hace.
Si, la uso, pero no he recibido respuesta de como hacerlo. tengo algo ehcjo con TC y HTB, pero uso las 2 interfaces de red y quiero usar solo la que tengo de cara a Internet. Gracias!!
Genial !!Buscaba desde hace mucho tiempo una solucion rapida y facil por que solo lo quiero para el hogar ,y el squid se me hace demasiado para solo dos o tres host!
Súper, justo lo que estaba buscando, mil gracias