WonderShaper: una eina per limitar l'amplada de banda de la xarxa a Linux


Wondershaper és un petit script bash que us permet limitar l'ample de banda de la xarxa a Linux. Utilitza el programa de línia d'ordres tc com a backend per configurar el control del trànsit. És una eina útil per controlar l'ample de banda en un servidor Linux.

Us permet establir la velocitat màxima de descàrrega i/o la taxa de càrrega màxima. A més, també us permet esborrar els límits que heu establert i pot mostrar l'estat actual d'una interfície des de la línia d'ordres. En lloc d'utilitzar les opcions CLI, podeu executar-lo de manera persistent com a servei a systemd.

En aquest article, mostrarem com instal·lar i utilitzar Wondershaper per limitar l'amplada de banda de xarxa en sistemes Linux.

Com instal·lar Wondershaper en sistemes Linux

Primer, comenceu instal·lant wondershaper utilitzant el vostre gestor de paquets de distribució de Linux dels repertoris predeterminats, tal com es mostra.

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

Alternativament, per extreure i instal·lar les últimes actualitzacions, heu de clonar el dipòsit GitHub de wondershaper al vostre sistema, anar al dipòsit local i instal·lar-lo mitjançant les ordres següents. Tingueu en compte que hauríeu de tenir instal·lada l'eina de línia d'ordres git:

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

Abans de començar a utilitzar wondershaper, primer hauríeu de comprovar totes les interfícies de xarxa connectades a la vostra màquina mitjançant l'ordre ip.

Això us ajudarà a conèixer la interfície en què voleu donar forma a l'ús de l'ample de banda, per exemple, la interfície sense fil wlp1s0 que està activa.

$ ifconfig 
OR
$ ip addr

Com utilitzar Wondershaper per limitar l'amplada de banda de la xarxa a Linux

Per definir la velocitat de descàrrega màxima en Kbps per a una interfície, executeu l'ordre següent mitjançant l'opció -a (defineix la interfície) i -d (defineix Kbps), és a dir, la velocitat de descàrrega s'establirà en 4 Mbps.

$ wondershaper -a wlp1s0 -d 4048

Per establir la velocitat de càrrega màxima en Kbps per a una interfície, utilitzeu l'opció -u de la següent manera.

$ wondershaper -a wlp1s0 -u 1048

També podeu configurar la baixada i la càrrega alhora amb una sola ordre, per exemple.

$ wondershaper -a wlp1s0 -d 4048 -u 1048

L'opció -s us permet veure l'estat actual d'una interfície.

$ wondershaper -sa wlp1s0 

També podeu utilitzar iPerf, eina de rendiment de xarxa per provar la reducció de l'ample de banda mitjançant Wondershaper, per exemple.

Podeu esborrar els límits de baixada o càrrega que hàgiu establert per a una interfície utilitzant la marca -c.

$ wondershaper -ca wlp1s0

També és possible executar wondershaper com a servei, on es defineixen els paràmetres per configurar l'amplada de banda en un fitxer de configuració. Això permet que Wondershaper s'iniciï en el moment de l'arrencada i limiti l'ús d'ample de banda en tot moment, quan el sistema està encès, tal com s'explica a la secció següent.

Com executar Wondershaper de manera persistent sota Systemd

En aquest mode, heu de configurar la interfície, les taxes de càrrega i descàrrega al fitxer de configuració de wondershaper situat a /etc/conf.d/wondershaper. Podeu obrir aquest fitxer per editar-lo amb el vostre editor CLI favorit, tal com es mostra.

$ sudo vim /etc/conf.d/wondershaper 

Definiu els paràmetres necessaris de la següent manera.

[wondershaper]
# Adapter
IFACE="wlp1s0"

# Download rate in Kbps
DSPEED="4048"

# Upload rate in Kbps
USPEED="512"

Deseu el fitxer i tanqueu-lo.

A continuació, inicieu el servei wondershaper mentrestant, activeu-lo per iniciar-se automàticament a l'arrencada del sistema i visualitzeu el seu estat mitjançant l'ordre systemctl.

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

En cas que altereu els valors dels paràmetres del fitxer de configuració, haureu de reiniciar el wonderservice perquè els canvis s'efectuïn.

$ sudo systemctl restart wondershaper

Per aturar el servei wondershaper, utilitzeu l'ordre següent.

$ sudo systemctl stop wondershaper

Per obtenir més ajuda, consulteu el dipòsit de Wondershaper Github: https://github.com/magnific0/wondershaper

Wondershaper és un modelador de trànsit per limitar l'amplada de banda de la xarxa en sistemes Linux. Prova-ho i comparteix els teus pensaments amb nosaltres mitjançant el formulari de comentaris que hi ha a continuació. Si coneixeu alguna eina similar, també ens podeu mencionar als comentaris; us agrairem.