Linux: Automatisches Bonden von WiFi und Wired Interfaces - wie geht das?

0

Zu meinem Erstaunen stellte ich gerade fest, dass mein Ubuntu 13.04-System so etwas wie eine automatische Netzwerkschnittstellenverbindung zu unterstützen scheint.

Wenn ich eine TCP-Verbindung über WLAN herstelle (z. B. mit Netcat auf Client und Server) und dann auch die kabelgebundene Schnittstelle einschalte, scheint der gesamte weitere Verkehr auf dieser Verbindung transparent über die kabelgebundene Schnittstelle zu laufen. Ich habe das mit Wireshark überprüft und kann es auch an der Änderung des Durchsatzes beim Kopieren von Dateien ablesen.

Dies funktioniert jedoch nur, solange ich die WLAN-Verbindung aufrechterhalte. Wenn Sie die WLAN-Verbindung trennen, wird auch die TCP-Verbindung unterbrochen.

Das Gerät, mit dem ich teste, hat unterschiedliche MAC-Adressen und unterschiedliche IP-Adressen für die WLAN- und Kabelschnittstelle. Sie sind jedoch mit demselben Netzwerk verbunden.

Ich habe das ifenslave-Paket nicht installiert und auch keine Bridge oder ähnliches eingerichtet. Ich benutze NetworkManager.

Meine Frage ist: Wie funktioniert das? Welche Schicht ist für die Umleitung der Pakete verantwortlich und woher weiß sie, wohin sie gesendet werden sollen? Und warum funktioniert das nicht mehr, wenn die WiFi-Verbindung unterbrochen wird?

Nikratio
quelle

Antworten:

0

Ok, enttäuschende Erklärung. Dies ist nur die gute alte Standardroute bei der Arbeit. NetworkManager fügt für jede Schnittstelle eine neue Route zum selben Netzwerk hinzu. Die Schnittstelle, die zuletzt aufgerufen wird, erhält dann den gesamten ausgehenden Datenverkehr.

Das Interessante ist, dass dies auch für eingehenden Verkehr funktioniert. Sobald der Remote-Host beginnt, seine ACKs von einem anderen MAC abzurufen, an den er die Daten ursprünglich gesendet hat, aktualisiert er seine ARP-Tabelle so, dass sie auf den neuen MAC verweist, sodass die gesamte Kommunikation fortan über diese Schnittstelle erfolgt.

Ich vermute, dies wird brechen, wenn es Firewall-Regeln gibt, die verhindern, dass Schnittstellen Pakete akzeptieren, die nicht für die konfigurierte IP-Adresse bestimmt sind, aber interessanterweise wird dies nicht standardmäßig durchgeführt ...

Nikratio
quelle