[ Gogas @ 02.07.2006. 08:57 ] @
Pozdrav svima!
Imam problem sa podesavanjem cbq.init skripte (verzija 0.7.3, ako ima veze, OS je ZipSlack 10.2). Naime, internet delim na 4 racunara i sa ogranicavanjem downloada nema nikakvih problema, sve radi odlicno. Medjutim, problem je u ogranicavanju uploada. Mreza izgleda ovako:

internet -----> AP ----> router ------> lokalna mreza

Na internet se kacim preko wireless-a koji je uboden u linux router na eth0. Ostatak mreze (gde su 4 masine) je isto uboden u router na eth1 (192.168.1.0). Hocu da ogranicim upload na masini 192.168.1.30 na 30kbit/s. Mislim da sam sve podesio kako treba (po uputstvu), ali mozda mi nesto promice. U nastavku je class fajl kojim ogranicavam upload:

DEVICE=eth0,100Mbit,10Mbit
BOUNDED=yes
PRIO=5
WEIGHT=3
RULE=192.168.1.30,
RULE=,192.168.1.30
RATE=30kbit

Pomagajte!
[ Gojko Vujovic @ 02.07.2006. 10:04 ] @
Deluje ok na prvi pogled.. jesu li ostali class fajlovi vezani za eth1, a samo ovaj za eth0? Uglavnom treba da budu za razlicite interfejse ako ogranicavaju razliciti smer (dl/ul).

Sta kaze 'cbq.init stats' i 'tc qdisc'?
[ Gogas @ 02.07.2006. 10:35 ] @
Ima jos jedan class koji se vezuje za eth0, ali je "neaktivan" (nema RULE nijedan, a ovaj problematicni class se izvrsava nakon njega). eth0 je za odlazni saobracaj (u eth0 je uboden kabel koji ide od rutera do AP-a). Kao sto sam rekao, download ogranicava tacno kako treba (lan se vezuje na ruter preko eth1).

Evo sta kaze "cbq.init stats":

### eth0: queueing disciplines

qdisc cbq 1: rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 243034 bytes 599 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 65 undertime 0
qdisc tbf 4: parent 1:4 rate 100000Kbit burst 10212b lat 501us
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
qdisc tbf 6: parent 1:6 rate 30000bit burst 10Kb lat 1.7s
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

### eth0: traffic classes

class cbq 1: root rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 243034 bytes 599 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 65 undertime 0
class cbq 1:4 parent 1: leaf 4: rate 100000Kbit (bounded) prio 5
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 65 undertime 0
class cbq 1:6 parent 1: leaf 6: rate 30000bit (bounded) prio 5
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 6.19853e+06 undertime 0
class tbf 4:1 parent 4:
class tbf 6:1 parent 6:

### eth0: filtering rules

filter parent 1: protocol ip pref 100 u32
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:6
match c0a8010b/ffffffff at 12
filter parent 1: protocol ip pref 100 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:6
match c0a8011e/ffffffff at 12
filter parent 1: protocol ip pref 100 u32 fh 800::802 order 2050 key ht 800 bkt 0 flowid 1:6
match c0a8010b/ffffffff at 16
filter parent 1: protocol ip pref 100 u32 fh 800::803 order 2051 key ht 800 bkt 0 flowid 1:6
match c0a8011e/ffffffff at 16

### eth1: queueing disciplines

qdisc cbq 1: rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 793220 bytes 897 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 65 undertime 0
qdisc tbf 5: parent 1:5 rate 30000bit burst 10Kb lat 1.7s
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

### eth1: traffic classes

class cbq 1: root rate 100000Kbit (bounded,isolated) prio no-transmit
Sent 797082 bytes 906 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 63 undertime 0
class cbq 1:3 parent 1: rate 100000Kbit (bounded) prio 5
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 65 undertime 0
class cbq 1:5 parent 1: leaf 5: rate 30000bit (bounded) prio 5
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 6.19853e+06 undertime 0
class tbf 5:1 parent 5:

### eth1: filtering rules

filter parent 1: protocol ip pref 100 u32
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:5
match c0a8010b/ffffffff at 16
filter parent 1: protocol ip pref 100 u32 fh 800::801 order 2049 key ht 800 bkt 0 flowid 1:5
match c0a8011e/ffffffff at 16

### eth2: queueing disciplines

qdisc pfifo_fast 0: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

### eth3: queueing disciplines

qdisc pfifo_fast 0: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

### ppp0: queueing disciplines

qdisc pfifo_fast 0: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 4318616 bytes 8851 pkts (dropped 0, overlimits 0)


A evo i sta kaze "tc qdisc":

qdisc cbq 1: dev eth0 rate 100000Kbit (bounded,isolated) prio no-transmit
qdisc tbf 4: dev eth0 parent 1:4 rate 100000Kbit burst 10212b lat 501us
qdisc tbf 6: dev eth0 parent 1:6 rate 30000bit burst 10Kb lat 1.7s
qdisc cbq 1: dev eth1 rate 100000Kbit (bounded,isolated) prio no-transmit
qdisc tbf 5: dev eth1 parent 1:5 rate 30000bit burst 10Kb lat 1.7s
qdisc pfifo_fast 0: dev eth2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev ppp0 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1



Meni ovi podaci ne znace mnogo posto nisam bas tako dobro upoznat sa materijom...

[ Gojko Vujovic @ 02.07.2006. 11:28 ] @
Je l možeš da obrišeš sve ostale koji su na eth0 osim tog koji ti treba i probaš tako?
[ Gogas @ 02.07.2006. 20:23 ] @
Probao, i na zalost, ne ide.
[ Gojko Vujovic @ 02.07.2006. 20:33 ] @
Da ne izlazi ta adresa NAT-ovano kroz eth0, pa da zbog toga ne možeš da radiš match po njoj? Da li radi limit kada skineš RULE sasvim u tom fajlu, tada bi valjda trebalo da hvata sav traffic?
[ Gogas @ 03.07.2006. 08:22 ] @
Ne radi ni tako...
Da probam mozda neku drugu verziju skripte (mozda neku 0.6.x)?
[ Gojko Vujovic @ 03.07.2006. 09:25 ] @
Nemam ideju, nesto je tu neispravno. Je l ima NAT-a, mozda je tu problem?
[ Gogas @ 03.07.2006. 10:51 ] @
Sto se NAT-a tice situacija je sledeca:
od PREROUTING-a ima par otvorenih portova za torente,
u OUTPUT-u nema nista,
u POSTROUTING-u ima masquerade ako je outgoing interface ppp+

i to je sve. Svuda je default action podesen na accept (PREROUTING, OUTPUT i POSTROUTING)