Die WLAN-Ethernet-Bridge von Linux schlägt fehl, wenn das Ethernet-Kabel nicht angeschlossen ist

347
Steven Sokol

Ich habe einen Rasbperry Pi mit Raspbian 8 (Jessie). Der WLAN-Adapter und der Ethernet-Adapter werden gebrückt (br0) und der Bridge wird eine statische IP-Adresse zugewiesen. ( Einzelheiten zur Konfiguration finden Sie in meiner Lösung in diesem Beitrag .)

Die Bridge funktioniert einwandfrei, solange die Ethernet-Verbindung "live" ist - dh sie ist über ein Crossover-Kabel entweder an einen Switch oder ein anderes aktives System angeschlossen. Wenn jedoch die Ethernet-Verbindung unterbrochen wird (dh das Kabel ist nicht angeschlossen oder der Switch oder das Remote-System ausgeschaltet), reagiert die Bridge nicht mehr.

Die IP der Bridge ist die IP des Systems. Wenn das Gerät nicht mehr reagiert, ist das Gerät (und alle darauf laufenden Dienste) über WLAN nicht verfügbar. Nicht gut.

Gibt es eine Möglichkeit, die Bridge so zu konfigurieren, dass sie unabhängig vom Verbindungsstatus der Ethernet-Schnittstelle weiterhin wie erwartet reagiert / arbeitet?

Hier ist die Konfiguration:

auto eth0 iface  eth0 inet manual  auto wlan0 iface  wlan0 inet manual  auto br0 iface  br0 inet static  bridge_ports eth0  address 10.26.36.1 netmask 255.255.255.0 network 10.26.36.0 broadcast 10.26.36.255 post-up /usr/sbin/stratux-wifi.sh 

Beachten Sie, dass die eth0-Schnittstelle der Brückenkonfiguration in / etc / network / interfaces hinzugefügt wird, während die wlan0-Schnittstelle später vom Start des hostapd-Daemons (vom Post-up-Skript ausgeführt) hinzugefügt wird.

Was auch immer es wert ist: Ich habe versucht, das System mit nicht angeschlossener Ethernet-Verbindung hochzufahren, und während der Startvorgang etwas länger dauert (die Konfiguration des Eth0-Ports muss eine Zeitüberschreitung haben), funktioniert es.

1
Was passiert, wenn Sie den eth-Port manuell von der Bridge entfernen ("ip link eth0 set nomaster" oder "brctl"), nachdem die Schnittstelle ausfällt? Verwenden Ihre RaspPi's das traditionelle ifup / ifdown und erhalten Ereignisse, wenn "eth0" ausfällt? dirkt vor 6 Jahren 0

0 Antworten auf die Frage