Kontrola ruchu/przepustowości za pomocą tcng

2010-05-28 Wątek Piotr Kakietek
Witam wszystkich,

Jestem niestety zmuszony w swojej małej sieci pobawić się kontrolą
ruchu/przepustowości. Do tego celu zamierzam użyć narzędzia tcng
(howto). TCNG jest poprostu programikiem który tłumaczy swoją składnie
(która jest o wiele przyjemniejsza niż składnia tc) na tc. Tyle
tutułem wstępu ale teraz na poważnie.

Otóż moja sieć wygląda w ten sposób:
NETeth0 --eth2 (Sieć_LAN_komputery)
 |
 |eth3 (Sieć_VOIP_telefony)

Do internetu podłączony jest interfejs eth0, w lokalnej strefie są dwa
łącza eth2 (Sieć_LAN_komputery) oraz eth3 (Sieć_VOIP_telefony).

Mój problem polega na tym, że nie wiem jak ograniczyć ruch wchodzący,
a ponieważ mogę to zrobić tylko dla ruchu wychodzącego (tc ma takie
ograniczenie), muszę zaimplementować ograniczenia dla interfejsów eth2
i eth3.

Żebyście mnie dobrze zrozumieli nie chcę przypisać na stałe ograniczeń
- powiedzmy 1 Mbit/s dla eth3 a reszta pasma dla eth2. Chcę aby pasmo
było dynamicznie, na przykład:
- mam połączenie 5 Mbit/s duplex
- sieć eth2 ma współczynnik rate ustawiony na 4 Mbit/s a ceil 5Mbit/s,
- sieć eth3 ma współczynnik rate ustawiony na 1 Mbit/s a ceil 5Mbit/s,

Jak to zaimplementować w tcng lub tc?

Pozdrawiam
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Watchdog dla serwera SMTP

2010-05-28 Wątek Daniel Mróz
On Thu, May 27, 2010 at 07:36:29PM +0200, Pawel Kwiatkowski wrote:
  Może nie byłem dość precyzyjny: chodzi mi o usługę zewnętrzną. Jeśli
  wysiądzie łącze do w/w serwera SMTP to też chcę dostać powiadomienie, a
  tego cron + bash nie przeskoczą :)
 Wystarczy ci cron, tcping i lynx który z odpowiednimi argumentami wyśle
 sms przez bramkę WWW. (Zrobiłem coś takiego na numerze Ery). A jak ci
 się nie chce: http://czytodziala.pl
Trochę ciężko wysłać SMS przez bramkę WWW kiedy łącze padnie, a nie masz
drugiego ;)



Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz be...@alpha.plhttp://127.0.0.1/beorn
[GIT d s:- a-@ C UL$ P+ L E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[  r++  y+   ]
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Kontrola ruchu/przepustowo ści za pomocą tcng

2010-05-28 Wątek Daniel Mróz
On Fri, May 28, 2010 at 08:55:22AM +0200, Piotr Kakietek wrote:
 Mój problem polega na tym, że nie wiem jak ograniczyć ruch wchodzący,
 a ponieważ mogę to zrobić tylko dla ruchu wychodzącego (tc ma takie
 ograniczenie), muszę zaimplementować ograniczenia dla interfejsów eth2
 i eth3.
To nie tc ma takie ograniczenie i tak, robi się to na interfejsach, dla
których ten ruch jest wychodzący.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz be...@alpha.plhttp://127.0.0.1/beorn
[GIT d s:- a-@ C UL$ P+ L E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[  r++  y+   ]
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Re: Kontrola ruchu/przepustowo ści za pomocą t cng

2010-05-28 Wątek Piotr Kakietek
 To nie tc ma takie ograniczenie i tak, robi się to na interfejsach, dla
 których ten ruch jest wychodzący.

Ok, zgadzam się. Ale powróćmy to tego scenariusza:

Chcę aby pasmo było dynamicznie, na przykład:
- mam połączenie 5 Mbit/s duplex z intenetem (eth0)
- sieć eth2 ma współczynnik rate ustawiony na 4 Mbit/s a ceil 5Mbit/s,
- sieć eth3 ma współczynnik rate ustawiony na 1 Mbit/s a ceil 5Mbit/s,

Teraz, przykładowo w pewnej chwili eth2 wysysa 5Mbit/s i wchodzi
połączenie na eth3 (które ma przepustowość 1Mbit/s).

Jak to zaimplementować w tcng lub tc aby te dwa interfejsy
wsþółdzieliły połączenie czyli nasza rurę 5Mbit/s?
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Re: Kontrola ruchu/przepustowo ści za pomocą tcng

2010-05-28 Wątek Stacho Pal

On Fri, 28 May 2010, Piotr Kakietek wrote:

To nie tc ma takie ograniczenie i tak, robi się to na interfejsach, dla
których ten ruch jest wychodzący.


Ok, zgadzam się. Ale powróćmy to tego scenariusza:

Chcę aby pasmo było dynamicznie, na przykład:
- mam połączenie 5 Mbit/s duplex z intenetem (eth0)
- sieć eth2 ma współczynnik rate ustawiony na 4 Mbit/s a ceil 5Mbit/s,
- sieć eth3 ma współczynnik rate ustawiony na 1 Mbit/s a ceil 5Mbit/s,

Teraz, przykładowo w pewnej chwili eth2 wysysa 5Mbit/s i wchodzi
połączenie na eth3 (które ma przepustowość 1Mbit/s).

Jak to zaimplementować w tcng lub tc aby te dwa interfejsy
ws?ółdzieliły połączenie czyli nasza rurę 5Mbit/s?


Do takich rzeczy to IMHO imq wymyślono.

--
pzdr
Stacho Pal___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Re: Kontrola ruchu/przepustowo ści za pomocą t cng

2010-05-28 Wątek Piotr Kakietek
No właśnie nie chce angażować IMQ - bo to wymaga patchowania jądra, a
związku z tym przy aktualizacji jądra czy zmianie systemu operacyjnego
na ruterze  będzie kłopotliwe.

Ograniczając ruch wychodzący z interfejsów eth2 i eth3 przy założeniu,
że będzie to TCP mogę liczyć na to, że ograniczę ruch przychodzący na
łącze eth0

2010/5/28 Stacho Pal sta...@venco.com.pl:
 On Fri, 28 May 2010, Piotr Kakietek wrote:

 To nie tc ma takie ograniczenie i tak, robi się to na interfejsach, dla
 których ten ruch jest wychodzący.

 Ok, zgadzam się. Ale powróćmy to tego scenariusza:

 Chcę aby pasmo było dynamicznie, na przykład:
 - mam połączenie 5 Mbit/s duplex z intenetem (eth0)
 - sieć eth2 ma współczynnik rate ustawiony na 4 Mbit/s a ceil 5Mbit/s,
 - sieć eth3 ma współczynnik rate ustawiony na 1 Mbit/s a ceil 5Mbit/s,

 Teraz, przykładowo w pewnej chwili eth2 wysysa 5Mbit/s i wchodzi
 połączenie na eth3 (które ma przepustowość 1Mbit/s).

 Jak to zaimplementować w tcng lub tc aby te dwa interfejsy
 ws?ółdzieliły połączenie czyli nasza rurę 5Mbit/s?

 Do takich rzeczy to IMHO imq wymyślono.

 --
 pzdr
 Stacho Pal
 ___
 pld-users-pl mailing list
 pld-users-pl@lists.pld-linux.org
 http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Re: Kontrola ruchu/przepustowo ści za pomocą tcng

2010-05-28 Wątek Stacho Pal

On Fri, 28 May 2010, Piotr Kakietek wrote:

No właśnie nie chce angażować IMQ - bo to wymaga patchowania jądra, a
związku z tym przy aktualizacji jądra czy zmianie systemu operacyjnego
na ruterze  będzie kłopotliwe.

Ograniczając ruch wychodzący z interfejsów eth2 i eth3 przy założeniu,
że będzie to TCP mogę liczyć na to, że ograniczę ruch przychodzący na
łącze eth0


Jakiego patchowania ??
=
#  modinfo imq
filename:   /lib/modules/2.6.33.4-1/kernel/drivers/net/imq.ko.gz
alias:  rtnl-link-imq
license:GPL
description:Pseudo-driver for the intermediate queue device. See 
http://www.linuximq.net/ for more information.

author: http://www.linuximq.net
depends:
vermagic:   2.6.33.4-1 SMP mod_unload 686 GRSECURITY
parm:   numdevs:number of IMQ devices (how many imq* devices will 
be created) (int)



W PLD imq jest od zawsze.
--
pzdr
Stacho Pal___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Re: Kontrola ruchu/przepustowo ści za pomocą t cng

2010-05-28 Wątek Piotr Kakietek
2010/5/28 Stacho Pal sta...@venco.com.pl:
 On Fri, 28 May 2010, Piotr Kakietek wrote:

 No właśnie nie chce angażować IMQ - bo to wymaga patchowania jądra, a
 związku z tym przy aktualizacji jądra czy zmianie systemu operacyjnego
 na ruterze  będzie kłopotliwe.

 Ograniczając ruch wychodzący z interfejsów eth2 i eth3 przy założeniu,
 że będzie to TCP mogę liczyć na to, że ograniczę ruch przychodzący na
 łącze eth0

 Jakiego patchowania ??
 =
 #  modinfo imq
 filename:       /lib/modules/2.6.33.4-1/kernel/drivers/net/imq.ko.gz
 alias:          rtnl-link-imq
 license:        GPL
 description:    Pseudo-driver for the intermediate queue device. See
 http://www.linuximq.net/ for more information.
 author:         http://www.linuximq.net
 depends:
 vermagic:       2.6.33.4-1 SMP mod_unload 686 GRSECURITY
 parm:           numdevs:number of IMQ devices (how many imq* devices will be
 created) (int)
 

 W PLD imq jest od zawsze.
 --
 pzdr
 Stacho Pal
 ___
 pld-users-pl mailing list
 pld-users-pl@lists.pld-linux.org
 http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

ok, ale ja będę upierdliwym użytkownikiem i nie chcę wchodzić w imq
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Kontrola ruchu/przepustowo ści za pomocą tcng

2010-05-28 Wątek Arkadiusz Miskiewicz
On Friday 28 of May 2010, Piotr Kakietek wrote:

 ok, ale ja będę upierdliwym użytkownikiem i nie chcę wchodzić w imq

Słusznie bo imq jest obsolete. Wejdz w ifb.

-- 
Arkadiusz MiśkiewiczPLD/Linux Team
arekm / maven.plhttp://ftp.pld-linux.org/
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Jak odróżnić sesję ssh od sesji scp sftp?

2010-05-28 Wątek Arkadiusz Miskiewicz
On Friday 28 of May 2010, Piotr Kakietek wrote:
 Witam,
 
 Jak odróżnić sesję ssh od sesji scp sftp w tc?
 
 Chcę wrzucać te dwie rzeczy w osobną kolejkę te dwie ale nie mam
 pojęcia jak je rozróżniać.
 
 W PF (BSD) było to bardzo proste. PF i kolejki w nim same rozpoznawały
 czy mamy do czynienia z pisaniem w terminalu czy przesyłaniem plików.
 Jak to zrobić w linux-ie

Po TOSie pakietu.

-- 
Arkadiusz MiśkiewiczPLD/Linux Team
arekm / maven.plhttp://ftp.pld-linux.org/
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Jak odróżnić sesj ę ssh od sesji scp sftp?

2010-05-28 Wątek Paweł Zuzelski
On Fri, 28 May 2010, Piotr Kakietek wrote:

 Witam,
 
 Jak odróżnić sesję ssh od sesji scp sftp w tc?
 
 Chcę wrzucać te dwie rzeczy w osobną kolejkę te dwie ale nie mam
 pojęcia jak je rozróżniać.
 
 W PF (BSD) było to bardzo proste. PF i kolejki w nim same rozpoznawały

Tak przez czystą ciekawość:
  $ ssh jakishost sleep 5; dd if=duzyplik | dd of=duzyplik
jak BSD rozpoznawało taką sesję?

 czy mamy do czynienia z pisaniem w terminalu czy przesyłaniem plików.
 Jak to zrobić w linux-ie

Linuksie - RJP kiedyś się wypowiedziała na ten temat.

-- 
Pozdrawiam,
Paweł
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


RE: Jak odróżnić sesję ssh od sesji scp sftp?

2010-05-28 Wątek kakiet
Dokładnie nie wiem- PF ma wbudowane markowanie/ oznaczanie tego ( na pewno 
paczka tcp różni się jakaś flaga)
--wiadom. oryg.--
Temat: Re: Jak odróżnić sesję ssh od sesji scp sftp?
Od: Paweł Zuzelski z...@xatka.net
Data: 28-05-2010 17:05

On Fri, 28 May 2010, Piotr Kakietek wrote:

 Witam,
 
 Jak odróżnić sesję ssh od sesji scp sftp w tc?
 
 Chcę wrzucać te dwie rzeczy w osobną kolejkę te dwie ale nie mam
 pojęcia jak je rozróżniać.
 
 W PF (BSD) było to bardzo proste. PF i kolejki w nim same rozpoznawały

Tak przez czystą ciekawość:
  $ ssh jakishost sleep 5; dd if=duzyplik | dd of=duzyplik
jak BSD rozpoznawało taką sesję?

 czy mamy do czynienia z pisaniem w terminalu czy przesyłaniem plików.
 Jak to zrobić w linux-ie

Linuksie - RJP kiedyś się wypowiedziała na ten temat.

-- 
Pozdrawiam,
Paweł
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Kamerka USB A4Tech model: PK-835

2010-05-28 Wątek Arkadiusz Chomicki
witam

mam kamerkę jak w temacie:
ładnie jest wykrywana w systemie, odpowiednie moduły są ładowane do pamięci:
Module  Size  Used by
gspca_zc3xx37665  0 
gspca_main 18699  1 gspca_zc3xx
v4l2_common11714  0 
videodev   36770  2 gspca_main,v4l2_common
v4l1_compat12170  1 videodev

[27083.058205] usb 3-2: new full speed USB device using uhci_hcd and address 5
[27083.242401] usb 3-2: New USB device found, idVendor=0ac8, idProduct=303b
[27083.242407] usb 3-2: New USB device strings: Mfr=1, Product=2, 
SerialNumber=0
[27083.242411] usb 3-2: Product: PC Camera
[27083.242414] usb 3-2: Manufacturer: Vimicro Corp.
[27083.352710] Linux video capture interface: v2.00
[27083.357121] gspca: main v2.8.0 registered
[27083.359690] gspca: probing 0ac8:303b
[27084.374323] zc3xx: probe 2wr ov vga 0x
[27084.411288] zc3xx: probe sensor - 0011
[27084.411293] zc3xx: Find Sensor HV7131R(c)
[27084.415743] gspca: video0 created
[27084.415799] usbcore: registered new interface driver zc3xx
[27084.415804] zc3xx: registered

no i tu zaczynają się schody:
mplayer potrafi pokazać prawidłowy obraz:
komenda: mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480

za to scype pokazuje jakieś bzdury, zielony obraz , jakieś interferencje, ale 
nic co by sie dało zinterpretować jako obraz  z kamery.

a camorama nic nie pokazuje, zatrzymuje sie z błędem:
Unable to capture image (VIDIOCSYNC)

czy ktoś może wskazać mi problem i pomóc go rozwiązać.

pozdrawiam
-- 
Arkadiusz Chomicki
AS-SAT Telekom
mobile:+48 791 330 886
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Kamerka USB A4Tech model: PK-835

2010-05-28 Wątek Arkadiusz Chomicki
Dnia piątek 28 maj 2010 o 17:52:41 Arkadiusz Chomicki napisał(a):
 witam
 
 mam kamerkę jak w temacie:
 ładnie jest wykrywana w systemie, odpowiednie moduły są ładowane do
 pamięci: Module  Size  Used by
 gspca_zc3xx37665  0
 gspca_main 18699  1 gspca_zc3xx
 v4l2_common11714  0
 videodev   36770  2 gspca_main,v4l2_common
 v4l1_compat12170  1 videodev
 
 [27083.058205] usb 3-2: new full speed USB device using uhci_hcd and
 address 5 [27083.242401] usb 3-2: New USB device found, idVendor=0ac8,
 idProduct=303b [27083.242407] usb 3-2: New USB device strings: Mfr=1,
 Product=2,
 SerialNumber=0
 [27083.242411] usb 3-2: Product: PC Camera
 [27083.242414] usb 3-2: Manufacturer: Vimicro Corp.
 [27083.352710] Linux video capture interface: v2.00
 [27083.357121] gspca: main v2.8.0 registered
 [27083.359690] gspca: probing 0ac8:303b
 [27084.374323] zc3xx: probe 2wr ov vga 0x
 [27084.411288] zc3xx: probe sensor - 0011
 [27084.411293] zc3xx: Find Sensor HV7131R(c)
 [27084.415743] gspca: video0 created
 [27084.415799] usbcore: registered new interface driver zc3xx
 [27084.415804] zc3xx: registered
 
 no i tu zaczynają się schody:
 mplayer potrafi pokazać prawidłowy obraz:
 komenda: mplayer tv:// -tv
 driver=v4l2:device=/dev/video0:width=640:height=480
 
 za to scype pokazuje jakieś bzdury, zielony obraz , jakieś interferencje,
 ale nic co by sie dało zinterpretować jako obraz  z kamery.
 
 a camorama nic nie pokazuje, zatrzymuje sie z błędem:
 Unable to capture image (VIDIOCSYNC)
 
 czy ktoś może wskazać mi problem i pomóc go rozwiązać.
 

ok.
znalazlem 
potrzebna jest:
LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so
lub to:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
przed uruchomieniem skype



pozdrawiam
-- 
Arkadiusz Chomicki
Władysławowo
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


[OT] Linuxie [było: Re: Jak odróżnić sesję ssh od sesji scp sftp?]

2010-05-28 Wątek Adam Ryba
W dniu 28 maja 2010 17:05 użytkownik Paweł Zuzelski z...@xatka.net napisał:
 czy mamy do czynienia z pisaniem w terminalu czy przesyłaniem plików.
 Jak to zrobić w linux-ie

 Linuksie - RJP kiedyś się wypowiedziała na ten temat.

Tak, wypowiedziała się. Linuxie, Linuksie - obie formy są poprawne
(choć linux-ie oczywiście nie).
http://www.rjp.pan.pl/index.php?option=com_contentview=articleid=89

Pozdrawiam off-topicznie ;-)

-- 
Adam Ryba
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: [OT] Linuxie [było: Re: Jak odróżnić sesję ssh od sesji scp sftp?]

2010-05-28 Wątek Paweł Zuzelski
On Fri, 28 May 2010, Adam Ryba wrote:

 W dniu 28 maja 2010 17:05 użytkownik Paweł Zuzelski z...@xatka.net napisał:
  czy mamy do czynienia z pisaniem w terminalu czy przesyłaniem plików.
  Jak to zrobić w linux-ie
 
  Linuksie - RJP kiedyś się wypowiedziała na ten temat.
 
 Tak, wypowiedziała się. Linuxie, Linuksie - obie formy są poprawne
 (choć linux-ie oczywiście nie).
 http://www.rjp.pan.pl/index.php?option=com_contentview=articleid=89

Dzięki za sprostowanie i źródło. Żyłem w przekonaniu, że tylko forma
-ks- została uznana za poprawną.

-- 
Pozdrawiam,
Paweł
___
pld-users-pl mailing list
pld-users-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl


Re: Kontrola ruchu/przepustowości za pomocą tcng

2010-05-28 Wątek Mieszko Kaczmarczyk
Dnia piątek 28 maj 2010 o 13:30:05 Piotr Kakietek napisał(a):
 Chcę aby pasmo było dynamicznie, na przykład:
 - mam połączenie 5 Mbit/s duplex z intenetem (eth0)
 - sieć eth2 ma współczynnik rate ustawiony na 4 Mbit/s a ceil
 5Mbit/s, - sieć eth3 ma współczynnik rate ustawiony na 1 Mbit/s a
 ceil 5Mbit/s,
 
 Teraz, przykładowo w pewnej chwili eth2 wysysa 5Mbit/s i wchodzi
 połączenie na eth3 (które ma przepustowość 1Mbit/s).
 
 Jak to zaimplementować w tcng lub tc aby te dwa interfejsy
 wsþółdzieliły połączenie czyli nasza rurę 5Mbit/s?


Poszukaj opisów HTB/shapera/IMQ itd.


Ja uzywam rcthb


tu fragmenty mojego skryptu:


# INTERFEJS eth1 (ruch przychodzacy)
 /sbin/rchtb_tc qdisc add dev eth1 root handle 1:0 htb default 1 r2q 1
 
 # G��wna klasa dla eth1
 /sbin/rchtb_tc class add dev eth1 parent 1:0 classid 1:1 htb rate 1Mbit 
ceil 1Mbit
 
 # Podzial na pasmo dla lacza internetowego i reszte
 /sbin/rchtb_tc class add dev eth1 parent 1:0 classid 1:2 htb rate 
$max_total ceil $max_total
# /sbin/rchtb_tc class add dev eth1 parent 1:1 classid 1:3 htb rate 
98367kbit ceil 98367kbit prio 9
 /sbin/rchtb_tc qdisc add dev eth1 parent 1:2 handle 20:0 sfq perturb 10
 /sbin/rchtb_tc qdisc add dev eth1 parent 1:3 handle 30:0 sfq perturb 10

 /sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:53 htb rate $min 
ceil $min prio 1 quantum 1500
 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 53 0x flowid 1:2 # dns
 
 
 # pasmo priorytetowe dla ICMP, TOS 0x10 (min. delay) oraz wybranego 
portu 22
 /sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:20 htb rate $min 
ceil $min prio 1 quantum 1500

 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 22 0x flowid 1:20# ssh
 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 6000 0x flowid 1:20  # x-ssh

 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 1429 0x flowid 1:20  # Tibia.pl
 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 7171 0x flowid 1:20  # Tibia.pl

 /sbin/rchtb_tc filter add dev eth1 protocol ip prio 2 parent 1:0 u32 
match ip sport 8074 0x flowid 1:20  # GG

 
# /sbin/rchtb_tc filter add dev eth1 protocol ip prio 1 parent 1:0 u32 
match ip tos 0x10 0xff flowid 1:20
# /sbin/rchtb_tc filter add dev eth1 protocol ip prio 1 parent 1:0 u32 
match ip protocol 1 0xff flowid 1:20
 /sbin/rchtb_tc qdisc add dev eth1 parent 1:20 sfq perturb 10





I dalej przycinasz pasma po adresach IP - nawet mozesz d razu po rzucać 
na różne klasy:




# pasmo priorytetowe dla http-s wybranego portu 443 i radio, mms 
/sbin/rchtb_tc class add dev eth1 parent 1:2 classid 1:81$x htb rate 
$min ceil $max prio 3 quantum 1500 
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 
match ip dst 192.168.1.$x match ip sport 443 0x flowid 1:81$x # www
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 
match ip dst 192.168.1.$x match ip sport 1755 0x flowid 1:81$x # www
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 
match ip dst 192.168.1.$x match ip sport 8000 0x flowid 1:81$x # 
Radio
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 
match ip dst 192.168.1.$x match ip sport 8002 0x flowid 1:81$x # 
Radio
/sbin/rchtb_tc filter add dev eth1 protocol ip prio 3 parent 1:0 u32 
match ip dst 192.168.1.$x match ip sport 9000 0x flowid 1:81$x # 
Radio
/sbin/rchtb_tc qdisc add dev eth1 parent 1:81$x handle 81$x:0 sfq 
perturb 10





  dla ruchu wychodzącego - oznaczasz źródło pakietów po adresach IP:



 # INTERFEJS ETH0 (ruch wychodzacy)
 /sbin/rchtb_tc qdisc add dev eth0 root handle 2:0 htb default 11 r2q 1
 
 
max_total_wy=256kbit
max_wy=180kbit
max_wy2=80kbit
min_wy=8kbit
 
 # glowna klasa
 /sbin/rchtb_tc class add dev eth0 parent 2:0 classid 2:1 htb rate 
$max_total_wy ceil $max_total_wy

 # klasa priorytetowa ACK
 /sbin/rchtb_tc class add dev eth0 parent 2:1 classid 2:10 htb rate 
$min_wy ceil $max_wy prio 1 quantum 1500
 /sbin/rchtb_tc qdisc add dev eth0 parent 2:10 sfq perturb 10
 /sbin/rchtb_tc filter add dev eth0 parent 2:0 protocol ip prio 2 u32 
match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x 0xffc0 
at 1 match u8
 0x10 0xff at 33 flowid 2:10 # ACK
 
 # klasa priorytetowa TOS 0x10 oraz ICMP
# /sbin/rchtb_tc class add dev eth0 parent 2:1 classid 2:9 htb rate 
24kbit ceil $wyjscie prio 2 quantum 1500
# /sbin/rchtb_tc qdisc add dev eth0 parent 2:9 sfq perturb 10
# /sbin/rchtb_tc filter add dev eth0 parent 2:0 protocol ip prio 1 u32 
match ip tos 0x10 0xff flowid 2:10 # TOS 0x10
 
 /sbin/rchtb_tc filter add dev eth0 parent 2:0 protocol ip prio 1 u32 
match ip dport 22 0x flowid 2:10 # port 22
 /sbin/rchtb_tc filter add dev eth0 parent 2:0 protocol ip prio 1 u32 
match ip dport 443 0x flowid 2:10 # port GG? http_S_
 /sbin/rchtb_tc filter add dev eth0