magnific0 / wondershaper
Copyright
Copyright (c) 2002-2020 Bert Hubert [email protected], Jacco Geul [email protected], Simon Séhier [email protected], [email protected]
Informace o jednotlivých příspěvcích autorů najdete v ChangeLogu.
O projektu
Wonder Shaper je skript, který umožňuje uživateli omezit šířku pásma jednoho nebo více síťových adaptérů. Využívá k tomu příkaz tc iproute, ale značně zjednodušuje jeho ovládání. Wonder Shaper poprvé vydal Bert Hubert v roce 2002, ale původní verze postrádala rozhraní příkazového řádku, od verze 1.2 byla tato funkce přidána. Od verze 1.3 se místo CBQ používá řazení do front HTB, což umožňuje lepší správu šířky pásma na vysokorychlostních (nad deset megabitů) linkách. Ve verzi 1.4 byla implementována vylepšená metoda ingress shaping a možnost omezovat buď směrem dolů, nebo nahoru (obojí je stále také možné). Původní README je poměrně obsáhlý dokument a je uložen pod názvem README.old pro ty, kteří by chtěli získat více základních informací. Kromě případných poznámek k provozu je tento dokument považován za aktuální.
Instalace
Získání wondershaperu
Doporučuje se klonovat repozitář GitHub wondershaperu tak, abyste si mohli kdykoli stáhnout nové aktualizace (pokud jsou k dispozici). Otevřete nový terminál a naklonujte repozitář pomocí příkazu
git clone https://github.com/magnific0/wondershaper.git
Tím naklonujete wondershaper ve své aktuální složce do nové složky s názvem wondershaper. Nyní vstupte do složky pomocí
cd wondershaper
Pomocí wondershaper
Můžete spustit wondershaper (jako libovolný uživatel s dostatečnými právy) bez instalace a přestat postupovat podle pokynů v tomto bodě. Zobrazte návod k použití programu wondershaper zadáním příkazu
./wondershaper -h
Program podrobně popisuje všechny dostupné možnosti, jak používat program wondershaper. Dále je třeba vybrat rozhraní, které chcete tvarovat. Všechna dostupná rozhraní zobrazíte zadáním příkazu
ip addr show
Poznamenejte, že ve starších systémech nemusí být tento příkaz k dispozici. V takovém případě byste místo něj měli spustit příkaz ifconfig
.
Zadejte síťové rozhraní, které chcete tvarovat. Názvy se liší podle systému.
V následujícím příkladu je bezdrátové rozhraní omezeno na rychlost odesílání 4 Mb/s a stahování 8 Mb/s.
./wondershaper -a wlp4s0 -u 4096 -d 8192
Pokud se zobrazí hlášení, že RTNETLINK answers: Operation not permitted
váš uživatelský účet nemá dostatečná práva. V takovém případě zkuste:
sudo ./wondershaper -a wlp4s0 -u 4096 -d 8192
Instalace systému (volitelná)
Pro snadnou instalaci je k dispozici soubor makefile. Výchozí umístění pro wondershaper je v /usr/bin
. Pokud chcete instalovat do svého systému, můžete spustit:
sudo make install
Ověřit, zda byl wondershaper nainstalován správně, můžete zadáním:
which wondershaper
To by mělo vrátit /usr/bin/wondershaper
. Můžete postupovat stejně, jak je vysvětleno v části „Použití wondershaperu“, ale místo spuštění místní verze programu nyní spustíte systémovou verzi odstraněním ./
ze začátku každého příkazu. Chcete-li například znovu zobrazit pokyny nápovědy, spusťte:
wondershaper -h
Trvalé použití wondershaperu (volitelné)
Místo použití voleb příkazového řádku pro nastavení sazeb a rozhraní, jak bylo uvedeno dříve, je nutné tyto parametry nastavit v konfiguračním souboru wondershaper.conf
. Tento soubor můžete upravit pomocí svého oblíbeného textového editoru (vim v níže uvedeném příkladu) takto:
sudo vim /etc/systemd/wondershaper.conf
Pro zajištění opětovné aktivace wondershaperu při restartu je k dispozici soubor služby systemd. Nejprve povolte wondershaper jako službu systemd pomocí:
sudo systemctl enable --now wondershaper.service
Takto se wondershaper při restartu aktivuje s vaším nastavením.
Použití
wondershaper
Povoleny jsou následující volby příkazového řádku:
-
-h
Zobrazit nápovědu -
-a <adapter>
Nastavit adaptér -
-d <rate>
Nastavit maximální rychlost stahování (v Kb/s) a/nebo -
-u <rate>
Nastavit maximální rychlost odesílání (v Kb/s) -
-p
Použít předvolby v /etc/systemd/wondershaper.conf -
-c
Vymazat limity z adaptéru -
-s
Zobrazit aktuální stav adaptéru
Různé režimy jsou:
wondershaper -a <adapter> -d <rate> -u <rate> wondershaper -c -a <adapter> wondershaper -s -a <adapter>
Několik příkladů:
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
.