Hi!
cibi schrieb:
Doh! Das hatte ich übersehen bzw. ich habe die default Klasse auf 11 gesetzt, weswegen ich das ignoriert hatte...
( --l7proto sip erfasst glaube ich nur die Signalisierung ?)
Genau. Der Medienstrom (also "die Sprache") wird via RTP übertragen; die Ports kannst du bei * in der rtp.conf festnageln (IIRC per defaul 10000 bis 20000).
BTW: Für neuere Skripte wäre es eventuell Sinnvoll, iptables bin, Uploadrate und MTU/umax in eine Variable zu packen.
Habe ich bewusst drauf verzichtet, da das, was ich gepostet habe, nur ein Teil eines viel größeren Scriptes ist.
Für die, die es nicht wissen:
rc.local.firewall ist die Datei bei IPCop, die bei der Initialisierung von rc.firewall (dem default iptable-ruleset des IPCops) aufgerufen wird und eigene, das iptable-ruleset betreffende, Anweisungen enthält bzw. enthalten kann. Diese ist für "tiefere Eingriffe" gedacht, die nicht über das WebGUI zu konfigurieren sein sollen, um den Funktionsumfang möglichst gering zu halten. Per default ist diese leer.
Bei mir ist da noch zig anderes Zeugs drinne.
Wer selbst weiterarbeiten will ist IMHO mit dem Script von Udo Schacht-Wiegand weit besser bedient. Etwas anderes ist meines ja auch nicht - die Kernpunkte sind dort quasi 1:1 übernommen.
Eleganter wäre es, wenn ich von dort aus (oder von rc.update.red (diese wird aufgerufen, wenn sich irgendetwas am If zum Internet ändert)) ein eigenes Script aufrufen würde, am besten eines, dass man über das Webinterface erstellt hat.
So in dieser Art macht es der schon vorhandene QoS-Mod von Markus Hoffmann, allerdings mit htb.
Man müsste quasi alles als Variable deklarieren, so unheimlich schwierig ist das auch nicht, aber recht zeitaufwändig. Ich selbst befasse mich erst seit ein paar Stunden mit hfsc, habe gerade einmal die Ausgezeichnete Publikation "A Hierarchical Fair Service Curve Algorithm for LinkSharing, RealTime and Priority Services" von Zhang u.a.[1] gelesen, und ein paar Thread auf der lartc-ML ausgegraben, deshalb kann ich keinesfalls behaupten, das schon richtig geblickt zu haben.
HFSC ist nicht besonders gut dokumentiert (siehe auch entsprechende Threads auf der LARTC-Mailingliste), vieles muss man sich mühselig aus zig Quellen zusammensuchen.
BTW2: Wo stand nochmal die Beschreibung für rtp.pat (--l7proto rtp). Ich kann es nicht mehr finden
Mir ist keine bekannt, auf der offiziellen Projektseite ist RTP auch nicht als unterstütztes Protokoll aufgeführt[2], nichteinmal als Versuchsballon. Ich habe ein paar Pakete mal genauer untersucht, aber ich kann mir da auch keine Regel zusammenbasteln - habe aber auch davon nicht so die Ahnung.
Gewünscht wird das oft, aber so einfach lässt sich RTP nicht identifizieren, jedenfalls nicht einigermaßen eindeutig und vorallem in der Form, als das FalsePositives ausgeschlossen wären (also wichtiger, als alle Pakete eines Protokolles zu identifizieren ist es, möglichst kein anderes Protokoll auf die Regel eines anderen matchen zu lassen, da du mit l7-filter auch bestimmte Protokolle blocken kannst).
Allerdings lässt es sich anhand der Sourceports recht gut erkennen, da du diese ja zweifelsfrei festlegst; sicherheitshalber könnte man das Ruleset noch dahingehend verfeinern, als dass neben dem sport auch der Host eindeutig matchen muss (IIRC macht das das Originalscript von Udo auch).
Gruß
Sven
[1]
http://www-2.cs.cmu.edu/~hzhang/papers/SIGCOM97.pdf
[2]
http://l7-filter.sourceforge.net/protocols