Ich habe zwei 3G-USB-Modems (oder ein USB-Modem und eine andere Netzwerkschnittstelle – eth
oder wlan
).
Ich verbinde beide Schnittstellen, indem ich IP-Regeln erstelle und für jede davon Routen hinzufüge:
sb="ip/subnet"
ifn="network interface (ppp0, eth0..etc)"
ipo="interface ip"
ip route add "$sb" dev "$ifn" src "$ipo" table "$tbl"
ip route add "$sb" dev "$ifn" src "$ipo"
ip route add default via "$gw" table "$tbl"
ip rule add from "$ipo" table "$tbl"
ip rule add to "$ipo" table "$tbl"
Beide Schnittstellen werden verbunden und jede von ihnen unabhängig mit ihrer vollen Geschwindigkeit. Das Problem beginnt, wenn ich versuche, über beide Schnittstellen gleichzeitig herunterzuladen:
Öffnen Sie ein Terminal und starten Sie einen Download auf der ersten Schnittstelle:
curl --interface ppp0 "$URL" -o /dev/null
Öffnen Sie ein weiteres Terminal und starten Sie einen Download auf der zweiten Oberfläche:
curl --interface ppp1 "$URL" -o /dev/null
Das Problem besteht darin, dass beide Schnittstellen langsamer werden, wenn beide Befehle gleichzeitig ausgeführt werden. Die erste Schnittstelle startet mit einer Geschwindigkeit von 1,5 MBit/s. Wenn der nächste Befehl ausgeführt wird, beginnt die Geschwindigkeit der ersten Schnittstelle zu sinken. Dasselbe passiert umgekehrt: Wenn die zweite Schnittstelle zuerst gestartet wird, sinkt die Geschwindigkeit, wenn die erste Schnittstelle gestartet wird.
Es ist, als ob ein automatischer Lastenausgleich erfolgt. Ich habe es mit Kernelparametern rp_filter
und versucht arp_filter
.
Um es klar zu sagen: Ich brauche keinen Lastenausgleich, sondern nur, dass jede Schnittstelle für gleichzeitige Verbindungen unabhängig ausgeführt wird.
Danke!
AKTUALISIEREN
Auch wenn sich jede Schnittstelle in einem anderen Netzwerk-Namespace befindet, beeinträchtigen sie sich gegenseitig in ihrer Geschwindigkeit, wenn sie gleichzeitig ausgeführt werden.