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.