mikrocontroller.net

Forum: PC Hard- und Software Routing, traffic control - Internet-Bandbreite für Clients mit Prioritäten versehen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Vroni M. (vronilog)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

das Setup:

Ein Raspberry (Arch-Linux) bezieht Internet über Wlan und gibt es per 
Ethernet an einen Router weiter, der seinerseits mehrere Clients 
versorgt (*). Funktioniert optimal, wurde nach dieser Anleitung 
eingerichtet: https://wiki.archlinux.org/index.php/Internet_sharing

das Ziel:

Die verfügbare Bandbreite schwankt stark. Einer der Clients soll mit 
absolut höchster Priorität versorgt werden also so, dass er garnicht 
bemerkt, ob grade andere Clients den Zugang auslasten. Freie 
Kapazitäten, also ggf. auch alle, sollen unter den anderen Clients 
aufgeteilt werden. Deren Bandbreite einfach zu beschneiden ist es also 
nicht...

Ich glaube, dass ich hier schonmal nicht ganz falsch bin: 
https://wiki.archlinux.org/index.php/Advanced_traffic_control#Using_tc_only 
. Auf dieser Seite habe ich nun eune ganze Weile versucht mich 
einzulesen und bishher vor allem eines verstanden: Bandbreiten zu 
managen ist eine eher komplexe Geschichte.

Könntet ihr mir da weiterhelfen bitte? Auf der Seite sind 
unterschiedliche Konzepte beschrieben wie Stochastic Fairness Queueing 
(SFQ), Hierarchical Token Bucket (HTB) usw... Ist da eines das richtige 
für dieses Problem? HTB hört sich gut an, da wird aber wohl von einer 
"fixed bandwith" ausgegangen -ist also nix...

Mit Ausprobieren an die Geschichte ranzugehen würde Tage dauern. Könntet 
ihr mmich bitte in die richtige Richtung schicken? Hat jemand von euch 
sowas vielleicht sogar schonmal eingerichtet?

Gibt es vielleicht eine einfache Lösung durch den Sonderfall, dass es ja 
eigentlich nicht  mehrere Prioritäten gibt, sondern lediglich einen 
"Masterclient"?

Danke!!!


/edit

(*) IPs der Clients sind statisch

: Bearbeitet durch User
von Eric (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Uplink deines Routers ist hierfuer irrelevant. Du suchst nach einer 
QoS/Trafic Shaping Loesung; die musst Du auf Firewallebene einrichten.
Dazu musst Du uns aber verraten, um welche FW es sich handelt.

Hier mal ein paar Beispiele:

pfsense: 
https://docs.netgate.com/pfsense/en/latest/trafficshaper/traffic-shaping-guide.html

cisco ASA: 
https://www.cisco.com/c/ja_jp/support/docs/security/asa-5500-x-series-next-generation-firewalls/82310-qos-voip-vpn.html

von A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Traffic Shaping kann im Prinzip in jedem Gerät eingerichtet werden, wo 
die Pakete rausgehen. In obiger Topologie
  Clients <=> interner Router <=> RasPi <=> Access-Router <=> Internet
kann es der RasPi durchaus selber erledigen, denn er steht in beiden 
Richtungen zwischen Internet und den Clients.

Mit der oben angeführten traffic control (tc) in Linux habe ich 
allerdings bisher nur Bandbreitenbegrenzung einer bestimmten Verbindung 
implementiert, nicht das beschriebene Szenario.

: Bearbeitet durch User
von BöserAlterMann (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Der Uplink deines Routers ist hierfuer irrelevant. Du suchst nach einer
> QoS/Trafic Shaping Loesung; die musst Du auf Firewallebene einrichten.
> Dazu musst Du uns aber verraten, um welche FW es sich handelt.
???
Eigendlich kann man nur den uplink wirklich genau kontrolieren.
Die FW wird die des Linux kernels sein und sich mit iptables oder 
nftables konfiguriren lassen
Bei pfsense wird es die gleiche sein + tc, nur eben mi einem Frontend.

> Die verfügbare Bandbreite schwankt stark.
Wo an welcher stelle ?
Hier musst du den Traffic kontrolieren.
Leider kommst du an tc nicht vorbei.
Mich würde die Lösung auch interessieren. Schau dir mal "cake" an.

bzw  so müsste es klappen wenn die bandbreite nicht eingestellt werden 
müsste:
> tc qdisc add dev <uplink-dev> root cake bandwidth 20mbit internet diffserv3

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.