Daten parallel über mehrere Netzwerkschnittstellen herunterzuladen

Um Daten parallel über mehrere Netzwerkschnittstellen herunterzuladen, kannst du ein Konzept namens „Policy-Based Routing“ nutzen, um den ausgehenden Verkehr auf die verschiedenen Schnittstellen aufzuteilen. Hier ist eine Schritt-für-Schritt-Anleitung:

1. Überprüfen der Netzwerkinterfaces

Prüfe, wie deine Netzwerkinterfaces heißen:

ip addr

Angenommen, die USB-LAN-Adapter heißen enx01, enx02 und enx03.

2. Routen und Tabellen einrichten

Füge für jedes Interface eine separate Routing-Tabelle hinzu. Dazu bearbeitest du die Datei /etc/iproute2/rt_tables:

sudo nano /etc/iproute2/rt_tables

Füge Folgendes hinzu:

100 table1
200 table2
300 table3

3. IP-Adressen und Gateways einrichten

Nehmen wir an, die Gateways sind 192.168.1.1, 192.168.2.1 und 192.168.3.1. Konfiguriere die Interfaces mit:

sudo ip addr add 192.168.1.2/24 dev enx01
sudo ip addr add 192.168.2.2/24 dev enx02
sudo ip addr add 192.168.3.2/24 dev enx03

sudo ip link set enx01 up
sudo ip link set enx02 up
sudo ip link set enx03 up

sudo ip route add default via 192.168.1.1 dev enx01 table table1
sudo ip route add default via 192.168.2.1 dev enx02 table table2
sudo ip route add default via 192.168.3.1 dev enx03 table table3

4. Traffic aufteilen

Erstelle Regeln, um den Traffic auf die Tabellen zu verteilen:

sudo ip rule add from 192.168.1.2 table table1
sudo ip rule add from 192.168.2.2 table table2
sudo ip rule add from 192.168.3.2 table table3

5. Multithreaded Download starten

Tools wie aria2c können Dateien in mehreren Threads herunterladen:

sudo apt install aria2
aria2c -x 3 -s 3 https://ash-speed.hetzner.com/10GB.bin

5. Multithreaded Download starten

Optionen:

  • -x 3: Maximale Verbindungen pro Server (3 in diesem Fall).
  • -s 3: Anzahl paralleler Teile, die heruntergeladen werden.

Aria2 wird automatisch den Traffic auf die konfigurierten Interfaces aufteilen.

Zusätzlicher Tipp

Falls du direkt den Traffic für verschiedene Downloads explizit aufteilen möchtest, kannst du curl mit spezifischen bind-Adressen nutzen:

erunterladen:

curl --interface 192.168.1.2 -O https://ash-speed.hetzner.com/10GB.bin &
curl --interface 192.168.2.2 -O https://ash-speed.hetzner.com/10GB.bin &
curl --interface 192.168.3.2 -O https://ash-speed.hetzner.com/10GB.bin &

Jeder curl-Befehl wird dann über die jeweilige Schnittstelle ausgeführt.

Über Raffael Haberland 58 Artikel
Ich habe Informatik an der Technischen Universität Darmstadt sowie Wirtschaftswissenschaften an der Universität Heidelberg studiert. Derzeit bin ich als Testmanager in der Testautomation und Softwareentwicklung im Telekommunikationssektor tätig. Mein Fokus liegt auf der Bewertung von Prototypen sowie der Qualitätssicherung und Optimierung von Prozessen, insbesondere durch die Entwicklung und Implementierung automatisierter Tests.

Ersten Kommentar schreiben

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*