NAS Eigenbau Teil 7: Wake On LAN

NAS Eigenbau Teil 7: Wake On LAN

Dieser Beitrag ist Teil 7 von 7 in der Artikelreihe NAS Eigenbau Leitfaden

In diesem Beitrag zeige ich dir, wie du das Wake On LAN (kurz: WOL) sinnvoll von deinen Geräten im Heimnetz nutzen kannst. Dabei stelle ich eine mögliche Lösung für Windows und eine für Mac vor.

Bisher haben wir an mehreren Stellen alles für die Wake On LAN Funktion vorbereitet. Wir haben sie im BIOS und in der Netzwerkkarte des NAS aktiviert. Doch was ist eigentlich Wake On LAN?

Was ist Wake-On-LAN?

Wake On Lan ist eine Funktion, mit der Computer oder Server aus der Ferne aufgeweckt und hochgefahren werden können ohne einen Startknopf am Gerät selber drücken zu müssen. Damit das funktioniert, muss das System im Netzwerk erreichbar und die Netzwerkkarte in einem Bereitschaftsmodus sein. Selbst ein vollständig heruntergefahrenes System kann so wieder angeschaltet werden. Realisiert wird das über das Senden eines sogenannten „Magic Packets“. Dein Windows-PC oder dein Mac sendet so ein Paket über das Netzwerk an das NAS. Die schlafende Netzwerkkarte wird damit aufgeweckt, wertet das Paket aus und fährt dann das System hoch. Im Folgenden zeige ich dir wie du so ein „Magic Packet“ an dein NAS senden kannst. Sinnvoll ist das natürlich nur, wenn du auch das AutoShutDown Plugin von OMV einsetzt. Andernfalls ist dein NAS ja dauerhaft angeschaltet und muss nicht aufgeweckt werden.

WOL unter Windows

Für Windows gibt es viele kleine und kostenlose Programme, mit denen WOL genutzt werden kann. Die Handhabung finde ich persönlich jedoch umständlich, da man die Programme starten und das Aufwecken von Hand erledigen muss. Für meine Lösung legen wir Batch-Skripte an. Doch auch dafür benötigen wir ein kleines Tool, das wir in den Skripten verwenden, da Windows das Senden von Magic Packets nicht von Haus aus unterstützt. Das besagte Tool wol.exe findest du hier zum Download [Link].

Anschließend erstellen wir ein Skript. Nutze dazu einfach den Editor, der bei Windows vorinstalliert ist. Alternativ ist Notepad++ ein guter Editor zum Erstellen von Skripten, da es die meisten Programmiersprachen beherrscht und entsprechend einfärben kann. Bevor wir das Skript erstellen können, benötigen wir noch die MAC-Adresse der Netzwerkkarte im NAS. Diese kannst du im Terminal oder über SSH im NAS auslesen.

ip link

In das Skript schreiben wir dann folgende Zeilen. REM signalisiert den Anfang eines Kommentars.

@echo off
REM Wechsle auf Laufwerk e
e:
REM Pfad, in dem sich die wol.exe befindet
cd E:\Skripte

REM Ruft das WOL Tool auf und übergibt ihm die Mac-Adresse des NAS
wol.exe b6-c9-61-90-ff-0a
exit /B 0

Das Skript speichern wir unter einem beliebigem Namen ab, ändern jedoch die Dateiendung in .bat ab. Bei mir heißt die Datei nas_wol.bat. Nun testest du am besten, ob dein Skript funktioniert. Versetze dein NAS dazu über die Weboberfläche in den Ruhezustand, warte ein paar Sekunden und führe dann das Skript aus. Das NAS sollte sich dann einschalten.

Funktioniert das Aufwecken kannst du dieses Skript manuell aufrufen, um das NAS zu starten. Wenn dein Netzlaufwerk in Windows gespeichert ist, verbindet es sich automatisch. Wenn du für das Verbinden und Trennen von Netzlaufwerken manuell Skripte nutzen möchtest, kannst du dies ganz einfach folgendermaßen umsetzen. Erstelle dazu jeweils ein eigenes Skript mit den folgenden Inhalten und speichere sie jeweils unter einem beliebigen Namen mit der Endung .bat.

Netzlaufwerk Verbinden.

REM Ersetze die IP und die Freigabe entsprechend. Z ist der Laufwerksbuchstabe, mit dem das Netzlaufwerk verwendet werden soll. Du kannst es durch einen anderen ersetzen falls erforderlich
@echo off
net use z: \\192.168.178.39\Daten /persistent:yes
exit /B 0

Netzlaufwerk Trennen.

REM Du kannst auch gezielt eine Freigabe trennen. Ersetze dafür * durch die Freigabe.
@echo off
net use * /delete /yes
exit /B 0

Nun kannst du das oberste Skript nas_wol.bat z. B. automatisch beim Start von Windows ausführen. Gehe dazu auf Start, gib „Ausführen“ ein, bestätige mit [Enter] und tippe in das erscheinende Fenster „shell:startup“ ein. Es öffnet sich der Autostartordner von Windows. Du kannst dein Skript dort reinkopieren oder einfach eine Verknüpfung zum Skript erstellen und in den Autostart ablegen. Danach sollte bei jedem Systemstart das NAS geweckt werden und zur Verfügung stehen.

Automatische Backups mit Duplicati

Solltest du automatisierte Backups von deinen Datein und Ordnern machen wollen, gibt es dazu eine Vielzahl an Programmen. Ich habe mich für die Open Source Software Duplicati entschieden. Sie wird über den Browser verwaltet und erlaubt es uns, Skripte vor oder nach einem Backup auszuführen. Somit können wir das NAS automatisiert aufwecken, wenn ein Backup gestartet wird und das Netzlaufwerk wieder trennen, wenn das Backup durchgeführt wurde. Diese Funktion bieten die meisten anderen Backupprogramme meines Wissens nicht an.

Duplicati führt von einzelnen Ordnern oder ganzen Festplatten Backups durch. Die Backups können zeitgesteuert, verschlüsselt und passwortgeschützt werden. Backups werden inkrementell angelegt, sodass nach dem ersten vollständigen Backup nur die Änderungen übertragen werden. Das spart Speicherplatz. Es kann außerdem angegeben werden wie viele Versionen behalten werden sollen und ebenso besteht die Möglichkeit bestimmte Dateien vom Backup auszuschließen.

WOL Skript anpassen

Das Ziel ist, dass Duplicati vor jedem Backup unser NAS automatisch startet und nach Fertigstellung die Netzlaufwerke wieder trennt, sodass keine Zugriffe auf das NAS mehr erfolgen können. Dadurch fährt das NAS bzw. das AutoShutDown Plugin in OMV das System nach der eingestellten Zeit von 30 Minuten wieder in den Ruhezustand. Bei diesem Ablauf ist dann kein manuelles Eingreifen mehr notwendig.

Damit dies funktioniert, müssen wir das Skript nas_wol.bat folgendermaßen erweitern.

@echo off
REM Definiere Ziel IP. Ersetze diese hier durch die IP deines NAS
set nasip=192.168.178.39

REM Sende WOL Magic Paket
e:
cd E:\Skripte
wol.exe b6-c9-61-90-ff-0a
goto pingmain

REM Pinge Server an bis er erreichbar ist und verbinde dann das Netzlaufwerk
:pingmain
ping %nasip% | find "TTL"
if errorlevel 1 goto pingmain
if errorlevel 0 goto nasmount

REM Mounte das Netzlaufwerk, wenn das NAS erfolgreich angepingt werden konnte und beende dann das Skript
:nasmount
net use z: \\%nasip%\Daten /persistent:yes
echo Laufwerk erfolgreich gemounted.
goto Ende

REM Beende das Skript ordnungsgemäß
:Ende
exit /B 0 

Das angepasste Skript soll sicherstellen, dass das Netzlaufwerk verbunden werden kann. Dazu wartet es bis das NAS erfolgreich angepingt wird und führt erst anschließend das Mounting durch. Das explizite Mounten des Laufwerks ist nicht zwingend notwendig, da Windows das Laufwerk selbstständig einbindet, sobald es verfügbar ist. Du kannst das Skript auch daher so ändern, dass statt zur Funktion :nasmount direkt zur Funktion :Ende gesprungen wird. Mein Skript führt daher zu einer Warnung in Duplicati, dass das Laufwerk bereits eingebunden ist. Das ist allerdings nicht weiter schlimm.

Duplicati Einstellungen

Anschließend öffnen wir Duplicati und gehen zu „Settings“. Dort kannst du unten eigene Parameter definieren. Wähle hier aus dem Dropdown Menü „run-script-before“ aus. In dem Feld dahinter gibst du den Pfad zu deinem Skript an.

Damit sich das Netzlaufwerk nach dem Backup automatisch trennt, wählst du als zweite Option „run-script-after“ aus. Dahinter übergibst du den Pfad des Skripts zum Trennen des Netzlaufwerks, das wir oben erstellt haben.

Die beiden Skripte werden dann bei jedem Backup ausgeführt. Es ist auch möglich diese Optionen bei jedem Backupjob einzeln anzugeben. So kannst du gezielt bei einzelnen Backups spezifische Skripte ausführen.

WOL unter Mac

Bei Mac ist das Einrichten etwas aufwendiger aber genauso gut machbar. Auch hier nutzen wir ein kleines Tool. Dieses nennt sich miniWOL [Link].

miniWOL

Nach dem Start befindet sich in der oberen Taskleiste ein kleines Stoppuhrensymbol. Über das Öffnen der Einstellungen gelangst du zum Fenster wie unten im Bild abgebildet. Trage dort die richtige IP- und MAC-Adresse deines NAS ein. Außerdem solltest du die Broadcast Adresse mit 255.255.255.255 angeben. Zusätzlich solltest du den Haken darunter setzen, die dafür sorgen, dass ein Magic Packet gesendet wird, wenn miniWOL gestartet wird. Aktiviere außerdem den Auto-Start, damit miniWOL bei Systemstart automatisch ausgeführt wird. Wenn du den Haken bei „Enabled“ setzt, bleibt das Stoppuhrensymbol dauerhaft in der Taskleiste. Du kannst nun mit Rechtsklick auf das Symbol das NAS auswählen. Bei mir heißt es hier datenvault. Das System wird anschließend umgehend aufgeweckt.

Auf diese Weise wird das NAS gestartet, wenn der Mac hochfährt. Parallel kannst du das NAS manuell wecken. Solltest du jedoch ein MacBook verwenden, wirst du ihn vermutlich meistens nur zuklappen. Damit fährt das System nicht herunter sondern versetzt sich in einen Ruhezustand. Das hat zur Folge, dass miniWOL nicht neugestartet wird, wenn du das MacBook wieder aufweckst. Daher wird auch das NAS nicht automatisch aufgeweckt. Du musst demzufolge das Magic Packet über miniWOL immer manuell anstoßen. Im Folgenden Abschnitt zeige ich dir wie du das automatisieren kannst.

WOL mit SleepWatcher

Damit das NAS automatisch beim Aufwecken aus dem Ruhezustand/Tiefschlaf des Macs funktioniert, müssen wir das Tool miniWOL beenden, wenn der Mac in den Ruhezustand versetzt wird und automatisch starten, wenn der Mac aufgeweckt wird – genau wie bei einem Systemneustart.

SleepWatcher installieren

Um diese Funktion zu realisieren, bedienen wir uns eines weiteren Tools, dem Sleepwatcher [Link]. Der Sleepwatcher überwacht den Zustand des Systems und kann Aktionen ausführen, wenn der Mac in den Schlafmodus versetzt oder geweckt wird. Dies sind genau die beiden Zustände, die ein MacBook beim Zu- und Wiederaufklappen einnimmt. Wenn du dir das Programm heruntergeladen hast, verschiebe den Ordner für die folgenden Befehle auf den Desktop deines Mac. Andernfalls musst du die Pfade entsprechend anpassen. Rufe als nächstes die Konsole/das Terminal im Mac auf und setze dort folgende Befehle ab.

sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8
sudo cp ~/Desktop/sleepwatcher_2.2.1/sleepwatcher /usr/local/sbin
sudo cp ~/Desktop/sleepwatcher_2.2.1/sleepwatcher.8 /usr/local/share/man/man8
sudo cp ~/Desktop/sleepwatcher_2.2.1/config/rc.* /etc

Dabei werden zuerst zwei Ordner angelegt und die Dateien aus dem Sleepwatcherverzeichnis dorthin kopiert. Anschließend werden die Programmdateien in die richtigen Ordner kopiert. Das kannst du natürlich auch alles händisch erledigen.

Anschließend installieren wir einen plist Dienst. Dies können wir einmal systemweit realisieren. Dafür setzt du folgenden Kopierbefehl auf der Konsole ab:

sudo cp ~/Desktop/sleepwatcher_2.2.1/config/de.bernhard-baehr.sleepwatcher-20compatibility.plist /Library/LaunchDaemons

Oder du setzt den Dienst gebunden an einen Benutzer um. Dann läuft SleepWatcher nicht systemweit sondern nur für den aktuellen Benutzer:

sudo cp ~/Desktop/sleepwatcher_2.2.1/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist /Library/LaunchAgents

Anschließend starten wir den SleepWatcher einmalig mit folgendem Befehl.

sudo launchctl load /Library/LaunchDaemons/de.bernhard-baehr.sleepwatcher.plist

Oder nur für den aktuellen Benutzer mit folgendem Befehl. Beide Befehle müssen nur einmalig ausgeführt werden, das System startet sie nach jedem Neustart anschließend selbstständig.

sudo launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

Sleepwatcher Skripte anlegen

Nun kannst du Skripte erstellen, die ausgeführt werden, wenn das System in den Ruhezustand wechselt. Dazu musst du die Skripte mit „.sleep“ benennen. Das bedeutet, das Skript darf keinen Dateinamen beinhalten, sondern nur die Endung. Skripte, die beim Aufwecken des Mac ausgeführt werden, müssen entsprechend mit „.wakeup“ benannt werden – ebenfalls ohne Dateinamen. Die Skripte musst du dann in den Ordner /Benutzer/Profilname (Mac Homeverzeichnis) ablegen. Dafür musst du die versteckten Dateien aktivieren. Dateien, die keinen Namen haben werden als Systemdateien behandelt und sind daher automatisch unsichtbar.

Damit miniWOL automatisch startet, wenn der Mac aufgeweckt wird, fügst du folgende Zeilen in das Skript ein.

#!/bin/bash
open -a miniWOL

Wenn das Macbook zugeklappt wird muss miniWOL beendet werden. Dafür erstellst du ein Skript mit folgendem Inhalt. Ich habe an dieser Stelle andere Befehle versucht, die das Programm nicht „hart“ ausschalten sondern ordnungsgemäß beendet. Leider hat das nicht funktioniert.

#!/bin/bash
killall miniWOL

Mit diesen Einstellungen wird miniWOL nun beendet, wenn der Mac in den Schlafmodus versetzt wird. Beim Wiederaufwecken des Mac wird die Software wieder automatisch gestartet. Auf diesem Weg kann dann auch die TimeMachine praktikabel benutzt werden. Der Mac bindet das NAS nämlich beim Aufwecken ein, sodass die TimeMachine anschließend automatisch ein Backup durchführen kann. Die Automatische Backup-Funktion kannst du beim Einrichten der TimeMachine mit einem Klick aktivieren. Diese sorgt für stündliche, tägliche, wöchentliche sowie monatliche inkrementelle Backups und ist daher vergleichbar mit Duplicati (nur mit viel weniger Einstellungsmöglichkeiten).

Artikelreihen Navigation< NAS Eigenbau Teil 6: Erweiterte Einstellungen und Plugins

themaster

Verwandte Beiträge

Android: Apps löschen

Android: Apps löschen

Android: Apps deaktivieren

Android: Apps deaktivieren

Raspberry Pi: Universeller Audio-Empfänger für Musikanlagen

Raspberry Pi: Universeller Audio-Empfänger für Musikanlagen

Raspberry Pi: SenseHat

Raspberry Pi: SenseHat

No Comment

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

vier × fünf =

TIPP: Jazz CD J’s SEVEN

Lust auf JAZZ? Dann hört in die CD von Komponist und Posaunist Jonathan Strieder rein. Jonathan hat mit seiner Band J’s Seven ein eigenes Album aufgenommen und veröffentlicht. Tongariro heißt es und es klingt ganz fantastisch.

Zur CD: [Link]

Besucht Jonathan Strieder auch gerne auf seiner Webseite.

Über Mich

Mein Name ist Philipp und ich beschäftige mich gerne mit Homeprojekten im Hardware- und Softwarebereich. Ich stelle dabei immer wieder fest, dass es im Internet viele unvollständige  Tutorials gibt. Daher bin ich dazu übergegangen, meine Projekte in eigenen Anleitungen festzuhalten. Diese werde ich hier möglichst verständlich und mit dem nötigen Hintergrundwissen aufbereiten. Vielleicht kann ich dabei den entscheidenden Hinweis liefern, der in vielen anderen Tutorials fehlt.

Mein Ziel ist es, dass jeder mit den Tutorials zurecht kommt und alle notwendigen Informationen erhält, um es nachmachen zu können.

Artikelreihen



Weitere Artikel dieser Reihe

Tutorials abonnieren


Unterstütze Uns

Wenn du uns unterstützen möchtest und genau wie wir einen werbefreien Blog bevorzugst, freuen wir uns über eine kleine Kaffee-Spende :).

IBAN: DE51 1203 0000 1067 7545 54
oder
PayPal Spendenlink: