Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

08.11.2007, 08:19

Traffic Shaper shapet nicht richtig :)

Moin,

ich hab auf meinem Debian Router den Traffic Shaper + iptables eingerichtet.
Leider funktioniert es nicht wie gewünscht :/
Wenn etwas meine gesamte Bandbreite benötigt, z.B. FTP was als letzte Priorität eingerichtet ist leiden höhere priorisierte Verbindungen trotzdem drunter (z.b. SSH,HTTP(S)).

Ich bekomm durch meine Leitung max. ~135kb Upload, ich hab den Traffic beim tc auf 950kbit begrenzt damit sich keine Queue im DSL-Modem bildet.

Evtl. ist das Quantum nicht korrekt gesetzt? :) Ich hab nicht verstanden wie ich das korrekte Quantum errechne, ausser das es höher als die MTU sein soll(1492), also hab ich Quantum auf 1500 gesetzt und die Fehlermeldungen waren verschwunden.

Ein anderes Problem ist noch dass ich nicht weiß wie ich Traffic von Spielen priorisieren könnte, WC3 nutzt z.B. keine festen Ports sondern Ports >49152.

Ich bin für jede Hilfe und Verbesserungsvorschläge dankbar.

Hier meine Config:
(Die Kommentare stimmen nicht mehr, war bis jetzt zu faul sie zu aktualisieren :))

Quellcode

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
52
53
54
55
56
57
58
59
60
####create root qdisc
tc qdisc add dev $INETDEV root handle 1: htb default 15

###main rate limit class
tc class add dev $INETDEV parent 1: classid 1:1 htb rate 950kbit #limit to 137kbit, limit muss kleiner sein als max. speed damit die Pakete nicht in der Warteschlange des DSL-Modems landen

###15kb for DNS, ICMP echo, TCP Overhead
tc class add dev $INETDEV parent 1:1 classid 1:10 htb rate 110kbit ceil 1000kbit prio 0
tc qdisc add dev $INETDEV parent 1:10 handle 10: sfq perturb 10 quantum 1500
###40kb for games should be enough
tc class add dev $INETDEV parent 1:1 classid 1:11 htb rate 300kbit ceil 1000kbit prio 1
tc qdisc add dev $INETDEV parent 1:11 handle 11: sfq perturb 10 quantum 1500
####30kb for IMs, IRC, SSH, teamspeak
tc class add dev $INETDEV parent 1:1 classid 1:12 htb rate 230kbit ceil 1000kbit prio 2
tc qdisc add dev $INETDEV parent 1:12 handle 12: sfq perturb 10 quantum 1500
###add 39kb class for browsing
tc class add dev $INETDEV parent 1:1 classid 1:13 htb rate 309kbit burst 480kbit ceil 1000kbit prio 3
tc qdisc add dev $INETDEV parent 1:13 handle 13: sfq perturb 10 quantum 1500
###class for remaining stuff(p2p,other unimportant stuff)
tc class add dev $INETDEV parent 1:1 classid 1:15 htb rate 1kbit ceil 1000kbit prio 4
tc qdisc add dev $INETDEV parent 1:15 handle 15: sfq perturb 10 quantum 1500

###create shaper chain
$IPTABLES -t mangle -N SHAPER-OUT
$IPTABLES -t mangle -I POSTROUTING -o $INETDEV -j SHAPER-OUT

#########################Highest Priorit(0)
### give "overhead" packets highest priority(http://www.knowplace.org/pages/howtos/traffic_shaping_with_linux/network_protocols_discussion_traffic_shaping_strategies.php)
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --syn -m length --length 40:68 -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --tcp-flags ALL SYN,ACK -m length --length 40:68 -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --tcp-flags ALL ACK -m length --length 40:64 -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --tcp-flags ALL RST -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --tcp-flags ALL ACK,RST -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --tcp-flags ALL ACK,FIN -j CLASSIFY --set-class 1:10

###DNS
$IPTABLES -t mangle -A SHAPER-OUT -p udp --dport 53 -j CLASSIFY --set-class 1:10
###ICMP echo request/reply
$IPTABLES -t mangle -A SHAPER-OUT -p icmp --icmp-type echo-reply -m limit --limit 2/second -j CLASSIFY --set-class 1:10
$IPTABLES -t mangle -A SHAPER-OUT -p icmp --icmp-type echo-request -m limit --limit 2/second -j CLASSIFY --set-class 1:10

#########################Priority 1
###WC3
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --dport 6112 -j CLASSIFY --set-class 1:11 #WC3
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --sport 6112 -j CLASSIFY --set-class 1:11 #WC3

#########################Priority 2
###SSH
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --sport 22 -j CLASSIFY --set-class 1:12
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --dport 22 -j CLASSIFY --set-class 1:12
###irc
$IPTABLES -t mangle -A SHAPER-OUT -p tcp --dport 6667 -j CLASSIFY --set-class 1:12
#########################Priority 3
###HTTP(S)
$IPTABLES -t mangle -A SHAPER-OUT -p tcp -m multiport --dports 80,443 -j CLASSIFY --set-class 1:13
#########################Priority 4
###Teamspeak
$IPTABLES -t mangle -A SHAPER-OUT -p udp --dport 8767 -j CLASSIFY --set-class 1:12 #teamspeak
###remaining Stuff
$IPTABLES -t mangle -A SHAPER-OUT -j CLASSIFY --set-class 1:15

2

08.11.2007, 15:33

RE: Traffic Shaper shapet nicht richtig :)

Ein fehler hab ich endteckt ceil müsste natürlich auch auf 950kbit festgelegt sein, hatte ich vergessen zu ändern.

Leider behob dies aber auch nicht mein Problem :/

Thema bewerten