Link down mit udev erkennen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Lolek
Beiträge: 121
Registriert: 22.12.2009 21:02:29

Link down mit udev erkennen

Beitrag von Lolek » 04.06.2015 15:20:45

Hallo zusammen,

ich habe einen Rechner mit zwei Netzwerkkarten. Wenn an einer Netzwerkkarte das Kabel gezogen wird, soll die zweite Karte auch deaktiviert werden.

Ich habe versucht das Problem mit ifplugd zu erschlagen. Das ist mir leider nicht gelungen. Ifplugd fährt die zweite Schnittstelle einfach wieder hoch weil das Kabel noch drin steckt.

Nun ist mir der einfall gekommen mit udev ein Script auszuführen wenn das kabel gezogen wird. Ich habe schon versucht mich in udev einzulesen, allerdings ist das ziemlich Nebulös für mich.

Kann mir jemand einen Denkanstoß geben wie ich das Problem mit udev lösen könnte?
Gruß Lolek

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Link down mit udev erkennen

Beitrag von Cae » 04.06.2015 20:08:08

Also ich seh' da nix mit udevadm monitor, wenn ich Kabel ab- und zustecke. Entsprechend wird es keine passend formulierbaren Regeln geben.

Ich wuerde ip-monitor(8) filtern und danach handeln: (insgesamt ungetestet, sollte aber so oder aehnlich tun)

Code: Alles auswählen

#!/bin/sh
# sets network link state of DEV_SWITCH according to DEV_TRIGGER

ip monitor link \
| awk -vDEV_TRIGGER=eth0 -vDEV_SWITCH=eth1 '
	DEV_TRIGGER":" == $2 {
		if ("DOWN" == $NF) {
			print("ip link set down dev "DEV_SWITCH)
		} else if ("UP" == $NF) {
			print("ip link set up   dev "DEV_SWITCH)
		} else {
			print("unknown state for dev "DEV_TRIGGER": "$NF) >"/dev/stderr"
		}
	}
' \
| sh
Das kann dann per rc.local/o.ae. automatisch starten lassen (und ggf. ueberwachen, z.B. mit supervise(1) aus Debiandaemontools).

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Lolek
Beiträge: 121
Registriert: 22.12.2009 21:02:29

Re: Link down mit udev erkennen

Beitrag von Lolek » 05.06.2015 07:19:47

Moin Cae,

danke für die Antwort.

Wenn ich -- udevadm monitor -- starte sehe ich

Code: Alles auswählen

 [  301.201816] e1000e: eth0 Nic is Down 
oder eben den Post für Nic is Up.

Ich weis nur nicht so richtig wie ich den Post auswerten kann. Mit SUBSYSTEM=="net" will es mir nicht gelingen. Scheint irgendwie nicht der richtige Ansatz zu sein.
Gruß Lolek

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Link down mit udev erkennen

Beitrag von Cae » 06.06.2015 04:58:23

Das sieht mir eher nach dmesg-Output aus, jedenfalls bekomme ich das hier nicht nachgestellt. Von udevadm wuerde ich eher Output wie

Code: Alles auswählen

[...]
UDEV  [3503008.922953] add      /devices/pci0000:00/0000:00:10.4/usb1/1-5 (usb)
ACTION=add
BUSNUM=001
[...]
erwarten (ich hab' 'nen USB-Stick drangesteckt).

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Lolek
Beiträge: 121
Registriert: 22.12.2009 21:02:29

Re: Link down mit udev erkennen

Beitrag von Lolek » 06.06.2015 19:59:26

Hallo Cae,

ich habe aber udevadm eingegeben. Ist höchstens möglich, daß dmesg einfach die Meldungen auf dem Bildschirm ausgegeben hat und ich die Meldung für die Ausgabe von udevadm gehalten habe.

Kann man die Ausgabe von dmsg auswerten um ein Script zu starten??
Gruß Lolek

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Link down mit udev erkennen

Beitrag von reba » 06.06.2015 21:00:01

Ja

Benutzeravatar
Lolek
Beiträge: 121
Registriert: 22.12.2009 21:02:29

Re: Link down mit udev erkennen

Beitrag von Lolek » 08.06.2015 07:31:21

Hallo Reba,

danke für die Antwort.

Ein Tipp wäre schön.
Gruß Lolek

gbotti
Beiträge: 846
Registriert: 16.07.2010 14:24:43
Wohnort: München

Re: Link down mit udev erkennen

Beitrag von gbotti » 08.06.2015 11:01:58

Hi.

Dort habe ich ein Beispiel für ein Cron-Script gefunden.

Eventuell könnte man das ganze auch einfacher Lösen. In der /etc/network/interfaces könntest du das eventuell über post-up und post-down scripts lösen.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft

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

Re: Link down mit udev erkennen

Beitrag von catdog2 » 08.06.2015 14:26:23

Dass Cae dir schon eine Lösung präsentiert hat ist dir egal oder?
Unix is user-friendly; it's just picky about who its friends are.

Antworten