
Automatisches Ein und Ausschalten in einem Linuxnetzwerk
Hallo,
ich möchte mich zuerst vorstellen.
Ich heiße Sebastian, wohne am schönem Niederrhein und war seit paar Tagen nach der Suche nach einem brauchbarem NAS System.
Da ich seit vielen Jahren ein "Linux only" Nutzer bin (außer Arbeitscomputer, wegen Softwaremangel) sollte es ein System sein, das Linuxbasiert ist
und sich mehr oder weniger unkompliziert öffnen lässt.
Bei meiner Recherche bin ich auf Euer Forum gestoßen und jetzt ist wohl klar, welche NAS ich mir gekauft habe
Es ist die LS-CHL v2, die ich dank Euch problemlos öffnen konnte.
Als Router verwende ich ein Syslink Model, das zwar schon etwas älter ist, aber den Vorteil hat, dass da eine DD-WRT Firmware läuft.
Mein Wunsch war es, die LS automatisch hoch- und runterfahren zu lassen, sobald sich ein Client am Router anmeldet.
Mit Windows/Mac und der mitgelieferten Software eigentlich kein Problem, aber was tun bei einem Linuxnetzwerk?
So hab ich mich hingesetzt und eben ein Script geschrieben, das ich Euch auch posten will.
Vielleicht kann es jemand gebrauchen, bzw. für eigene Zwecke etwas umbauen.
Was braucht man:
-Die MAC Adresse der Linkstation.
Sie ist auf dem Gerät aufgedruckt, allerdings kann man sie auch am Router anschauen.
-Beim DHCP Server muss man statische Adressvergabe einschalten, und sich die IP Adressen seiner Computer notieren.
-Einen Router mit installiertem DD-WRT und Telnet/SSH Zugang.
Hier müsste eigentlich jeder Router laufen, auf dem Linux läuft und man sich per Konsole anmelden kann.
Code:
#!/bin/sh
MY_HOSTS="192.168.123.151 192.168.123.152 192.168.123.167"
MY_BROADCAST="192.168.123.255"
LINKSTATION_MAC="00:24:00:00:00:00"
PERIODE=120
while [ true ]
do
WOL_SENDEN="false"
for i in $MY_HOSTS
do
if ping -c 1 -w 1 $i > /dev/null; then
WOL_SENDEN=true
fi
done
if $WOL_SENDEN; then
/usr/sbin/wol -i $MY_BROADCAST -p 9 $LINKSTATION_MAC > /dev/null
fi
sleep $PERIODE
done
Das ganze sollte selbsterklärend sein(hoffe ich).
Unter MY_HOSTS trägt man alle IP Adressen in eigenem Netzwerk.
Es können beliebig viele sein, wichtig ist nur, dass sie mit einem Leerzeichen getrennt sind.
Unter MY_BROADCAST trägt man seine Broadcast Adresse ein.
Unter LINKSTATION_MAC, wer hätte es gedacht die MAC Adresse seiner LS.
Periode gibt die Zeit in Sekunden, in welchem Intervall die LS geweckt werden soll.
Das ganze dann gespeichert, ausführbar machen, starten, fertig.
Jetzt wird regelmäßig jeder Host angepingt und wenn mindestens einer erreichbar ist, wird ein WOL Paket an die LS gesendet.
Klappt wunderbar.
Ich hoffe, Ihr könnt damit was anfangen.
Für Fragen oder Anregungen würde ich mich sehr freuen.
Gruß und danke nochmal für diese tolle Seite
Sebastian