Bandbreedte beperken

Pagina: 1
Acties:

  • shadax
  • Registratie: Mei 2000
  • Niet online
Het is hier al vaker gevraagd, maar ik kom er echt niet uit. Ik wil de bandbreedte in mijn netwerkwerk beperken, zodat iedereen een beetje normaal kan blijven surfen als iemand iets aan de downloaden is. Op mijn server draait debian met kernel 2.4.x.

Ik heb shaper geinstalleerd, en met deze howto geprobeerd er wat van te maken. Het enige bestandje in mijn shaper-directory is cbq-10.ftp-network:
code:
1
2
3
4
5
6
DEVICE=eth0,10Mbit,1Mbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.1.0/24
RULE=:21,192.168.1.0/24

Maar als ik cbq start dan krijg ik:
code:
1
2
3
Starting CBQ traffic shaping: RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
shaper.

Wat doe ik fout?

Oh ja, lsmod geeft:
code:
1
2
3
4
5
6
Module          Size  Used by
sch_prio            2624   0  (unused)
sch_sfq          3696   0  (unused)
sch_tbf          2640   1
sch_cbq         11216   1
...

  • Red devil
  • Registratie: December 1999
  • Laatst online: 21-08 15:35
als je mijn draadje helemaal volgt en uitvoert:

[topic=135762]

dan gaat het zeker werken
succes ermee

Verwijderd

Ik zie er niks fouts aan, dus het probleem moet wel in je kernel config zitten lijkt het zo.

Het enig dat ik anders heb is dat bij mij de verschillende bestanden in de shaper dir een naam hebben waarin een 4 cijferige HEX code staat.
Het zou dan bij jou dus cbq-0010.ftp-network worden.

[edit]
Verhip: een kleine controle op mijn machine, waarin ik even een bestandje hernoem naar een 2 cijferige HEX code, geeft precies dezelfde foutmelding als jij hebt. Het ligt dus aan een foutieve filenaam.

Verwijderd

B.T.W.
In [topic=247350] kan het originele draadje nog lezen, daar gaat het o.a. verder over borrowing.
Iets dat met shaper heel makkelijk in te stellen is. :)

  • shadax
  • Registratie: Mei 2000
  • Niet online
Ik heb ff de thread gelezen, alleen de bestandsnaam veranderen was niet goed genoeg, kernel miste wat opties, nu geeft hij geen foutmeldingen meer. Tnx!

  • shadax
  • Registratie: Mei 2000
  • Niet online
Het leek alleen te werken :(, ik heb een serie filetjes in de vorm van
cbq-00xx.[computernaam] in /etc/shaper staan, waarbij xx de laatste 2 getallen zijn van het ip van de computer.

in cbq-0010.test staat:
code:
1
2
3
4
5
DEVICE=ppp0,115Kbit,11Kbit
RATE=20Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.1.10

(Kabel via ppp0, netwerk aan eth0)

/etc/init.d/shaper start ging goed, maar met het testen kon ik vanaf die computer een bestand van 1/2 meg downloaden met gemiddeld 6,31 kB/s.

/etc/init.d/shaper list geeft:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
---[ ppp0: configured classes ]---------------------------

class cbq 1: root rate 115Kbit (bounded,isolated) prio no-transmit
class cbq 1:100 parent 1:1 leaf 8074: rate 10Kbit (bounded) prio 5
class cbq 1:10 parent 1:1 leaf 806f: rate 20Kbit (bounded) prio 5
class cbq 1:1 parent 1: rate 115Kbit prio no-transmit
class cbq 1:30 parent 1:1 leaf 8070: rate 40Kbit (bounded) prio 5
class cbq 1:40 parent 1:1 leaf 8071: rate 40Kbit (bounded) prio 5
class cbq 1:50 parent 1:1 leaf 8072: rate 40Kbit (bounded) prio 5
class cbq 1:60 parent 1:1 leaf 8073: rate 40Kbit (bounded) prio 5

---[ ppp0: queueing disciplines ]-------------------------

qdisc tbf 8074: rate 10Kbit burst 10Kb lat 4.9s
qdisc tbf 8073: rate 40Kbit burst 10Kb lat 1.2s
qdisc tbf 8072: rate 40Kbit burst 10Kb lat 1.2s
qdisc tbf 8071: rate 40Kbit burst 10Kb lat 1.2s
qdisc tbf 8070: rate 40Kbit burst 10Kb lat 1.2s
qdisc tbf 806f: rate 20Kbit burst 10Kb lat 2.4s
qdisc cbq 1: rate 115Kbit (bounded,isolated) prio no-transmit

Maar het werkt dus niet...

Verwijderd

in cbq-0010.test staat:
code:
1
2
3
4
5
DEVICE=ppp0,115Kbit,11Kbit
RATE=20Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.1.10
Als je hier inzet LEAF=sfq dan moet hij het wel doen, als het goed is. Eventueel kan je er nog ISOLATED=yes inzetten (heeft niet veel nut, maar goed), aangezien je niet wil dat er van die klasse door een subklasse geborrowed wordt.

  • shadax
  • Registratie: Mei 2000
  • Niet online
Met
code:
1
2
3
4
5
6
DEVICE=ppp0,115Kbit,11Kbit
RATE=20Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.1.10
LEAF=sfq

Red ik op die pc nog steeds 6,5 kByte per seconde..

Verwijderd

[dubbel]

Verwijderd

Zeker weten dat hij niet door een andere rule gepakt wordt per ongeluk?
Het komt namelijk wel redelijk dicht in de buurt van 40 Kbit (okee iets er overheen, maar CBQ is niet heel erg nauwkeurig).

Kijk eens bij de stats over welke klasse de pakketjes gaan.

  • shadax
  • Registratie: Mei 2000
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
[root@router shaper]# tail -f *
==> cbq-0010.test <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=20Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.1.10
LEAF=sfq

==> cbq-0030.shadax <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=40Kbit
WEIGHT=4Kbit
PRIO=5
RULE=192.168.1.30
LEAF=sfq

==> cbq-0040.comp <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=40Kbit
WEIGHT=4Kbit
PRIO=5
RULE=192.168.1.40
LEAF=sfq

==> cbq-0050.hobby <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=40Kbit
WEIGHT=4Kbit
PRIO=5
RULE=192.168.1.50
LEAF=sfq

==> cbq-0060.linux2 <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=40Kbit
WEIGHT=4Kbit
PRIO=5
RULE=192.168.1.60
LEAF=sfq

==> cbq-0100.linux3 <==
DEVICE=ppp0,115Kbit,11Kbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=192.168.1.100
LEAF=sfq

Meer staat er niet in die directory en dit 6 kbyte/s is soms 's avonds het maximale wat ik uit mijn casema modem geperst krijg.....

  • shadax
  • Registratie: Mei 2000
  • Niet online
stats vergeten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/etc/init.d/shaper stats
---[ ppp0: configured classes ]---------------------------

class cbq 1: root rate 115Kbit (bounded,isolated) prio no-transmit
 Sent 126787 bytes 1272 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 55651 undertime 0
class cbq 1:100 parent 1:1 leaf 8080: rate 10Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 1.65856e+07 undertime 0
class cbq 1:10 parent 1:1 leaf 807b: rate 20Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 7.50302e+06 undertime 0
class cbq 1:1 parent 1: rate 115Kbit prio no-transmit
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 55651 undertime 0
class cbq 1:30 parent 1:1 leaf 807c: rate 40Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 2.96172e+06 undertime 0
class cbq 1:40 parent 1:1 leaf 807d: rate 40Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 2.96172e+06 undertime 0
class cbq 1:50 parent 1:1 leaf 807e: rate 40Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 2.96172e+06 undertime 0
class cbq 1:60 parent 1:1 leaf 807f: rate 40Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 2.96172e+06 undertime 0

---[ ppp0: queueing disciplines ]-------------------------

qdisc sfq 8080: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc sfq 807f: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc sfq 807e: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc sfq 807d: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc sfq 807c: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc sfq 807b: quantum 1500b
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

 qdisc cbq 1: rate 115Kbit (bounded,isolated) prio no-transmit
 Sent 126787 bytes 1272 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 55651 undertime 0

Het verkeer gaat dus niet door de verschillende klassen...

Verwijderd

Wacht eens even.... /me ziet de fout waarschijnlijk.

Ik neem aan dat je het verkeer van buitenaf wil beperken naar binnen (dus download van de clients) ?

Dat verkeer komt over ppp0 binnen en wordt waarschijnlijk via eth0 verdeelt richting je clients.

Je kunt dus alleen shapen over een uitgaande interface.
Voor download verkeer van je clients is dat in dit geval dus eth0. Voor upload verkeer van je clients is dat dus ppp0.

Voor verkeer ergens naartoe (download verkeer over eth0) gebruik je RULE=192.168.1.60. Voor verkeer ergens vandaan (upload verkeer over ppp0) gebruik je RULE=,192.168.1.60.

Bovenstaande geldt dus voor het shapen van traffic voor client 192.168.1.60 ;)

Overigens kan je door de optie "stats" achter shaper te geven precies zien hoeveel pakketjes er over de verschillende klasses verstuurd zijn.

[edit]
Laatste deel van dit verhaal kan je dus vergeten ;)
Overigens bevestigt de uitkomst van die stats wel mijn verhaal :)

  • shadax
  • Registratie: Mei 2000
  • Niet online
Heel erg bedankt, met 2,5-3 kbyte/s lijkt het nu te werken. :)

Verwijderd

ur welcome :)
Pagina: 1