Zwei Internet-Anschlüsse gleichzeitig - Programm-Zuordnung steuern

Serk

Lt. Commander
Registriert
Jan. 2019
Beiträge
1.617
Angenommen, man hat zwei LAN-Eingänge (2.5 GBit) am PC, über den einen Eingang läuft ein Kabel-Anschluss von Vodafone mit 1000 MBit, über den anderen ein DSL-Anschluss von der Telekom mit 100 MBit. Gibt es dann eine einfache Möglichkeit beziehungsweise ein Programm, um Programmen (Prozessen) permanent das jeweils zu nutzende Internet fest zuzuordnen? Oder geht generell nur die Nutzung eines Anschlusses?

Beispiel: Downloads über Steam ("steam.exe") sollen über den sehr viel schnelleren Vodafone-Anschluss laufen, wohingegen Online-Spiele, zum Beispiel Rainbow Six: Siege ("RainbowSix.exe"), über die für Online-Spiele aufgrund der viel geringeren Latenz sehr viel bessere Telekom-Leitung laufen sollen.

Über Sinn und Zweck muss und soll an dieser Stelle gar nicht diskutiert werden (da hat auch jeder seine eigenen Erfahrungen und persönlichen Ansprüche und auch das Netz selbst verhält sich nicht bei jedem gleich). Mir geht es hier nur darum, ob und wie eine solche technische Umsetzung am einfachsten machbar wäre. :)
 
Tornhoof schrieb:
Oh. Das ist natürlich ein berechtigter Einwand. Danke! Darüber muss ich mir noch einmal gesonder Gedanken machen. Es würde ja reichen, wenn erst einmal grundsätzlich alles über den DSL-Anschluss läuft und das, was Bandbreite zum Herunterladen braucht, über die Kabel-Leitung. Letzteres wären dann nur einzelne Programme, aber nichts von den jeweils installierten Spielen oder Anti-Cheat-Programmen. Aber wer weiß, worauf die alles anspringen.
 
Mit einem multiwan Router ist das automatisch möglich.
 
  • Gefällt mir
Reaktionen: NerdmitHerz, nutrix und JumpingCat
Es gibt multiWan Router die können sowas in diese Richtung, LoadBalancing bzw. Ausfallsicherheit, ob das dann ggf. so lenkbar ist wie du das möchtest kann ich dir nicht sagen. Aber es sei gesagt, dass die Dinger sau teuer sind.
 
Jup ich hab eine Ubiquiti Dream Machine SE, die hat 2 WAN Eingänge (einer Glasfaser und der andere Starlink als Backup). In der Konfiguration kann ich per Klick sagen welcher Traffic über welchen WAN-Anchluss läuft. Daher würde ich eher in Richtung neuer Router schauen und das nicht über Software auf dem Client lösen.

@Dabaur so sau teuer sind die auch nicht, die Dream Machine Pro kostet im Angebot so 350€, also nur unwesentlich mehr als eine Fritzbox. Man hat halt nur kein WLAN und braucht noch einen Access Point.
 
chrigu schrieb:
Mit einem multiwan Router ist das automatisch möglich.
Multi-WAN-Router können auch nicht wissen, welches Programm gerade welche Verbindung aufbaut, auch da muß man schon händisch zuweisen, welcher Anschluß zu welcher Verbindung gehören darf. Das kann nach Protokoll, Adresse oder Port geschehen, oder einer Kombi aus zwei, drei beliebigen. Aber man muß eben selber tätig werden, der Router weiß das nicht von sich aus.
 
Zusätzliche Hardware dafür kaufen würde ich tatsächlich auch nicht. Mir geht es nur um eine Software-Lösung.

Alternativ, um auf Nummer sicher zu gehen, müsste ich halt für größere Downloads vorübergehend nur einen von beiden Netzwerk-Adaptern aktivieren, dann eben den, über den die Gigabit-Verbindung läuft.

Gibt es hier vielleicht ein Programm, mit dem man den schnellen Wechsel veranlassen könnte?

Vermutlich wäre es dann am besten, sich einer Batch-Datei zu bedienen. Diese deaktiviert den einen Adapter und aktiviert dafür den anderen. Also müsste man sich vermutlich zwei davon schreiben. Aber vielleicht gibt es hier noch eine andere Möglichkeit, die mir im Moment nicht bewusst beziehungsweise bekannt ist.
 
Wenn's nur um Steam geht wäre ggf eine Sandbox/VM für Steam möglich, die dann ein 2. Gateway nutzt.
 
  • Gefällt mir
Reaktionen: Serk
Serk schrieb:
Vermutlich wäre es dann am besten, sich einer Batch-Datei zu bedienen. Diese deaktiviert den einen Adapter und aktiviert dafür den anderen. Also müsste man sich zwei schreiben.
Nö, kannste doch mit einer, quasi "If Lan2 deactivated -> activate Lan2 and deactivate Lan1" und halt umgekehrt.

Ich weiß das sowas geht, nur frag mich bitte nicht wie, da bin ich auch raus.
Ergänzung ()

Tornhoof schrieb:
Wenn's nur um Steam geht wäre ggf eine Sandbox/VM für Steam
Das triggered auch wieder diverse anticheats
 
Achso, ja, wenn das geht, ist das mit einer Datei natürlich noch besser. Ich müsste da aber auch erst selbst nachschlagen, vor über einem Jahrzehnt habe ich sowas schonmal gehabt. Vielleicht finde ich das auch wieder.
 
Tornhoof schrieb:
Nur für Downloads oder so. Aber ja.
Meinst du jetzt quasi ne sandbox wo du auf einen realen pfad verweist, aber die sandbox quasi nur die eine leitung hat?
Theoretisch könnte das dann gehen. Ob das allerdings den aufwand wert ist, lassen wir mal dahingestellt.


Edit: Dank ChatGPT sollte das der weg sein:


Anleitung:​

  1. Netzwerkadapter-Namen anpassen:
    • Öffnen Sie eine CMD mit Administratorrechten und führen Sie den Befehl netsh interface show interface aus, um die Namen der Netzwerkadapter zu sehen.
    • Ersetzen Sie "LAN-Verbindung 1" und "LAN-Verbindung 2" im Skript durch die tatsächlichen Namen der Netzwerkadapter.
  2. Batch-Datei erstellen:
    • Kopieren Sie das Skript in einen Texteditor (z. B. Notepad).
    • Speichern Sie die Datei mit der Endung .bat (z. B. switch_lan.bat).
  3. Ausführen:
    • Klicken Sie mit der rechten Maustaste auf die .bat-Datei und wählen Sie "Als Administrator ausführen".

@echo off
:: Namen der Netzwerkadapter anpassen
set Adapter1="LAN-Verbindung 1"
set Adapter2="LAN-Verbindung 2"

:: Status des ersten Adapters prüfen
netsh interface show interface name=%Adapter1% | find "Enabled" >nul
if %errorlevel%==0 (
echo %Adapter1% ist aktiv. Umschalten auf %Adapter2%...
netsh interface set interface name=%Adapter1% admin=disabled
netsh interface set interface name=%Adapter2% admin=enabled
echo %Adapter2% wurde aktiviert.
) else (
echo %Adapter2% ist aktiv. Umschalten auf %Adapter1%...
netsh interface set interface name=%Adapter2% admin=disabled
netsh interface set interface name=%Adapter1% admin=enabled
echo %Adapter1% wurde aktiviert.
)
pause
 
  • Gefällt mir
Reaktionen: Serk
CrazyT schrieb:
sandbox wo du auf einen realen pfad verweist, aber die sandbox quasi nur die eine leitung hat
Jo und wenn das nicht geht, dedizierte Steam Installation für die Sandbox, die das gleiche Download Verzeichnis nutzt wie die "echte" Steam Installation
 
Ich hab genau so ein Setup, wie du umschreibst, allerdings mit einem Router, der das regelt. Damit gilt das dann für alle Clients, nicht nur für den PC. Vorteil ist hier auch das Failover, falls eine Leitung mal ausfällt, switcht der automatisch den Traffic auf die andere Leitung.

Was du brauchst ist eine Software (vielleicht kann Windows das sogar auch, musst du mal prüfen), welches Port 80/443/8080 über die Kabel-Leitung routet und alles andere über die DSL-Leitung.

Deine DSL Leitung wäre der Default bzw. die Standard-Leitung, aber alles über Port 80/443/8080 geht über die schnellere Kabel-Leitung, das umschließt quasi jegliches Surfen, Streamen und Downloads. Auch Steam-, Uplay-, Origin- und Epic-Downloads laufen über Port 80/443.
 
Tornhoof schrieb:
Dedizierte Steam Installation für die Sandbox, die das gleiche Download Verzeichnis nutzt wie die "echte" Steam Installation
So meinte ich das auch, das man quasi auf die echte SteamLibrary verweist

Ist quasi ähnlich wie 2 verschiedene Steam installationspfade bzw. in meinem falle sind's 2 platten.
 
  • Gefällt mir
Reaktionen: Tornhoof
so ein Script kannst du dir per ChatGPT, Gemini, Claude, Copilot in ein paar Sekunden erstellen. Als Beispiel mit Powershell:


PowerShell:
# Define connection names
$connection1Name = "LAN-Verbindung 1"
$connection2Name = "LAN-Verbindung 2"

# Get network adapters
$connection1 = Get-NetAdapter | Where-Object {$_.Name -eq $connection1Name}
$connection2 = Get-NetAdapter | Where-Object {$_.Name -eq $connection2Name}

# Check status of Connection 1 and switch accordingly
if ($connection1.Status -eq "Up") {
    Disable-NetAdapter -Name $connection1Name -Confirm:$false
    Enable-NetAdapter -Name $connection2Name -Confirm:$false
    Write-Host "$connection1Name deaktiviert, $connection2Name aktiviert"
} else {
    Enable-NetAdapter -Name $connection1Name -Confirm:$false
    Disable-NetAdapter -Name $connection2Name -Confirm:$false
    Write-Host "$connection1Name aktiviert, $connection2Name deaktiviert"
}

LAN-Verbindung 1 und LAN-Verbindung 2 musst du gegen deine echten Verbindungsnamen austauschen. Die bekommst du bspw mit:

PowerShell:
Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Ethernet*"} | Select-Object Name, Status
 
  • Gefällt mir
Reaktionen: Serk
2 Subnetze und für das zweite Subnetz die Route mit höhere Priorität für den Steam Download Server setzen. Das wird aber viel gefummel.
 
Alternativ könnte man auch komplett ausflippen und sich einen lancache basteln und den Lancache halt auf die schnelle leitung legen:

 
  • Gefällt mir
Reaktionen: JumpingCat
Gute Idee mit Chat GPT, darauf hätte ich auch kommen können. Allerdings funktioniert das nicht. Ich habe die Namen so abgerufen wie es mir Chat GPT vorgeschlagen hat und auch genauso eingetragen. Und ich habe dahingehend auch noch einmal von Chat GPT mit Angabe der genauen Namen das Script überarbeiten lassen. Aber das Script meldet, dass der Adapter, der zuerst vorkommt und schlicht "Ethernet" heißt, nicht gefunden werden kann. Da muss ich schauen, woran das liegt beziehungsweise wie Chat GPT das Script ändern muss, damit es funktioniert.

Nachtrag: Jetzt funktioniert es mit der Batch-Datei so wie ich mir alternativ den schnellen Wechsel fast vorgestellt habe. Ich musste allerdings einen kleinen Abstrich hinnehmen, da Chat GPT auch nach zig Nachbesserungen nicht in der Lage war, es so zu konfigurieren, dass das Script erkennt, welche Adapter aktiviert sind und sich danach dann automatisch richtet. Jetzt kommt eine Abfrage, 1, 2 oder 3, um entsprechend auf DSL oder Kabel zu schalten oder das Script ohne Änderung zu beenden. Denn ich wollte, dass entweder beide Netzwerk-Adapter aktiviert sind, während die DSL-Verbindung genutzt wird, oder, für die Downloads, nur der eine, über die Kabel-Verbindung läuft.

Das Ganze ist nicht für die Ewigkeit, irgendwann wird das wieder mit nur einem Anschluss zu einem Netzwerk zusammengelegt. Bis dahin möchte ich aber beide Anschlüsse noch möglichst effektiv mit einfachen Mitteln nutzen.

PS: Danke auch für den Sandbox-Vorschlag. Das ist durchaus eine interessante Idee, nur etwas mehr Aufwand.
 
Zuletzt bearbeitet:
Zurück
Oben