Status der Netzwerkkarte nutzen

Dr.Sweety

Fnord!
Seit ein paar Tagen grüble ich jetzt über ein Problem nach und konnte bis jetzt nichts schlaues darüber finden, weder im Handbuch noch hier noch bei google etc. Und zwar möchte ich gerne ein Programm oder ein Script starten wenn ein Netzwerkkabel eingesteckt wird resp. ausgezogen wird.
Code:
ifconfig <interface> | grep status
status: active
zeigt mir ja den aktuellen Status an. Nun wäre es praktisch, wenn z.B. bei meinem Laptop ein Script starten würde sobald das Netzwerkkabel eingesteckt wird. Dieses Script würde sich dann eine IP via DHCP holen, überprüfen ob ein bestimmter Server vorhanden ist und wenn ja, entsprechende NFS Shares mounten etc. Hat jemand sich schon mit so etwas befasst?
Eine Lösung wäre mit ifconfig <interface> | grep status alle 10 Sek. oder so via cron zu überprüfen, ob sich was geändert hat, aber das ist eine extreme Bastellösung :D
 
Dr.Sweety schrieb:
Seit ein paar Tagen grüble ich jetzt über ein Problem nach und konnte bis jetzt nichts schlaues darüber finden, weder im Handbuch noch hier noch bei google etc. Und zwar möchte ich gerne ein Programm oder ein Script starten wenn ein Netzwerkkabel eingesteckt wird resp. ausgezogen wird.
Code:
ifconfig <interface> | grep status
status: active
zeigt mir ja den aktuellen Status an. Nun wäre es praktisch, wenn z.B. bei meinem Laptop ein Script starten würde sobald das Netzwerkkabel eingesteckt wird. Dieses Script würde sich dann eine IP via DHCP holen, überprüfen ob ein bestimmter Server vorhanden ist und wenn ja, entsprechende NFS Shares mounten etc. Hat jemand sich schon mit so etwas befasst?
Eine Lösung wäre mit ifconfig <interface> | grep status alle 10 Sek. oder so via cron zu überprüfen, ob sich was geändert hat, aber das ist eine extreme Bastellösung :D

also ad hoc würde mir snmp einfallen.
 
uwerler schrieb:
also ad hoc würde mir snmp einfallen.
hmmm, das wäre aber soweit ich das verstehe in etwa das Selbe wie wenn ich den Status in regelmässigen Abständen via ifconfig abfragen würde? Oder gibt es beim SNMP irgend eine Push-Möglichkeit, also dass falls sich etwas ändert eine Aktion ausgelöst wird?
 
Dr.Sweety schrieb:
hmmm, das wäre aber soweit ich das verstehe in etwa das Selbe wie wenn ich den Status in regelmässigen Abständen via ifconfig abfragen würde? Oder gibt es beim SNMP irgend eine Push-Möglichkeit, also dass falls sich etwas ändert eine Aktion ausgelöst wird?

also ich bin keine snmp experte, habe aber hier paar kisten mit ucdsnmpd laufen. wenn sich der status 'ner karte ändert, kriegt das der kernel und somit der snmp daemon unmittelbar mit, denn der fragt meines wissens den kernel direkt ab. ich weiß allerdings ned, ob der das intervalltechnisch macht oder irgendwie anders. abhängig davon kann man dann externe programme oder scripte aufrufen - und das wäre ja das, was dir vorschwebt, gelle?
 
Ok, das wusste ich nicht, tönt sehr interessant :) Der Kernel bekommt ja wie du sagst die Änderungen jeweils mit weil er spuckt auf der ersten Konsole aus dass "em0 link up 10/100Mbit". Ich werde mal schauen ob sich das was draus machen lässt, vielen Dank auf jeden Fall für den Hinweis!
 
Dr.Sweety schrieb:
Ich habe noch einen recht interessanten Thread zu diesem Thema gefunden, ist zwar nicht ganz das was ich will aber vielleicht trotzdem interessant für die Laptop-User unter uns: http://lists.freebsd.org/pipermail/freebsd-hackers/2003-April/000412.html. Ich habe den Patch nicht getestet da er nicht genau in die Richtung geht in die ich will (NFS Shares mounten etc.) daher weis ich nicht ob der modifizierte dhclient auch läuft.

mmh, die snmp-lösung ist vielleicht ned die eleganteste, aber wenn du mounten etc. willst ist sie vielleicht sinnvoll. denkbar wäre über snmp auch eine überwachung anderer hardware wie usb-zeugs etc. vielleicht hat jemand hier im board mehr erfahrung mit dem zeugs? oder 'ne bessere idee?
 
Zurück
Oben