Die Linux-WLAN / Ethernet-Brücke schlägt fehl, wenn das Ethernet-Kabel abgezogen ist

1

Ich habe einen Rasbperry Pi mit Raspbian 8 (Jessie). Der Wifi-Adapter und der Ethernet-Adapter sind überbrückt (br0), und der Brücke wird eine statische IP-Adresse zugewiesen. (Weitere Informationen zur Konfiguration finden Sie in meiner Lösung in diesem Beitrag .)

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

Die IP der Bridge ist die IP des Systems. Wenn es nicht mehr reagiert, ist das Gerät (und alle darauf ausgeführten Dienste) über WLAN nicht mehr 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 / funktioniert?

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 zu einem späteren Zeitpunkt beim Start des hostapd-Daemons hinzugefügt wird (ausgeführt vom Post-Up-Skript).

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

Steven Sokol
quelle
Was passiert, wenn Sie den eth-Port manuell von der Bridge ( ip link eth0 set nomasteroder brctl) entfernen , nachdem die Schnittstelle ausgefallen ist? Verwenden Ihre RaspPis das traditionelle ifup / ifdown und erhalten Ereignisse, wenn es ausfällt eth0?
Dirkt