• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Linux Rechner als traffic shaper

theNeo

Newbie
Hallo!

Ich möchte gerne bei mir im Netz die Bandbreite aufteilen. Alle rechner gehen über (mehrere) Switches und dann über einen Router ins Internet (DSL). Da der Router dies leider nicht kann, dachte ich, wäre es mit einem Linux Server möglich. Habe auch hier schon die Suchfunktion genutzt und bin auf Wondershaper gestoßen. Habe diesen installiert und bei allen Clients als Standardgateway den Linuxrechner eingetragen, sowie bei Wondershaper bestimmte IP Adressen als benachteilgt eingetragen.

hier die wondershaper config:
Code:
## Path:        Network/Wondershaper
## Description: Quality Of Service configuration
## ServiceRestart: wondershaper
## Type:        string
#
# This variable contains the device which should be
# shaped.
#
WSHAPER_DEV="eth0"

## Type:        integer
#
# The download speed of your connection in kilobits.
# Calculate like described in the README.
#
WSHAPER_DOWNLINK="350"

## Type:        integer
#
# The upload speed of your connection in kilobits.
# Calculate like described in the README.
#
WSHAPER_UPLINK="60"

## Type:        integer
#
# Low priority source hosts. You can specify a single
# host or a whole netmask.
#
WSHAPER_PRIOHOSTSRC="192.168.101.79"

## Type:        ip
#
# Low priority destination Hosts. You can specify a single
# host or a whole netmask.
#
WSHAPER_PRIOHOSTDST="192.168.101.79"

## Type:        ip
#
# Low priority source ports on this machine.
#
WSHAPER_PRIOPORTSRC=""

## Type:        ip
#
# Low priority destination ports on this machine.
#
WSHAPER_PRIOPORTDST=""

## Type:        boolean
## Default:     false
#
# This variable controls the amount of output of
# /etc/init.d/wondershaper status.
# Possible values are lowercase "true" or "false".
#
WSHAPER_VERBOSE_STATUS="false"

Stimmt die Konfiguration so? Wie arbeitet wondershaper überhaupt? Kann wondershaper überhaupt so funktionieren, oder muss z.b. der Rechner mit ner 2 Karte direkt über den Router gehen, wobei an der ersten Karte alle Clients angeschlossen sind?

thx for help..

MfG Stefan
 

snaewe

Hacker
Der gesamt Traffic muss natürlich durch den Rechner gehen, auf dem Wondershaper läuft.
D.h. der muss natürlcih zwei Netzwerkkarten haben (und wird damit selbst zum Router).

HTH

Stefan
 
OP
T

theNeo

Newbie
Könnte ich dann einfach eine 2. karte einbauen, und die 2. karte mit an den switch anschließen, sowie ein anderes subnetz für die 2. karte im server und im router vergeben? (den Server direkt zwischen router und switch zu hängen ist kabeltechnisch sehr aufwendig)

wie teilt wondershaper die ressourcen auf? dynamisch? nach bestimmten hosts?


Stefan
 

snaewe

Hacker
theNeo schrieb:
Könnte ich dann einfach eine 2. karte einbauen, und die 2. karte mit an den switch anschließen, sowie ein anderes subnetz für die 2. karte im server und im router vergeben? (den Server direkt zwischen router und switch zu hängen ist kabeltechnisch sehr aufwendig)
Der 'Shaper' muss auf der einen Seite mit deinem vohandenen Router und auf der anderen mit dem Switch, an dem die anderen Rechner dranhängen, verbunden sein. Beide Seiten (eth0, eth1) müssen in ein eigenes Subnetz.

theNeo schrieb:
wie teilt wondershaper die ressourcen auf? dynamisch? nach bestimmten hosts?

Guckst Du hier, weisst Du mehr
(Wondershaper ist quasi die Anwendung des dort erklärten).

Stefan
 
OP
T

theNeo

Newbie
Gibt es keine Möglichkeit bei der Router und Server (Shaper) direkt am switch hängen? Wenn z.b. eth0 und Router die ip's 192.168.0.1 und 2 haben, und die anderen Clients 192.168.1.* mit Subnetmaske 255.255.255.0 können sie doch trotzdem nicht auf den Router zugreifen und müssen über den Server!?
 
OP
T

theNeo

Newbie
Also ich meine es ungefähr so:

lan_server_router.jpg


Router, sowie Server hängen praktisch parallel am switch.

EDIT: Bild nochmal überarbeitet....
 

snaewe

Hacker
Und dann?

Den Shaper als Gateway für die Clients ?
Kann ja wohl nicht gehen.

Ich würde es eher so machen:

shaped_netz.png


Stefan
 
OP
T

theNeo

Newbie
snaewe schrieb:
Und dann?

Den Shaper als Gateway für die Clients ?
Kann ja wohl nicht gehen.

Da das Netz sieht vereinfacht ungefähr so aus:

my_lan_vereinfacht.jpg


der 'Shaper' soll an dem standort bleiben, wo er jetzt steht, und bei der rotgekennzeichneten linie, wäre es großer aufwand ein 2. Kabel zu legen.


Warum kann ich den Shaper nicht als Gateway benutzen?
 

snaewe

Hacker
Weil der Shaper ja alles doppelt sehen würde (auf eth0 und eth1).
Schleifen sollte man vermeiden.

Stefan
 

oc2pus

Ultimate Guru
du kannst sehr wohl den vorhanden "Shaper-PC" als shaper einsetzen ;)

Er muss den gesamten Traffic sehen!! Nur dann kann er den steuerbaren bottleneck bilden und den Traffic entsprechend einstufen.

hier ein paar gute samples:
http://www.metamorpher.de/fairnat/
http://www.digriz.org.uk/jdg-qos-script/

ansonsten schau in der LARTC Mailingliste, dort gibt es "Tonnen" von guten Beispielscripten.

Für P2P Shaping empfehle ich dir das ipp2p Modul:
http://rnvs.informatik.uni-leipzig.de/ipp2p/index.html

Ich würde den wondershaper NICHT einsetzen, zu unflexibel.
 

snaewe

Hacker
Dass er den PC als Shaper benutzen kann, ist klar.
Kann er aber die Verkabelung so gestallten, das eth0 und eth1 des Shapers am gleichen Switch angeschlossen sind und der gesamte Traffic durch ihn hindurch geht ?
Ich würde sagen, nein.

???

Stefan
 

oc2pus

Ultimate Guru
snaewe schrieb:
Dass er den PC als Shaper benutzen kann, ist klar.
Kann er aber die Verkabelung so gestallten, das eth0 und eth1 des Shapers am gleichen Switch angeschlossen sind und der gesamte Traffic durch ihn hindurch geht ?
Ich würde sagen, nein.

warum nicht ?

Der "Shaper-PC" ist Gateway für alle anderen PCs
Der Shaper-PC macht Masquerading und hat als Gateway den Router, dann sieht er sämtlichen Traffic und kann ihn regeln (z.Bsp mit IMQ)

Die zweite NIC bräuchte man eigentlich in dieser Konstellation gar nicht.
 

snaewe

Hacker
oc2pus schrieb:
warum nicht ?

Der "Shaper-PC" ist Gateway für alle anderen PCs
Der Shaper-PC macht Masquerading und hat als Gateway den Router, dann sieht er sämtlichen Traffic und kann ihn regeln (z.Bsp mit IMQ)

Die zweite NIC bräuchte man eigentlich in dieser Konstellation gar nicht.

Das war mir neu...
Ist aber wohl auch nicht so ganz das wahre: http://tldp.org/HOWTO/IP-Masquerade-HOWTO/aliasing.html

(Oder wie würdest Du das bewerkstelligen ?)

Stefan
 

oc2pus

Ultimate Guru
snaewe schrieb:

yepp, macht man eigentlich nur wenn man keine Möglichkeit für eine zweite NIC hat. Deshalb schrieb ich auch "bräuchte man die zweite NIC nicht". Aber linux kann auch in solchen Situationen bestehen ;)

Mein Vorschlag mit den Gateways und zwei NICs kommt zum Beispiel auch in sogenannten "Honeypot Installationen" vor.
 
Oben