WonderShaper - Et værktøj til at begrænse netværksbåndbredde i Linux


Wondershaper er et lille bash-script, der giver dig mulighed for at begrænse netværksbåndbredden i Linux. Det anvender tc-kommandolinjeprogrammet som backend til konfiguration af trafikstyring. Det er et praktisk værktøj til styring af båndbredde på en Linux-server.

Det giver dig mulighed for at indstille den maksimale downloadhastighed og/eller den maksimale uploadhastighed. Derudover giver det dig også mulighed for at rydde de grænser, du har indstillet, og kan vise den aktuelle status for en grænseflade fra kommandolinjen. I stedet for at bruge CLI-indstillingerne kan du køre det vedvarende som en tjeneste under systemd.

I denne artikel vil vi vise, hvordan du installerer og bruger wondershaper til at begrænse netværksbåndbredde på Linux-systemer.

Sådan installeres Wondershaper i Linux-systemer

Start først med at installere wondershaper ved hjælp af din Linux-distributionspakkehåndtering fra standardrepertoirerne som vist.

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

Alternativt, for at trække og installere de nyeste opdateringer, skal du klone GitHub-lageret af wondershaper til dit system, flytte ind i det lokale lager og installere det ved hjælp af følgende kommandoer. Bemærk, at du skal have git kommandolinjeværktøjet installeret:

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

Før du begynder at bruge wondershaper, skal du først kontrollere alle netværksgrænseflader, der er knyttet til din maskine ved hjælp af ip-kommandoen.

Dette hjælper dig med at kende den grænseflade, som du vil forme båndbreddeforbrug på, for eksempel den trådløse grænseflade wlp1s0, som er aktiv.

$ ifconfig 
OR
$ ip addr

Sådan bruges Wondershaper til at begrænse netværksbåndbredde i Linux

For at definere den maksimale downloadhastighed i Kbps for en grænseflade, skal du køre følgende kommando ved hjælp af indstillingen -a (definerer interface) og -d (definerer Kbps) dvs. downloadhastigheden indstilles til 4 Mbps.

$ wondershaper -a wlp1s0 -d 4048

For at indstille den maksimale uploadrate i Kbps for en grænseflade skal du bruge indstillingen -u som følger.

$ wondershaper -a wlp1s0 -u 1048

Du kan for eksempel også indstille download og upload med en enkelt kommando.

$ wondershaper -a wlp1s0 -d 4048 -u 1048

Indstillingen -s giver dig mulighed for at se den aktuelle status for en grænseflade.

$ wondershaper -sa wlp1s0 

Du kan også bruge iPerf - netværksgennemstrømningsværktøj til f.eks. At teste båndbreddens reduktion med wondershaper.

Du kan rydde de download- eller uploadgrænser, du har angivet for en grænseflade, ved hjælp af -c -flagget.

$ wondershaper -ca wlp1s0

Det er også muligt at køre wondershaper som en tjeneste, hvor du definerer parametrene til at forme båndbredde i en konfigurationsfil. Dette gør det muligt for wondershaper at starte ved opstartstid og begrænse brugen af båndbredde til enhver tid, når systemet er tændt, som forklaret i det næste afsnit.

Sådan køres Wondershaper vedvarende under Systemd

Under denne tilstand skal du indstille grænsefladen, uploade og downloade hastigheder i wondershaper-konfigurationsfilen på /etc/conf.d/wondershaper. Du kan åbne denne fil til redigering ved hjælp af din foretrukne CLI-editor som vist.

$ sudo vim /etc/conf.d/wondershaper 

Definer de nødvendige parametre som følger.

[wondershaper]
# Adapter
IFACE="wlp1s0"

# Download rate in Kbps
DSPEED="4048"

# Upload rate in Kbps
USPEED="512"

Gem filen, og luk den.

Start derefter wondershaper-tjenesten i mellemtiden, gør det muligt for den automatisk at starte ved systemstart og se dens status ved hjælp af systemctl-kommandoen.

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

Hvis du ændrer værdierne for parametrene i konfigurationsfilen, skal du genstarte wonderservice, før ændringerne skal gennemføres.

$ sudo systemctl restart wondershaper

Brug følgende kommando for at stoppe wondershaper-tjenesten.

$ sudo systemctl stop wondershaper

For mere hjælp, se Wondershaper Github repository: https://github.com/magnific0/wondershaper

Wondershaper er en trafikformer til begrænsning af netværksbåndbredde på Linux-systemer. Prøv det og del dine tanker med os via feedbackformularen nedenfor. Hvis du kender til lignende værktøjer derude, kan du lige så godt nævne for os i kommentarerne - vi vil være taknemmelige.