| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |
| bandbreitenbegrenzung [2025-08-04 15:38:16] – [Begrenzung einer Netzwerkschnittstelle unter FreeBSD] manfred | bandbreitenbegrenzung [2025-08-04 15:40:50] (aktuell) – [Begrenzung einer Netzwerkschnittstelle unter FreeBSD] manfred |
|---|
| | ====== Bandbreitenbegrenzung ====== |
| | |
| | |
| | ===== Begrenzung einer Anwendung ===== |
| | |
| | [[https://de.linux-console.net/?p=9168]] |
| | |
| | |
| | ==== Installation ==== |
| | |
| | Linux (verschiedene Distributionen): |
| | > apt install trickle |
| | > apt-get install trickle |
| | > yum install trickle |
| | |
| | FreeBSD: |
| | > pkg install -y net/trickle |
| | |
| | |
| | ==== Beispiele ==== |
| | |
| | Die grundlegende Verwendung von ''trickle'' ist wie folgt. Einfach ausgedrückt stellen Sie ''trickle'' (mit Rate) vor den Befehl, den Sie ausführen möchten. |
| | |
| | > trickle -d <download-rate in KB/s> -u <upload-rate in KB/s> <command> |
| | |
| | Dadurch wird die Download- und Upload-Rate von ''<command>'' auf bestimmte Werte (in ''KByte/s'') begrenzt. |
| | |
| | Legen Sie beispielsweise die maximale Upload-Bandbreite Ihrer ''scp''-Sitzung auf ''100 KB/s'' fest: |
| | |
| | > trickle -u 100 scp backup.tgz |
| | |
| | Wenn Sie möchten, können Sie die maximale Download-Geschwindigkeit (z. B. ''150 MB/s'') Ihres Firefox-Browsers festlegen, indem Sie mit dem folgenden Befehl einen benutzerdefinierten Launcher erstellen. |
| | |
| | > trickle -d 153600 firefox %u |
| | |
| | Schließlich kann ''trickle'' in einem Daemon-Modus ausgeführt werden, in dem es die aggregierte Bandbreitennutzung aller laufenden Programme, die über ''trickle'' gestartet werden, einschränken kann. So starten Sie ''trickle'' als Daemon (d. h. ''trickled''): |
| | |
| | > sudo trickled -d 1000 |
| | |
| | Sobald der ''trickled''-Daemon im Hintergrund läuft, können Sie andere Programme über trickle starten. Wenn Sie ein Programm mit ''trickle'' starten, beträgt seine maximale Downloadrate ''1000 KB/s''. Wenn Sie ein anderes Programm mit ''trickle'' starten, wird die Rate jedes Programms auf ''500 KB/s'' usw. begrenzt. |
| | |
| | |
| | ===== Begrenzung einer Netzwerkschnittstelle unter Linux ===== |
| | |
| | [[https://de.linux-console.net/?p=9168]] |
| | |
| | |
| | ==== Installation ==== |
| | |
| | Linux (verschiedene Distributionen): |
| | > apt install wondershaper |
| | > apt-get install wondershaper |
| | > yum install wondershaper |
| | |
| | |
| | ==== Beispiele ==== |
| | |
| | Eine andere Möglichkeit, Ihre Bandbreitenressource zu kontrollieren, besteht darin, eine Bandbreitenbegrenzung auf Schnittstellenbasis durchzusetzen. Dies ist nützlich, wenn Sie Ihre Upstream-Internetverbindung mit jemand anderem teilen. Wie alles andere hat auch Linux ein Tool für Sie. Ein Befehlszeilentool namens ''wondershaper'' macht genau das: die Geschwindigkeit einer Netzwerkschnittstelle zu begrenzen. |
| | |
| | ''wondershaper'' ist eigentlich ein Shell-Skript, das tc verwendet, um Traffic Shaping und QoS für eine bestimmte Netzwerkschnittstelle zu definieren. Ausgehender Datenverkehr wird dadurch geformt, dass er in Warteschlangen mit unterschiedlichen Prioritäten platziert wird, während eingehender Datenverkehr durch Paketverluste geschwindigkeitsbegrenzt wird. |
| | |
| | Tatsächlich ist das erklärte Ziel von ''wondershaper'' viel mehr als nur das Hinzufügen einer Bandbreitenbeschränkung zu einer Schnittstelle. ''wondershaper'' versucht, eine niedrige Latenz für interaktive Sitzungen wie SSH aufrechtzuerhalten, während Massen-Downloads oder -Uploads ausgeführt werden. Außerdem wird sichergestellt, dass Massen-Uploads (z. B. Dropbox-Synchronisierung) den Download nicht ersticken und umgekehrt. |
| | |
| | So installieren Sie ''wondershaper'' auf Ubuntu, Debian und deren Derivaten: |
| | |
| | > sudo apt-get install wondershaper |
| | |
| | So installieren Sie ''wondershaper'' auf Fedora oder CentOS/RHEL (mit EPEL-Repository): |
| | |
| | > sudo yum install wondershaper |
| | |
| | Die grundlegende Verwendung von ''wondershaper'' ist wie folgt. |
| | |
| | > sudo wondershaper <interface> <download-rate> <upload-rate> |
| | |
| | Um beispielsweise die maximale Download-/Upload-Bandbreite für ''eth0'' auf ''1000 Kbit/s'' bzw. ''500 Kbit/s'' festzulegen: |
| | |
| | > sudo wondershaper eth0 1000 500 |
| | |
| | Sie können die Ratenbegrenzung entfernen, indem Sie Folgendes ausführen: |
| | |
| | > sudo wondershaper clear eth0 |
| | |
| | Wenn Sie daran interessiert sind, wie ''wondershaper'' funktioniert, können Sie das Shell-Skript lesen (zu finden in ''/sbin/wondershaper''). |
| | |
| | |
| | ===== Begrenzung einer Netzwerkschnittstelle unter FreeBSD ===== |
| | |
| | [[https://docs.freebsd.org/en/books/handbook/firewalls/#firewalls-ipfw]] |
| | |
| | => QoS mit ''ipfw'' |
| | |
| | <code bash> |
| | echo 'firewall_enable="YES"' >> /etc/rc.conf |
| | service ipfw start |
| | ipfw ... |
| | </code> |
| | |
| |