Ubiquiti EdgeMAX EdgeRouter Pro

Bandbreitenbeschränkung von VLANs auf Ubiquiti EdgeOS / Vyatta

Wer seine Netzwerke sauber mittels VLANs (IEEE 802.1q) segmentiert hat, möchte häufig auch die Bandbreiten einzelner Netze begrenzen, bzw. Mindestbandbreiten garantieren. Ein praktisches Beispiel zuhause und im Büro ist z.B. wenn man Gästen ein separates WLAN zur Verfügung stellt, welches dann über ein eigenes VLAN läuft, so dass kein Zugriff auf interne Ressourcen möglich ist und welches nicht die komplette Internet-Bandbreite belegen können soll – oder aber damit die Kids nicht dauernd die Leitung verstopfen.
Im ISP-Umfeld können VLANs genutzt werden die Pakete der jeweiligen Kunden zu separieren und ihre Datenraten gemäß der gebuchten Limits zu setzen.

Hierzu bedient man sich auf Seite des Routers sog. QoS-Features.

Das hier gezeigte Beispiel wurde auf einem Ubiquiti EdgeMAX EdgeRouter Lite (ERL3) und einem EdgeRouter Pro mit EdgeOS 1.4.1 und 1.5.0 getestet.

EdgeOS / Vyatta / VyOS kennt acht verschiedene Traffic Policys. Sieben davon können aus technischen Gründen nur auf ausgehenden Traffic angewandt werden und nur eine auf eingehenden Traffic. Da wir für Kunden neben der maximalen Bandbreite im Down- und Upstream auch eine garantierte Bandbreite festlegen wollen, ist der Traffic Shaper das Mittel der Wahl. Um ihn auch auf den Upstream (Kundensicht) anwenden zu können, bedienen wir uns eines Tricks und nutzen ein Input Interface.

Wenn von eingehendem und ausgehendem Traffic (ingress / egress) gesprochen wird, dann bezieht sich das immer auf die Perspektive des Geräts – hier des Routers.

Ein Input Interface ist ein virtuelles Interface im Router zu / von dem wir Traffic umleiten können. Es ist eine Einbahnstraße – was man reinschickt, kommt direkt wieder raus. Wir leiten den eingehenden Traffic (Kunden-Upstream) der VLANs (hier: das VLAN mit der ID 1314) in je ein Input Interface können dessen ausgehenden Traffic dann ebenfalls mit einem Traffic Shaper steuern.

VLAN Interface anlegen

set interfaces ethernet eth1 vif 1314
set interfaces ethernet eth1 vif 1314 description "VLAN Beispielkunde"
set interfaces ethernet eth1 vif 1314 address 192.168.13.5/30

Input Interface anlegen

set interfaces input ifb1
set interfaces input ifb1 description "Upstream VLAN 1314"

Das System unterstützt das Anlegen von insgesamt 1000 Input Interfaces von ifb0 bis ifb999.

Kunden-Upstream in Input Interface umleiten

set interfaces ethernet eth1 vif 1314 redirect ifb1

Traffic der auf eth1 in das VLAN 1314 eintritt (ingress) wird in das Input Interface ifb1 umgeleitet.

Jedes VLAN benötigt ein eigenes Input Interface um dessen Upstream separat mittels eines Shapers begrenzen zu können!

Traffic Policys anlegen

set traffic-policy shaper SHAPER-10-1
set traffic-policy shaper SHAPER-10-1 description "max 10mbit, min 1mbit"
set traffic-policy shaper SHAPER-10-1 bandwidth 10mbit
set traffic-policy shaper SHAPER-10-1 default bandwidth 1mbit
set traffic-policy shaper SHAPER-10-1 default ceiling 100%
set traffic-policy shaper SHAPER-10-1 default burst 640k

Dieser Shaper definiert eine Gesamtbandbreite von maximal 10 Megabit die Sekunde. Standard-Traffic wird 1 Megabit Bandbreite garantiert und kann die ganze Bandbreite des Shapers (100% von 10 Megabit) nutzen. Bursts können bis zu 640 Kilobyte lang sein.

Diese zunächst etwas kompliziert aussehende Syntax ist dem Umstand geschuldet, dass ich innerhalb eines Shapers verschiedene Traffic-Klassen definieren und diesen einzeln einen Anteil am Gesamttraffic zuteilen kann. Davon machen wir aber hier keinen Gebrauch. In der Praxis kann man das nutzen um etwa VoIP-Traffic einen Anteil an der Gesamtbandbreite zu garantieren, damit auch z.B. bei großen Downloads die Sprachqualität nicht leidet. Möglich ist aber auch Traffic von / zu spezifischen Netzen und auch Ports zusätzlich zu beschränken.

Analog dazu begrenzt der nächste Shaper auf maximal 5 Megabit, garantiert ebenso 1 Megabit pro Sekunde und begrenzt Bursts auf 320 Kilobyte.

set traffic-policy shaper SHAPER-5-1
set traffic-policy shaper SHAPER-5-1 description “max 5mbit, min 1mbit”
set traffic-policy shaper SHAPER-5-1 bandwidth 5mbit
set traffic-policy shaper SHAPER-5-1 default bandwidth 1mbit
set traffic-policy shaper SHAPER-5-1 default ceiling 100%
set traffic-policy shaper SHAPER-5-1 default burst 320k

Traffic Policys zuweisen

set interfaces ethernet eth1 vif 1314 traffic-policy out SHAPER-10-1
set interfaces input ifb1 traffic-policy out SHAPER-5-1

Nach dieser Zuweisung kann der Kunde über sein VLAN mit wenigstens 1 Megabit die Sekunde herunter- und raufladen und mit maximal 10 Megabit “saugen” und mit 5 Megabit die Sekunde hochladen.

Traffic Policys sind reine Definitionen und können an beliebig vielen Stellen wiederverwendet werden, wo jeweils dieselben Geschwindigkeiten vorgegeben werden sollen.

Kommentare (18)

  1. Löse das ganze Problem über die eingebaute Funktion meiner FritzBox, aber für Bastler empfiehlt sich natürlich deine Variante ;-)

  2. Coole Sache so ein Input Interface, genau sowas brauche ich. Wir haben in unserem Dienstleistungsunternehmen zwar eine recht gute Internet Leitung liegen, allerdings nutzten diese mehre Leute und ich muss zum einen sicherstellen das unsere Gäste von unserem Ferienhauses sowie meine Mitarbeiter und meine Familie stets konstanten Zugang zum Internet haben. Da ich aber schon des öfter Probleme damit hatte brauche ich nun eine Lösung. Mein Gefühl sagt mir irgendwie das gewisse Gäste wohl anscheinend downloads laufen haben während Sie sich bei uns einquatieren was natürlich im Falle des Mittagsgeschäftes extrem schlecht ist da dadurch meine Mitarbeiter nicht vernünftigt arbeiten können. Es ist eine echte Innovation für mich! So kann ich wenigstens die Bandbreite für mein Geschäft sichern und den rest der Bandbreite auf die Ferienwohnung bzw meine Familie aufteilen. So werden alle davon profitieren. ;)

    Vielen Dank!

    Gruß euer Markus

  3. Hi Leute!
    Ein schöner Artikel.
    Danke für die Infos. Ich habe mir auch schon mal drüber Gedanken gemacht
    Beste Grüße ;)

  4. Das ist eine sehr gute Erklärung, nach der ich leider wirklich lange suchen musste. Vielen Dank dafür! Hätte ich sie eher gefunden, hätte ich mir sicher viel Zeit gespart.

  5. Danke für den netten und hilfreichen Beitrag. Ich weiß zwar nicht ob ich es bei meinem Netzwerk anlegen möchte aber ich speicher mir den Link auf jeden Fall mal.

    Liebe Grüße und Feintag noch
    Gerd

  6. Wirklich toller Artikel, der mir genau bei meinem Problem weiterhilft.
    Werde mir das genau anschauen.
    Mfg

  7. Tolle Anleitung, habe selbst oft mit Netzwerktechnik zu tun. Werde nun erstmal eine rauchen, danach muss ich noch bis morgen einen Cisco Router konfigurieren. Das geht aber schon relativ flüssig, da ich die meisten Befehle auswendig kenne.

Kommentare sind geschlossen.