Toon posts:

[CBQ] bandbreedte beperking in SuSe lukt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een simpel suse servertje staan die maar 1 ding hoeft te doen:
al het interne netwerk verkeer doorsturen naar een router, met beperkte snelheid.

--[router: 10.0.0.138] ----- [server: eth0 10.0.0.111 - eth1 192.168.1.1] ----- [clients: 192.168.0/24] --

ik heb suse geinstalleerd en met een simpel iptables script hebben de clients al toegang tot de router/internet;
code:
1
2
3
4
5
6
7
8
9
echo 1 > /proc/sys/net/ipv4/ip_forward
/usr/sbin/iptables --flush
/usr/sbin/iptables --table nat --flush
/usr/sbin/iptables --delete-chain
/usr/sbin/iptables --table nat --delete-chain
/usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
/usr/sbin/iptables -A INPUT -j ACCEPT
/usr/sbin/iptables -A OUTPUT -j ACCEPT


toen heb ik het cbq.init(versie 0.7.3) script gedownload en 2 bestanden aangemaakt,
voor het beperken van de uploads(cbq-1260.out):
code:
1
2
3
4
5
DEVICE=eth1,1Mbit,100Kbit
RATE=128Kbit
WEIGHT=12Kbit
PRIO=5
RULE=192.168.1.1,


voor het beperken van de downloads (cbq-1280.in):
code:
1
2
3
4
5
DEVICE=eth0,1Mbit,100Kbit
RATE=512Kbit
WEIGHT=52Kbit
PRIO=5
RULE=192.168.1.1,


als ik "tc -s class show dev eth1" doe krijg ik;
code:
1
2
3
4
5
6
7
class tbf 1280:1 parent 1280:
class cbq 1: root rate 1Mbit (bounded,isolated) prio no-transmit
 Sent 2716996 bytes 2095 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 7568 undertime 0
class cbq 1:1280 parent 1: leaf 1280: rate 128Kbit (bounded) prio 5
 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  borrowed 0 overactions 0 avgidle 1.5522e+06 undertime 0


als ik "tc -s filter show dev eth1" doe krijg ik;
code:
1
2
filter parent 1: protocol ip pref 200 fw
filter parent 1: protocol ip pref 200 fw handle 0x6 classid 1:1260



helaas gebeurt er gene ene pepernoot :/
de clients kunnen nog vrolijk op volle snelheid down/up-loaden

ik heb geprobeerd om m'n pakketjes te marken met
code:
1
/usr/sbin/iptables -A POSTROUTING --out-interface eth0 --table mangle -j MARK --set-mark 6
en vervolgens in de cbq files "MARK=6" zetten, werkte ook niet.

Verwijderd

Topicstarter
helaas, ik krijg dat cbq.init script niet aan de praat.
ik heb maar een zelf gemaakt scriptje gebruikt, ik zal hem even posten. misschien heeft iemand er ooit nog iets aan;

cbq scriptje;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
TC=/usr/sbin/tc
DNLD=512Kbit     # DOWNLOAD Limit
DWEIGHT=52Kbit   # DOWNLOAD Weight Factor ~ 1/10 of DOWNLOAD Limit
UPLD=96KBit     # UPLOAD Limit
UWEIGHT=8Kbit   # UPLOAD Weight Factor

    $TC qdisc add dev eth0 root handle 11: cbq bandwidth 100Mbit avpkt 1000 mpu 64
    $TC class add dev eth0 parent 11:0 classid 11:1 cbq rate $DNLD weight $DWEIGHT allot 1514 prio 1 avpkt 1000 bounded
    $TC filter add dev eth0 parent 11:0 protocol ip handle 4 fw flowid 11:1

    $TC qdisc add dev eth1 root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64
    $TC class add dev eth1 parent 10:0 classid 10:1 cbq rate $UPLD weight $UWEIGHT allot 1514 prio 1 avpkt 1000 bounded
    $TC filter add dev eth1 parent 10:0 protocol ip handle 3 fw flowid 10:1



iptables;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

/usr/sbin/iptables --flush
/usr/sbin/iptables --table nat --flush
/usr/sbin/iptables --delete-chain
/usr/sbin/iptables --table nat --delete-chain
/usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
# Mark packets to route
# Upload marking
/usr/sbin/iptables -t mangle -A FORWARD -s 192.168.1.2/24 -j MARK --set-mark 3

# Download marking
/usr/sbin/iptables -t mangle -A POSTROUTING -s ! 192.168.0.0/24 -d 192.168.1.2/24 -j MARK --set-mark 4

Verwijderd

Topicstarter
ok, het werk nu.
de clients zijn gecapped, de up en download zijn beperkt.
helaas heeft het niet het gewenste effect, ondanks de snelheidsbeperking is het zo dat de ping zwaar klote is als de maximum download of upload snelheid gebruikt wordt. en dat terwijl er in totaal bandbreedte genoeg is.

wat is hier aan te doen? QoS?

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Er is een script genaamd wondershaper dat ditzelfde doet met CBQ. Dit script werkt hier erg goed. Je zou kunnen overwegen dit script te gebruiken of het als een voorbeeld te gebruiken voor je eigen script.

[ Voor 4% gewijzigd door cool_zero op 18-09-2004 13:25 ]


  • Niek
  • Registratie: Februari 2001
  • Laatst online: 11-02 12:26

Niek

f.k.a. The_Surfer

Misschien is het leuk om eens naar mijn scriptje ("adsl-shaper") te kijken, die is op zijn beurt weer gebaseerd op CBQ en wondershaper: http://niekvandermaas.nl/adsl-shaper/

À vaincre sans péril, on triomphe sans gloire - Pierre Corneille