Articles

magnific0 / wondershaper

Copyright

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

Vezi ChangeLog pentru informații despre contribuțiile individuale ale autorilor.

Despre

Wonder Shaper este un script care permite utilizatorului să limiteze lățimea de bandă a unuia sau mai multor adaptoare de rețea. El face acest lucru folosind comanda tc a lui iproute, dar simplifică foarte mult funcționarea acesteia. Wonder Shaper a fost lansat pentru prima dată de Bert Hubert în 2002, dar versiunea originală nu avea o interfață de linie de comandă, începând cu versiunea 1.2 această caracteristică a fost adăugată. Începând cu versiunea 1.3, în loc de CBQ este utilizată coada HTB, ceea ce permite o mai bună gestionare a lățimii de bandă pe legăturile de mare viteză (peste zece megabiți). În versiunea 1.4 a fost implementată o metodă îmbunătățită de formare a intrărilor (ingress shaping) și posibilitatea de a limita fie în jos, fie în sus (ambele sunt încă posibile, de asemenea). Originalul README este un document destul de lung și este salvat sub README.old, pentru cei care doresc mai multe informații de fond. Cu excepția oricăror note privind funcționarea, acest document este considerat actualizat.

Instalare

Obținerea lui wondershaper

Se recomandă clonarea depozitului GitHub al lui wondershaper, astfel încât să puteți extrage noi actualizări în orice moment (dacă sunt disponibile). Deschideți un nou terminal și clonați depozitul folosind

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

Acest lucru va clona wondershaper din folderul dvs. curent într-un nou folder numit wondershaper. Acum intrați în dosar folosind

cd wondershaper

Folosind wondershaper

Puteți rula wondershaper (ca orice utilizator cu permisiuni suficiente) fără instalare și nu mai urmați instrucțiunile în acest punct. Afișați instrucțiunile de utilizare a wondershaper tastând

./wondershaper -h

Programul detaliază toate opțiunile disponibile privind modul de utilizare a wondershaper. Următorul pas este să alegeți o interfață pe care doriți să o modelați. Puteți vedea toate interfețele disponibile tastând

ip addr show

Rețineți că pe sistemele mai vechi este posibil ca această comandă să nu fie disponibilă. În acest caz, ar trebui să rulați în schimb ifconfig.

Identificați interfața de rețea pe care doriți să o modelați. Denumirile diferă în funcție de sistem.

În următorul exemplu o interfață wireless este limitată la o încărcare de 4Mbps și o descărcare de 8Mbps.

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

Dacă primiți mesaje care vă spun că RTNETLINK answers: Operation not permitted contul dvs. de utilizator nu are suficiente privilegii. În acest caz încercați:

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

Instalarea sistemului (opțional)

Un fișier makefile este furnizat pentru o instalare ușoară. Locația implicită pentru wondershaper este în /usr/bin. Dacă doriți să o instalați pe sistemul dvs. puteți rula:

sudo make install

Puteți verifica dacă wondershaper a fost instalat corect introducând:

which wondershaper

Acest lucru ar trebui să returneze /usr/bin/wondershaper. Puteți urma aceleași instrucțiuni ca cele explicate în secțiunea „Utilizarea wondershaper”, dar în loc să rulați versiunea locală a programului, executați acum versiunea de sistem, eliminând ./ de la începutul fiecărei comenzi. De exemplu, pentru a afișa din nou instrucțiunile de ajutor, executați:

wondershaper -h

Utilizarea persistentă a wondershaper (opțional)

În loc să folosiți opțiunile din linia de comandă pentru a seta ratele și interfața, așa cum s-a arătat anterior, este necesar să setați acești parametri în fișierul de configurare wondershaper.conf. Puteți edita acest fișier folosind editorul de text preferat (vim în exemplul de mai jos) astfel:

sudo vim /etc/systemd/wondershaper.conf

Pentru a vă asigura că wondershaper este reactivat la repornire este furnizat un fișier de serviciu systemd. Mai întâi activați wondershaper ca serviciu systemd folosind:

sudo systemctl enable --now wondershaper.service

În acest fel, wondershaper este activat cu setările dvs. la repornire.

Utilizare

 wondershaper 

Sunt permise următoarele opțiuni de linie de comandă:

  • -h Afișarea ajutorului

  • -a <adapter> Setați adaptorul

  • -d <rate> Setați rata maximă de descărcare (în Kbps) și/sau

  • -u <rate> Setați rata maximă de încărcare (în Kbps)

  • -p Folosiți presetările din /etc/systemd/wondershaper.conf

  • -c Ștergeți limitele din adaptor

  • -s Afișați starea actuală a adaptorului

Diferitele moduri sunt:

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

Câteva exemple:

 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

.