RShaper - omezení rychlosti síťového provozu

RShaper je utilitka, která omezuje šíři pásma příchozích a odchozích paketů určených pro určité hostitele. Použijete jej tam, kde chcete hostilelům v síti omezit propustnost příchozích a odchozích paketů, tedy např. na firemním routeru fungujícím jako brána do Internetu nebo přímo na klientském stroji, kde pracuje uživatel bez administrátorských privilegií.

Úvodní poznámky

Program je koncipován jako modul pro jádra řady 2.0, 2.2 a 2.4. U jader 2.0 a 2.2 je třeba opatchovat NS8390 ethernet driver a ksyms.c(soubor proměnných a funkcí pro dynamické zavádění modulů), u jádra 2.4 není třeba nic a ještě zde získáte možnost omezit nejen příchozí ale i odchozí pakety.

Program najdete je stažení zde.

Instalace

Instalace pro jádro 2.4 je až podezřele jednoduchá. Napíšete příkaz make a ovládací program rshaperctl + modul rshaper.o by se měl vyklubat.
Pokud ne, zkuste
$ make KERNELDIR=/usr/src/linux-2.4


Nakonec
$ make install

U jader 2.0 a 2.2 potřebujete opatchovat jádro pomocí soubrů, které jsou v balíku přiloženy. Jinak se postup instalace ničím neliší:

$ cd /your/kernel/src; patch -p0 < /.../8390-2.X.c.patch
nebo
$ cd /your/kernel/src/drivers/net; patch -p2 < /.../8390-2.X.c.patch

Konfigurace

Vždy když restartujete počítač, musíte znovu zavést modul rshaper.o do jádra. To provedete příkazem insmod rshaper. Při zavádění do jádra můžete použít parametr mode, který má tyto hodnoty:

  1. Filtr odchozích paketů
  2. Filtr příchozích paketů (defaultně)
  3. Obousměrná filtrace (příchozí i odchozí pakety - pouze jádro 2.4)

$ insmod rshaper.o mode=2

tento příkaz omezuje rychlost komunikace v obou směrech, ale pro oba směry stejně. Tedy pokud je nastavena rychlost 6,4 kB/s pro download, bude stejná rychlost i u uploadu.

Mode 2 by neměl být použit na routeru. Pak je paket zpomalen dvakrát, a to když do routeru vstupuje, a když jej opouští, což způsobí větší než poloviční zpomalení.

Nastavování rychlostí pro jednotlivé hosty dělá program rshaperctl, tedy např. příkaz

$ rshaperctl 192.168.1.2 6400 10

omezí šířku pásma příchozích paketů stroje s IP adresou 192.168.1.2 na 6400 bajtů za vteřinu a nastaví frontu pro řazení paketů na 10 sekund. Pokud není třetí parametr uveden, automaticky se dosadí hodnota 5 sekund.

Pokud chcete toto pravidlo zrušit napište $ rshaperctl 192.168.1.2 0
Můžete omezovat rychlost pro celou síť:

$ rshaperctl 192.168.1.16/255.255.255.240 19200
$ rshaperctl 192.168.1.16/28 19200

Příkazem rshaperctl bez parametrů zobrazíte tabulku se současným nastavením

host mask bytes-per-sec max-queue-len (s)
192.168.2.0 255.255.255.0 9600 5.000
192.168.1.100 255.255.255.255 56000 5.000
192.168.1.1 255.255.255.255 6400 10.000

Odkazy:

http://freshmeat.net/search/?q=shape+traffic§ion=projects - Freshmeat.net - IP traffic control utilities



Autor: Roman Pěch
Vytvořeno: 02.03.2002
Oblast: Sítě