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.
Antworten