magnific0 / wondershaper
Copyright
Copyright (c) 2002-2020 Bert Hubert [email protected], Jacco Geul [email protected], Simon Séhier [email protected], [email protected]
A szerzők egyéni hozzájárulásáról a ChangeLogban találsz információt.
About
A Wonder Shaper egy olyan szkript, amely lehetővé teszi a felhasználó számára egy vagy több hálózati adapter sávszélességének korlátozását. Ehhez az iproute tc parancsát használja, de jelentősen leegyszerűsíti a működését. A Wonder Shaper-t először Bert Hubert adta ki 2002-ben, de az eredeti verzióból hiányzott a parancssori interfész, az 1.2-es verziótól kezdve ez a funkció is megjelent. Az 1.3-as verziótól a CBQ helyett a HTB sorbanállást használja, ami jobb sávszélesség-kezelést tesz lehetővé a nagy sebességű (tíz megabit feletti) kapcsolatokon. Az 1.4-es verzióban egy továbbfejlesztett ingress shaping módszer került bevezetésre, valamint a lefelé vagy felfelé történő korlátozás lehetősége (mindkettő továbbra is lehetséges). Az eredeti README egy meglehetősen hosszú dokumentum, és a README.old alá van mentve, azok számára, akik több háttérinformációt szeretnének. A működéssel kapcsolatos megjegyzéseket leszámítva ez a dokumentum naprakésznek tekinthető.
Telepítés
A wondershaper beszerzése
A wondershaper GitHub tárolóját ajánlott klónozni, hogy bármikor be tudd húzni az új frissítéseket (ha elérhető). Nyisson egy új terminált és klónozza az adattárat a
git clone https://github.com/magnific0/wondershaper.git
Ezzel klónozza a wondershaper-t az aktuális mappájában egy új, wondershaper nevű mappába. Most lépjen be a mappába a
cd wondershaper
Using wondershaper
A wondershaper-t (bármilyen felhasználóként, megfelelő jogosultságokkal) telepítés nélkül is futtathatja, és ezen a ponton hagyja abba az utasítások követését. A wondershaper használati utasításainak megjelenítése a
./wondershaper -h
A program a wondershaper használatára vonatkozó összes rendelkezésre álló lehetőséget részletezi. Következő lépésként válasszon ki egy felületet, amelyet alakítani szeretne. Az összes rendelkezésre álló interfész megtekinthető a
ip addr show
beírásával>Megjegyezzük, hogy régebbi rendszereken ez a parancs nem biztos, hogy elérhető. Ebben az esetben helyette a ifconfig
parancsot kell futtatnia.
Az alakítani kívánt hálózati interfész azonosítása. A nevek rendszerenként eltérőek.
A következő példában egy vezeték nélküli interfész 4 Mbps feltöltési és 8 Mbps letöltési sebességre van korlátozva.
./wondershaper -a wlp4s0 -u 4096 -d 8192
Ha olyan üzeneteket kap, hogy RTNETLINK answers: Operation not permitted
a felhasználói fiókja nem rendelkezik elegendő jogosultsággal. Ebben az esetben próbálja meg:
sudo ./wondershaper -a wlp4s0 -u 4096 -d 8192
Rendszertelepítés (opcionális)
A könnyű telepítéshez biztosított makefile fájl. A wondershaper alapértelmezett helye a /usr/bin
. Ha a saját rendszeredre szeretnéd telepíteni, akkor futtathatod:
sudo make install
Azt, hogy a wondershaper helyesen lett-e telepítve, ellenőrizheted a:
which wondershaper
Ez a /usr/bin/wondershaper
eredményt kell, hogy adja vissza. Ugyanazokat az utasításokat követheti, amelyeket a “A wondershaper használata” részben ismertettünk, de a program helyi verziójának futtatása helyett most a rendszerváltozatot futtatja, eltávolítva a ./
-et az egyes parancsok elejéről. Például a súgó utasítások újbóli megjelenítéséhez futtassa:
wondershaper -h
A wondershaper tartós használata (opcionális)
Ahelyett, hogy a parancssori opciókat használná az árak és az interfész beállítására, mint korábban bemutattuk, ezeket a paramétereket a wondershaper.conf
konfigurációs fájlban kell beállítani. Ezt a fájlt a kedvenc szövegszerkesztőjével (az alábbi példában a vim) szerkesztheti a következőképpen:
sudo vim /etc/systemd/wondershaper.conf
Azért, hogy a wondershaper újraindításkor újra aktiválódjon, egy systemd szolgáltatási fájlt biztosítunk. Először engedélyezze a wondershaper-t systemd szolgáltatásként a következővel:
sudo systemctl enable --now wondershaper.service
Így a wondershaper újraindításkor a beállításaival aktiválódik.
Használat
wondershaper
A következő parancssori opciók engedélyezettek:
-
-h
Súgó megjelenítése -
-a <adapter>
Adapter beállítása -
-d <rate>
Maximális letöltési sebesség beállítása (Kbps-ban) és/vagy -
-u <rate>
Maximális feltöltési sebesség beállítása (Kbps-ban) -
-p
Az /etc/systemd/wondershaper állományban található beállítások használata.conf -
-c
Törölje a korlátokat az adapterből -
-s
Mutassa az adapter aktuális állapotát
A különböző módok:
wondershaper -a <adapter> -d <rate> -u <rate> wondershaper -c -a <adapter> wondershaper -s -a <adapter>
Egy pár példa:
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