WonderShaper - Una herramienta para limitar el ancho de banda de red en Linux


Wondershaper es un pequeño script de bash que te permite limitar el ancho de banda de la red en Linux. Emplea el programa de línea comando tc como el servidor para configurar el control de tráfico. Es una herramienta útil para controlar el ancho de banda en un servidor Linux.

Le permite establecer la velocidad de descarga máxima y/o la velocidad de carga máxima. Además, también le permite borrar los límites que ha establecido y puede mostrar el estado actual de una interfaz desde la línea de comandos. En lugar de utilizar las opciones de CLI, puede ejecutarlo de manera persistente como un servicio en systemd

En este artículo, mostraremos cómo instalar y usar wondershaper para limitar el ancho de banda de la red en sistemas Linux.

Cómo instalar Wondershaper en sistemas Linux

Primero, comience por instalar wondershaper usando su administrador de paquetes de distribución de Linux de los repertorios predeterminados como se muestra.

$ sudo apt install wondershaper  [On Debian/Ubuntu]
$ sudo yum install wondershaper  [On CentOS/RHEL]
$ sudo dnf install wondershaper  [On Fedora 22+]

Como alternativa, para extraer e instalar las últimas actualizaciones, debe clonar el repositorio de GitHub de wondershaper en su sistema, moverse al repositorio local e instalarlo con los siguientes comandos. Tenga en cuenta que debe tener instalada la herramienta de línea de comandos git:

$ cd bin
$ git clone https://github.com/magnific0/wondershaper.git
$ cd wondershaper
$ sudo make install

Antes de comenzar a utilizar wondershaper , primero debe comprobar todas las interfaces de red conectadas a su máquina mediante el comando ifconfig o ip.

Esto le ayudará a conocer la interfaz en la que desea configurar el uso del ancho de banda, por ejemplo, la interfaz inalámbrica wlp1s0 que está activa.

$ ifconfig 
OR
$ ip addr

Cómo usar Wondershaper para limitar el ancho de banda de red en Linux

Para definir la velocidad de descarga máxima en Kbps para una interfaz, ejecute el siguiente comando con la opción -a (define la interfaz) y -d ( define Kbps), es decir, la velocidad de descarga se establecerá en 4Mbps .

$ wondershaper -a wlp1s0 -d 4048

Para establecer la velocidad de carga máxima en Kbps para una interfaz, use la opción -u de la siguiente manera.

$ wondershaper -a wlp1s0 -u 1048

También puede configurar la descarga y la carga a la vez con un solo comando, por ejemplo.

$ wondershaper -a wlp1s0 -d 4048 -u 1048

La opción -s le permite ver el estado actual de una interfaz.

$ wondershaper -sa wlp1s0 

También puede usar iPerf - herramienta de rendimiento de red para probar la reducción del ancho de banda mediante wondershaper , por ejemplo.

Puede borrar los límites de descarga o carga que ha establecido para una interfaz utilizando el indicador -c .

$ wondershaper -ca wlp1s0

También es posible ejecutar wondershaper como un servicio, donde se definen los parámetros para configurar el ancho de banda en un archivo de configuración. Esto permite que wondershaper se inicie en el momento del arranque y limite el uso del ancho de banda en todo momento, cuando el sistema está encendido, como se explica en la siguiente sección.

Cómo ejecutar Wondershaper persistentemente bajo Systemd

Bajo este modo, debe configurar las tasas de interfaz, carga y descarga en el archivo de configuración de wondershaper ubicado en /etc/conf.d/wondershaper . Puede abrir este archivo para editarlo usando su editor de CLI favorito como se muestra.

$ sudo vim /etc/conf.d/wondershaper 

Defina los parámetros necesarios de la siguiente manera.

[wondershaper]
# Adapter
IFACE="wlp1s0"

# Download rate in Kbps
DSPEED="4048"

# Upload rate in Kbps
USPEED="512"

Guarde el archivo y ciérrelo.

A continuación, inicie el servicio wondershaper mientras tanto, habilítelo para que se inicie automáticamente en el inicio del sistema y vea su estado, utilizando el comando systemctl .

$ sudo systemctl start wondershaper
$ sudo systemctl enable wondershaper
$ sudo systemctl status wondershaper

En caso de que modifique los valores de los parámetros en el archivo de configuración, deberá reiniciar wonderservice para que se realicen los cambios.

$ sudo systemctl restart wondershaper

Para detener el servicio wondershaper, use el siguiente comando.

$ sudo systemctl stop wondershaper

Para obtener más ayuda, consulte el repositorio de Withershaper Github: https://github.com/magnific0/wondershaper

Wondershaper es un modelador de tráfico para limitar el ancho de banda de la red en sistemas Linux. Pruébelo y comparta sus opiniones con nosotros a través del formulario de comentarios a continuación. Si conoce alguna herramienta similar, también puede mencionarnos en los comentarios, le estaremos muy agradecidos.