Articles

magnific0 / wondershaper

Copyright

Copyright (c) 2002-2020 Bert Hubert [email protected], Jacco Geul [email protected], Simon Séhier [email protected], [email protected]

Voir le ChangeLog pour des informations sur les contributions individuelles des auteurs.

A propos

Wonder Shaper est un script qui permet à l’utilisateur de limiter la bande passante d’un ou plusieurs adaptateurs réseau. Il le fait en utilisant la commande tc d’iproute, mais simplifie grandement son fonctionnement. Wonder Shaper a été publié pour la première fois par Bert Hubert en 2002, mais la version originale ne disposait pas d’une interface de ligne de commande, à partir de la version 1.2, cette fonctionnalité a été ajoutée. À partir de la version 1.3, la mise en file d’attente HTB est utilisée à la place de CBQ, ce qui permet une meilleure gestion de la bande passante sur les liaisons à haut débit (plus de dix mégabits). Dans la version 1.4, une méthode améliorée de mise en forme de l’entrée a été implémentée et la possibilité de limiter soit vers le bas soit vers le haut (les deux sont toujours possibles). Le README original est un document assez long et est sauvegardé sous README.old, pour ceux qui veulent plus d’informations. Sauf toutes les notes sur le fonctionnement, ce document est considéré comme à jour.

Installation

Obtention de wondershaper

Il est recommandé de cloner le dépôt GitHub de wondershaper de sorte que vous pouvez tirer de nouvelles mises à jour à tout moment (si disponible). Ouvrez un nouveau terminal et clonez le dépôt en utilisant

git clone https://github.com/magnific0/wondershaper.git

Cela va cloner wondershaper dans votre dossier actuel dans un nouveau dossier nommé wondershaper. Entrez maintenant dans le dossier en utilisant

cd wondershaper

Using wondershaper

Vous pouvez exécuter wondershaper (en tant que n’importe quel utilisateur avec des permissions suffisantes) sans installation et arrêter de suivre les instructions à ce stade. Montrez les instructions d’utilisation de wondershaper en tapant

./wondershaper -h

Le programme détaille toutes les options disponibles sur la façon d’utiliser wondershaper. Ensuite, il faut choisir une interface que vous voulez façonner. Vous pouvez voir toutes les interfaces disponibles en tapant

ip addr show

Notez que sur les anciens systèmes cette commande peut ne pas être disponible. Dans ce cas, vous devez exécuter ifconfig à la place.

Identifiez l’interface réseau que vous voulez façonner. Les noms diffèrent par système.

Dans l’exemple suivant, une interface sans fil est limitée à un chargement de 4Mbps et à un téléchargement de 8Mbps.

./wondershaper -a wlp4s0 -u 4096 -d 8192

Si vous recevez des messages vous indiquant que RTNETLINK answers: Operation not permittedvotre compte utilisateur ne dispose pas de privilèges suffisants. Dans ce cas, essayez :

sudo ./wondershaper -a wlp4s0 -u 4096 -d 8192

Installation du système (facultatif)

Un fichier makefile fourni pour faciliter l’installation. L’emplacement par défaut de wondershaper est dans /usr/bin. Si vous voulez l’installer sur votre système, vous pouvez exécuter:

sudo make install

Vous pouvez vérifier que wondershaper a été installé correctement en entrant:

which wondershaper

Cela devrait retourner /usr/bin/wondershaper. Vous pouvez suivre les mêmes instructions que celles expliquées dans la section « Utiliser wondershaper », mais au lieu d’exécuter la version locale du programme, vous exécutez maintenant la version système en supprimant le ./ du début de chaque commande. Par exemple, pour montrer à nouveau les instructions d’aide, exécutez :

wondershaper -h

Utilisation persistante de wondershaper (facultatif)

Au lieu d’utiliser les options de la ligne de commande pour définir les taux et l’interface comme indiqué précédemment, il est nécessaire de définir ces paramètres dans le fichier de configuration wondershaper.conf. Vous pouvez éditer ce fichier en utilisant votre éditeur de texte préféré (vim dans l’exemple ci-dessous) comme suit:

sudo vim /etc/systemd/wondershaper.conf

Pour s’assurer que wondershaper est réactivé au redémarrage, un fichier de service systemd est fourni. Tout d’abord, activez wondershaper comme un service systemd en utilisant:

sudo systemctl enable --now wondershaper.service

De cette façon, wondershaper est activé avec votre paramètre lors du redémarrage.

Utilisation

 wondershaper 

Les options de ligne de commande suivantes sont autorisées :

  • -h Afficher l’aide

  • -a <adapter> Définir l’adaptateur

  • -d <rate> Définir le débit de téléchargement maximal (en Kbps) et/ou

  • -u <rate> Définir le débit de téléchargement maximal (en Kbps)

  • -p Utiliser les préréglages dans /etc/systemd/wondershaper.conf

  • -c Effacer les limites de l’adaptateur

  • -s Afficher l’état actuel de l’adaptateur

Les différents modes sont:

 wondershaper -a <adapter> -d <rate> -u <rate> wondershaper -c -a <adapter> wondershaper -s -a <adapter>

Quelques exemples:

 wondershaper -a eth0 -d 1024 -u 512 wondershaper -a eth1 -d 94000 -u 94000 # could be used on a 100Mbps link wondershaper -a eth1 -u 94000 # only limit upload wondershaper -c -a eth0

.