PF: Queing mit AltQ und ADSL und 3 Interfaces

Reks30

Well-Known Member
Hallo,

Ich habe irgendwie ein Denkproblem oder vielleicht geht das ja auch nicht, ich weiss nicht genau: Jedenfalls habe ich einen OpenBSD Router auf dem ich nun auch Priority Queing einsetzen möchte. Mein Problem dabei: Der Router hat 3 Interfaces, eines Kabellan, eines Wlan und eines DSL. Mein DSL wiederrum ist ansynchron, also ADSL. Das heißt nun ich habe eine unterschiedliche Geschwindigkeit für Upload und Download. In so einem Fall, also bei unterschiedlicher Upload und Download-Geschwindigkeit sagt ja die OpenBSD-Faq, das man dann Queing sowohl auf dem internen als auch auf dem externen Interface einschalten muß um beide Bandbreiten zu berücksichtigen, damit Queing auch in beide Richtungen funktioniert. Nun ist es aber so, das ich ja auch Verkehr zwischen den beiden internen Interfaces habe und dort gilt wiederrum eine ganz andere Bandbreite. Also kann ich meine externe Bandbreite (egal für welche Richtung) gar nicht auf ein internes Interface angeben, weil dann für den Verkehr Wlan zu Kabellan eine falsche Gesamtbandbreite, nämlich die viel zu niedrige fürs Internet gelten würde.

Heißt das ich kann kein Queing verwenden, weil ich die Bandbreite niemals korrekt angeben kann (ich habe ja gewissermassen 3 unterschiedliche Bandbreiten: Intern zu Intern, Intern zu Internet und Internet zu Intern).

Hoffe das war verständlich was ich meine.

Gruß
Reks30
 
Erstens heisst das "asymmetrisches" DSL und zweites kannst du das Queueing fuer jedes Interface separat einstellen. Also ist das alles garkein Problem.
 
Natürlich kann ich auf jedem Interface Queueing separat einstellen, aber eben nur mit einer Bandbreite, ich habe aber auf dem externen Interface nun mal 2 Bandbreiten für Upload und Download. Die Anleitungen die ich gelesen habe, machen in so einem Fall folgendes: Sie geben die Uploadbandbreite für das externe Interface an und die Downloadbandbreite für das interne Interface.

Nun habe ich aber 2 interne Interfaces, zwischen denen auch noch mal Verkehr geroutet wird aber mit noch mal einer anderen Geschwindigkeit, nun kann ich aber nicht, wenn ich bereits für das interne Interface bereits eine Geschwindigkeit angegeben habe, noch eine zusätzliche angeben, das müßte ich ja aber. Tatsächlich wird so ein Fall nirgends beschrieben. Die 2 Beispiele in der OpenBSD-FAQ, behandeln einmal die Konfiguration, bei ADSL aber mit nur einem internen Interface und einmal zwar 2 interne Interfaces aber eine symmetrische Aussenanbindung. Ich brauche aber die Kombination aus beiden. Das scheint nach meinem bisherigen Suchen tatsächlich nicht zu gehen.

Wenn du da eine Möglichkeit siehst, dann wäre ein Tip oder Link zu einer Beschreibung wo so was schon mal gemacht wurde Klasse.

Gruß
Reks30
 
Du kannst beim Packet Queueing doch über Filter Rules klar festlegen welcher 'Traffic' von der jeweiligen Queue gehandelt werden soll. In sofern seh ich Dein Problem nicht wirklich. Im Übrigen kannst Du ja auch pro Interface zusätzlich einzeln Queueing machen und sogar unterschiedliche Schedulers verwenden. Les am besten einfach nochmal die PF FAQ (z.B. http://www.openbsd.org/faq/pf/queueing.html) in Ruhe durch.

Gruß Bummibaer
 
Ja, ich kann Filterregeln zu unterschiedlichen Queues zuweisen, aber die Bandbreite kann ich ja pro Interface nur einmal zuweisen. Die müßte aber unterschiedlich sein. Oder wird die Angabe der Bandbreite im altq Befehl ignoriert, wenn ich eine Filterregel gar keiner Queue zuweise? Was passiert mit Verkehr der keiner Queue angehört? Was genau macht denn dann die Bandbreitenangabe im altq Befehl?

Gruß
Reks30
 
Tja, also ich habe es jetzt mal ausprobiert und es geht eben nicht. Ich habe auf dem Interface für das Kabellan altq aktiviert und die Downloadbandbreite des externen Interface angegeben. Ebenfalls habe ich altq auf dem externen Interface aktiviert und die Upload-Bandbreite angegeben. Internetseitig funktioniert das auch eiwandfrei. Ich habe einen fetten FTP-Download angestossen und konnte dabei trotzdem (was höher priorisiert wurde) per SSH arbeiten. Aber: Wenn ich aus dem Wlan etwas ins Kabellan transferierte geschieht das plötzlich nur noch mit der angegeben externen Downloadgeschwindigkeit, was ja auch logisch ist. Zu dieser Seite hätte ich aber viel mehr Bandbreite zur Verfügung (die ich auch nutzen will). Erhöhe ich den Wert für altq auf dem internen Interface läuft zwar die Verbindung zum Wlan besser, aber es hat keine Wirkung mehr aufs Internet, es geht also immer nur entweder oder, aber nicht beides.

Gruß
Reks30
 
Vielleicht hast Du einfach vergessen für die einzelnen 'Problemstellungen' eigene virtuelle Interfaces bereit zu stellen. ;)

Wie wäre es das Wlan an ein virtuelles Interface ins Kabellan anzubinden, da spricht nichts gagegen, eher was dafür. Dann kannst Du von Verbindungen aus dem Wlan ins Kabellan auch die volle Bandbreite nutzen.

Gruß Bummibär
 
Danke für den Tip Bummibaer, aber ich muß mich jetzt echt entschuldigen: Das was du sagst wäre natürlich auch eine Möglichkeit, aber es geht auch anders: Mein Fehler vorher war das ich immer nur die priq Methode verwendet habe, Damit lassen sich aber keine Child und Parent Warteschlangen machen. Die Lösung für mein Problem habe ich gerade herausgefunden: Ich definiere als Bandbreite für das interne Interface keinen festen Wert sondern einfach 100%. Dann muß ich 2 verschiedene Warteschlangen mit Childwarteschlangen darunter definieren. Die eine Parentwarteschlange bekommt dann den tatsächlichen Wert der externen Downloadgeschwindigkeit, die andere den Wert der Wlangeschwindigkeit. Meine weiteren Definitionen mache ich dann als Childwarteschlangen, dies setzt cbq statt priq vorraus. Dann teile ich die Warteschlangen den Regeln zu und Regeln fürs Wlan bekommen Queues aus der Definition mit der hohen Bandbreite des Parents und externe Verbindungen die aus den Queues mit der niedrigeren Parentqueue. Dazu ist also das 100% statt der absoluten Werte bei der Bandbreite da. Die tatsächliche Bandbreite wird dann von den Parentqueues genommen.

Gruß
Reks30
 
Back
Top