Articles

magnific0 / wondershaper

Auteursrecht

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

Zie de ChangeLog voor informatie over de individuele bijdragen van de auteurs.

Over

Wonder Shaper is een script dat de gebruiker in staat stelt om de bandbreedte van een of meer netwerkadapters te beperken. Het doet dit door gebruik te maken van iproute’s tc commando, maar het vereenvoudigt de werking sterk. Wonder Shaper werd voor het eerst uitgebracht door Bert Hubert in 2002, maar in de oorspronkelijke versie ontbrak een command-line interface, vanaf versie 1.2 werd deze functie toegevoegd. Vanaf versie 1.3 wordt HTB queuing gebruikt in plaats van CBQ, waardoor een beter bandbreedtebeheer mogelijk is op hogesnelheidsverbindingen (meer dan tien megabit). In versie 1.4 is een verbeterde ingress shaping methode geïmplementeerd en de mogelijkheid om zowel down als up te begrenzen (beide is ook nog steeds mogelijk). De oorspronkelijke README is een nogal lang document en is opgeslagen onder README.old, voor degenen die wat meer achtergrond informatie willen. Behalve eventuele opmerkingen over de werking wordt dit document als up-to-date beschouwd.

Installatie

Verkrijgen van wondershaper

Het is aan te raden om de GitHub repository van wondershaper te clonen, zodat u op elk moment nieuwe updates kunt binnenhalen (indien beschikbaar). Open een nieuwe terminal en kloon de repository met

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

Dit zal wondershaper klonen in je huidige map in een nieuwe map met de naam wondershaper. Ga nu de map binnen met

cd wondershaper

Gebruik wondershaper

U kunt wondershaper draaien (als iedere gebruiker met voldoende rechten) zonder installatie en stoppen met het volgen van de instructies op dit punt. Toon de wondershaper gebruiksinstructies door te typen

./wondershaper -h

Het programma beschrijft alle beschikbare opties over hoe wondershaper te gebruiken. De volgende stap is het kiezen van een interface die u wilt vormen. U kan alle beschikbare interfaces zien door te typen

ip addr show

Merk op dat op oudere systemen dit commando misschien niet beschikbaar is. In dat geval moet u ifconfig uitvoeren.

Identificeer de netwerkinterface die u wilt vormen. De namen verschillen per systeem.

In het volgende voorbeeld is een draadloze interface beperkt tot een upload van 4Mbps en download van 8Mbps.

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

Als u berichten krijgt die u vertellen dat RTNETLINK answers: Operation not permitted uw gebruikersaccount niet voldoende privileges heeft. Probeer in dat geval:

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

Systeem installatie (optioneel)

Er wordt een makefile bestand meegeleverd voor eenvoudige installatie. De standaard locatie voor wondershaper is in /usr/bin. Als u wilt installeren op uw systeem kunt u uitvoeren:

sudo make install

U kunt controleren of wondershaper correct is geïnstalleerd door in te voeren:

which wondershaper

Dit zou /usr/bin/wondershaper moeten opleveren. Je kunt dezelfde instructies volgen als uitgelegd in de “Wondershaper gebruiken” sectie, maar in plaats van de lokale versie van het programma te draaien, draai je nu de systeem versie door de ./ uit het begin van elk commando te verwijderen. Om bijvoorbeeld de help instructies opnieuw te tonen, voert u uit:

wondershaper -h

Persistent gebruik van wondershaper (optioneel)

In plaats van de commandline opties te gebruiken om de snelheden en interface in te stellen, zoals eerder getoond, is het nodig om deze parameters in te stellen in het wondershaper.conf configuratie bestand. U kunt dit bestand bewerken met uw favoriete tekst editor (vim in het voorbeeld hieronder) als volgt:

sudo vim /etc/systemd/wondershaper.conf

Om er zeker van te zijn dat wondershaper wordt gereactiveerd bij het herstarten is een systemd service bestand aanwezig. Schakel eerst wondershaper in als een systemd service met:

sudo systemctl enable --now wondershaper.service

Op deze manier wordt wondershaper geactiveerd met uw instelling bij het herstarten.

Gebruik

 wondershaper 

De volgende commandoregelopties zijn toegestaan:

  • -h Help weergeven

  • -a <adapter> De adapter instellen

  • -d <rate> Maximale downloadsnelheid instellen (in Kbps) en/of

  • -u <rate> Maximale uploadsnelheid instellen (in Kbps)

  • -p Gebruik de voorinstellingen in /etc/systemd/wondershaper.conf

  • -c Wis de limieten van adapter

  • -s Toon de huidige status van adapter

De verschillende modi zijn:

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

Een aantal voorbeelden:

 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