wenn eth0 offline wlan0 einschalten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Mayanaise
Beiträge: 3
Registriert: 16.07.2013 10:35:07

wenn eth0 offline wlan0 einschalten

Beitrag von Mayanaise » 16.07.2013 10:57:07

Hallo :-)

Ich habe einen Debian-Rechner der an einem Switch hängt, welchen ich wegen dem eingebauten Lüfter nachts per Hand abschalte. Zumal machen mich die LEDs wahnsinnig, Selbst abkleben hilft da nicht, da die es aus den Lüfterschlitzen auch rausleuchtet, aber egal. zurück zum Thema.

Jedenfalls möchte ich die interfaces so konfigurieren, dass das if: wlan0 nur dann aktiviert wird, wenn über das if: eth0 keine Verbindung mehr besteht.

An sich könnte man einfach ein crontab erstellen, der alle 60 Sekunden ping ausführt und dem entsprechend wlan0 an oder deaktiviert.

Zum einem füllt cron dann die syslog mit unnötigen cronjob-hinweisen zum andere finde ich die methode Schmutzig.


Ich habe in den Docus von /etc/network/interfaces gelesen das man beim hoch und herunterfahren eines Befehle ausführen kann.

Wie mir scheint, reagieren sie aber nur beim direkten hoch oder runterfahren (booten bzw. ifconfig eth0 up/down).

Gibt es hier aber auch etwas, was auf auf eine remote-seitige Abschaltung reagiert?

Wenn praktisch auf eth0 die Gegenstelle nicht mehr redet, wlan0 einschalten. Sobald sie wieder zurück kommt. wlan0 wieder abschalten.



Im Zuge der Umschaltung will ich dann dem jeweils aktiven IF eine extra IP (über eth0:0 bzw. wlan:0) zuweisen, damit der Debian-Rechner, egal welches IF gerade aktiv ist, auch immer unter einer fixen IP-Adresse erreichbar ist.


Hat jemand sowas verrücktes schon mal gemacht?

Ich bin mir sicher, dass es so was geben muss. Das ist ja nichts anderes wie als würde ein Router bei Ausfall des DSL automatisch auf UMTS umschalten. Theoretisch müsste es so eine Eventbehandlung ja geben.

Danke für jeden Hinweis und Hilfe

Beste Grüße

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: wenn eth0 offline wlan0 einschalten

Beitrag von rendegast » 16.07.2013 12:07:32

(doch die Variante cron, aber ohne ping?)

Es gäbe
/sys/...../net/eth0/operstate
mit up / down

Code: Alles auswählen

# mii-tool 
eth0: no link
<->
eth0: negotiated 100baseTx-FD, link ok

Code: Alles auswählen

# ifconfig
eth0      Link encap:Ethernet  HWaddr ...................
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
...
<->
eth0      Link encap:Ethernet  HWaddr ...................
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
...in den Docus von /etc/network/interfaces gelesen das man beim hoch und herunterfahren eines Befehle ausführen kann.
Da das Interface dabei ja UP bleibt, findet /etc/network/if-*.d/ keine Anwendung.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Mayanaise
Beiträge: 3
Registriert: 16.07.2013 10:35:07

Re: wenn eth0 offline wlan0 einschalten

Beitrag von Mayanaise » 17.07.2013 01:35:32

Hilfe, was für ein verrückter Pfad.

cat /sys/....../net/eth0/operstate

Ich musste lange mit find suchen ( 30 sekunden ) aber ich fand ihn :-)

Diesen Zweig kannte ich noch gar nicht :-)

Großes Danke für den neuen Tipp bzw. Ansatz :-)



Nun überlege gerade ganz anders.....

Cron möchte ich wirklich nicht.

Könnte man über diese sog. Inotify-Schnittstelle hier auch Änderungen verfolgen?

Ein Test mit

Code: Alles auswählen

inotifywait /sys/devices/.... . .. . ..../eth0/operstate
funktioniert jedenfalls noch nicht. Muss morgen mal schauen ob es doch einen Schalter für das Tool noch gibt.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: wenn eth0 offline wlan0 einschalten

Beitrag von rendegast » 17.07.2013 11:03:11

Das käme noch aus dmesg/kern.log/messages/syslog
...
Router aus:
Jul 17 11:01:50 machine kernel: [68152.208833] r8169 0000:02:00.0 eth0: link down
Jul 17 11:01:50 machine kernel: [68152.208885] br0: port 1(eth0) entered disabled state

Router an:
Jul 17 11:02:07 machine kernel: [68168.998945] r8169 0000:02:00.0 eth0: link down
Jul 17 11:02:09 machine kernel: [68170.635059] r8169 0000:02:00.0 eth0: link up
Jul 17 11:02:09 machine kernel: [68170.635821] br0: port 1(eth0) entered forwarding state
Jul 17 11:02:09 machine kernel: [68170.635832] br0: port 1(eth0) entered forwarding state
...
Zuletzt geändert von rendegast am 17.07.2013 11:31:48, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: wenn eth0 offline wlan0 einschalten

Beitrag von catdog2 » 17.07.2013 11:16:33

Oder sowas wie Debianifplugd verwenden?
Unix is user-friendly; it's just picky about who its friends are.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: wenn eth0 offline wlan0 einschalten

Beitrag von rendegast » 17.07.2013 11:33:15

Debiannetplug gäbe es auch noch.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten