magnific0 / wondershaper
Copyright
Copyright (c) 2002-2020 Bert Hubert [email protected], Jacco Geul [email protected], Simon Séhier [email protected], [email protected]
Siehe das ChangeLog für Informationen über die einzelnen Beiträge der Autoren.
Über
Wonder Shaper ist ein Skript, das es dem Benutzer ermöglicht, die Bandbreite eines oder mehrerer Netzwerkadapter zu begrenzen. Es verwendet dazu den tc-Befehl von iproute, vereinfacht aber dessen Bedienung erheblich. Wonder Shaper wurde erstmals 2002 von Bert Hubert veröffentlicht, aber der ursprünglichen Version fehlte eine Befehlszeilenschnittstelle, ab Version 1.2 wurde diese Funktion hinzugefügt. Ab Version 1.3 wird die HTB-Warteschlange anstelle von CBQ verwendet, was ein besseres Bandbreitenmanagement auf Hochgeschwindigkeitsverbindungen (über zehn Megabit) ermöglicht. In Version 1.4 wurde eine verbesserte Ingress-Shaping-Methode implementiert und die Möglichkeit, entweder nach unten oder nach oben zu begrenzen (beides ist auch weiterhin möglich). Die ursprüngliche README ist ein ziemlich langes Dokument und ist unter README.old gespeichert, für diejenigen, die mehr Hintergrundinformationen haben möchten. Abgesehen von Hinweisen zur Bedienung gilt dieses Dokument als aktuell.
Installation
Beschaffung von wondershaper
Es wird empfohlen, das GitHub-Repository von wondershaper zu klonen, so dass Sie jederzeit neue Updates einspielen können (falls verfügbar). Öffnen Sie ein neues Terminal und klonen Sie das Repository mit
git clone https://github.com/magnific0/wondershaper.git
Dadurch wird wondershaper in Ihrem aktuellen Ordner in einen neuen Ordner namens wondershaper geklont. Betreten Sie nun den Ordner mit
cd wondershaper
Mit wondershaper
Sie können wondershaper (als beliebiger Benutzer mit ausreichenden Rechten) ohne Installation ausführen und an dieser Stelle aufhören, den Anweisungen zu folgen. Zeigen Sie die Anweisungen zur Verwendung von wondershaper an, indem Sie
./wondershaper -h
eingeben. Als nächstes müssen Sie eine Schnittstelle auswählen, die Sie gestalten möchten. Sie können alle verfügbaren Schnittstellen sehen, indem Sie
ip addr show
eintippen. In diesem Fall sollten Sie stattdessen ifconfig
ausführen.
Identifizieren Sie die Netzwerkschnittstelle, die Sie formen möchten. Die Namen unterscheiden sich je nach System.
Im folgenden Beispiel ist eine drahtlose Schnittstelle auf einen Upload von 4Mbps und einen Download von 8Mbps beschränkt.
./wondershaper -a wlp4s0 -u 4096 -d 8192
Wenn Sie Meldungen erhalten, dass RTNETLINK answers: Operation not permitted
Ihr Benutzerkonto nicht über ausreichende Berechtigungen verfügt. Versuchen Sie in diesem Fall:
sudo ./wondershaper -a wlp4s0 -u 4096 -d 8192
Systeminstallation (optional)
Eine Makefile-Datei wird zur einfachen Installation bereitgestellt. Das Standardverzeichnis für wondershaper befindet sich in /usr/bin
. Wenn Sie auf Ihrem System installieren möchten, können Sie Folgendes ausführen:
sudo make install
Sie können überprüfen, ob wondershaper korrekt installiert wurde, indem Sie Folgendes eingeben:
which wondershaper
Dies sollte /usr/bin/wondershaper
zurückgeben. Sie können die gleichen Anweisungen wie im Abschnitt „Wondershaper verwenden“ befolgen, aber anstatt die lokale Version des Programms auszuführen, führen Sie jetzt die Systemversion aus, indem Sie das ./
am Anfang jedes Befehls entfernen. Um zum Beispiel die Hilfeanweisungen erneut anzuzeigen, führen Sie aus:
wondershaper -h
Dauerhafte Nutzung von wondershaper (optional)
Anstatt die Befehlszeilenoptionen zu verwenden, um die Raten und die Schnittstelle einzustellen, wie zuvor gezeigt, ist es notwendig, diese Parameter in der Konfigurationsdatei wondershaper.conf
einzustellen. Sie können diese Datei mit Ihrem bevorzugten Texteditor (im Beispiel unten vim) wie folgt bearbeiten:
sudo vim /etc/systemd/wondershaper.conf
Um sicherzustellen, dass wondershaper beim Neustart reaktiviert wird, wird eine systemd-Dienstdatei bereitgestellt. Aktivieren Sie zunächst wondershaper als systemd-Dienst mit:
sudo systemctl enable --now wondershaper.service
So wird wondershaper beim Neustart mit Ihrer Einstellung aktiviert.
Verwendung
wondershaper
Die folgenden Kommandozeilenoptionen sind erlaubt:
-
-h
Hilfe anzeigen -
-a <adapter>
Adapter einstellen -
-d <rate>
Maximale Downloadrate (in Kbps) und/oder -
-u <rate>
Maximale Uploadrate (in Kbps) -
-p
Die Voreinstellungen in /etc/systemd/wondershaper verwenden.conf -
-c
Lösche die Limits vom Adapter -
-s
Zeige den aktuellen Status des Adapters
Die verschiedenen Modi sind:
wondershaper -a <adapter> -d <rate> -u <rate> wondershaper -c -a <adapter> wondershaper -s -a <adapter>
Einige Beispiele:
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