Vinzenz Mai: Zwei Netzwerkverbindungen optimal nutzen

Beitrag lesen

Hallo Mathias,

Zum besseren Verständnis hier einmal die Konfiguration:

eth1      Protokoll:Ethernet  Hardware Adresse 42:42:42:42:42:42
          inet Adresse:141.XXX.XXX.XXX  Bcast:141.XXX.XXX.255  Maske:255.255.255.0
          […]

eth2      Protokoll:Ethernet  Hardware Adresse 21:21:21:21:21:21
          inet Adresse:192.168.0.1  Bcast:192.168.255.255  Maske:255.255.0.0

interessant, es gibt Linux-Distributionen, die es nicht mögen, dass das Interface, über das die PPPoE-Verbindung aufgebaut werden soll, bereits hochgefahren ist. Wenn Du unter Debian auch darauf verzichten _kannst_, das Interface zu konfigurieren, dann _solltest_ Du es tun.

Hierbei ist „eth1“ die Verbindung zum Uni-Netzwerk und „eth2“ in Verbindung mit „ppp0“ mein T-DSL.

und was ist mit dem Interface eth0 [1]?

Nun möchte ich gerne die beiden Verbindungen so optimal wie möglich ausnutzen. Hierzu sollen Anfragen an IP-Adressen des Schemas 141.XXX.XXX.XXX ausschließlich über eth1 und alle anderen über eth2/ppp0 laufen. (Uni-Netzwerk-interner Datenverkehr wird nicht im Traffic berücksichtigt.)

Momentan fehlt mir hierzu jedoch ein brauchbarer Ansatz oder ein gutes HowTo. Vorschläge?

Das ist überhaupt kein Problem. Konfiguriere ppp0 als Standardgateway (im Einwahlskript typischerweise drin), fertig.

Für Anfragen an IP-Adressen aus dem Bereich des Uni-Netzwerks (141.xyz.abc/24) stellt Dein Kernel sowieso fest, dass er sie über eth1 verschicken kann. Solange Du keine statische Route definiert hast (man route), wird er das auch tun. Du musst in diesem Fall nur sicherstellen, dass eth0 auf _keinen_ Fall als Standardgateway konfiguriert wird :-)

Eine statische Route (die hier aber überflüssig ist), soweit ich Dich verstehe, konfigurierst Du mit

route add -net 141.xyz.abc.0 netmask 255.255.255.0 dev eth1

route       # Aufruf des Programms :-)
add         # füge den Routing-Tabellen des Kernels eine neue Route hinzu
-net ziel   # Beim Ziel handelt es sich um ein Netzwerk
            # ziel hat hier den Wert 141.xyz.abc.0, Beachte die 0 am Ende,
            # die der verwendeten Netzwerkmaske entspricht.
netmask Nm  # die zu verwendende Netzwerkmaske, hier 255.255.255.0
dev If      # zur Angabe des zu nutzenden Netzwerkinterfaces, hier eth

Falls Du hingegen für _alle_ Netzwerke, die mit 141 beginnen, den Verkehr über eth1 leiten willst, so gehe wie von dedlfix beschrieben vor:

route add -net 141.0.0.0 netmask 255.0.0.0 dev eth1

Langfristig fände ich es natürlich klasse, wenn sämtliche Anfragen über eth1 laufen würden, bis ein Datenvolumen von etwa 2.9GB erreicht ist. Dann soll diese Verbindung gekappt und eine PPPoE-Verbindung über eth2/ppp0 aufgebaut werden, worüber dann die Anfragen laufen. Nach 7 Tagen soll dann wieder auf eth1 zurückgeschaltet werden und das Spiel von neuem beginnen. Ist so etwas überhaupt machbar oder ein Hirngespinnst?

Damit habe ich mich noch nie herumschlagen müssen. Ich gehe davon aus, dass es Software zur entsprechenden Netzwerkverkehrsanalyse gibt, z.B. darkstat oder Wireshark. Nehmen wir an, Du hättest eine solche Software. Dann gehst Du wie folgt vor:

Standardgateway ist eth1
Summiere den gesamten Netzwerkverkehr über eth1
Ziehe davon das Volumen ab, das aus dem Verkehr mit 141.xyz.abc.0 entsteht.
Wenn Limit erreicht wird, baue die PPPoE-Verbindung auf und konfiguriere ppp0 als Standardgateway.
Wenn Dir wieder ein Datenvolumen im Uni-Netz zur Verfügung steht, kappe Dein T-DSL und richte wieder eth1 als Standardgateway ein.

Allerdings würde ich mir Dein Konzept nochmals überdenken:

Summiere täglich auf. Schalte ab, wenn 2,9 GB erreicht sind. Schalte wieder ein, wenn Du wieder ein Datenvolumen zur Verfügung hast. Du könntest Dir auch ein Tageslimit setzen, beispielsweise 1 GB. Lass Dir was einfallen ...
Weiterhin wäre es doch günstig, den sowieso vorhandenen T-DSL-Vertrag entsprechend zu nutzen und den wirklich asymmetrischen Verkehr, für den Dein 3000er-DSL schnell genug ist (für mich wäre das ungefähr alles), mitzunutzen. Um so besser kannst Du die hohe Upload-Geschwindigkeit des Uni-Netzwerks nutzen. Verschwende nicht die hohe Bandbreite mit z.B. einfachem Surfen oder nicht zeitkritischen Downloads.

Freundliche Grüße

Vinzenz

[1] Falls Du sonst irgendwo noch eth0 in meinem Text finden solltest,
    so ersetze eth0 durch eth1 :-)