Der Einplatinencomputer Raspberry Pi 3

etherwake – Der Raspberry Pi als Wake On LAN-Server

Die Artikelserie zum Raspberry Pi
Teil 1 (Link): Der Raspberry Pi 3 – der Alleskönner im Scheckkartenformat
Teil 2 (Link): Installation und Konfiguration von Raspbian Stretch auf Raspberry Pi 3
Teil 3 (Link): Fernzugriff per SSH und VNC auf den Raspberry Pi
Teil 4 (Link): Installation PiVPN – Den Raspberry Pi einfach zum VPN-Server ausbauen
Teil 5 (Link): OpenVPN/PiVPN Benutzerverwaltung auf dem Raspberry Pi
Teil 6 (Link): Installation und Konfiguration von Raspbian Stretch Lite auf Raspberry Pi 3 (ohne Desktop)
Teil 7: Dieser Artikel
Teil 8 (Link): Adblocker mit Pi-hole: Das schwarze Loch für Werbung im Internet
Teil 9 (Link): Die private Cloud auf dem Raspberry Pi – Seafile Server auf Raspian Stretch Lite installieren

Wake On LAN??? Wake On LAN!

Ich bin kein Fan davon, daheim alle Netzwerkgeräte dauerhaft eingeschaltet zu lassen, auch wenn mein z. B. mein NAS durchaus dafür ausgelegt wäre. Wofür? So oft muss ich auf meine Daten auch nicht zugreifen. Aber wenn, dann möchte ich auch gerne möglichst alle Geräte verfügbar haben. Also was tun, wenn das NAS daheim aus ist, du aber eine wichtige Datei oder die Urlaubsbilder jetzt brauchst und nicht erst, wenn du wieder daheim bist?

Das Zauberwort hier heißt Wake On LAN oder auch kurz WoL. Infos dazu findet ihr natürlich auf Wikipedia.

Das Projekt – Wake On LAN Server mit dem Raspberry Pi und etherwake

Zusammengefasst machen wir folgendes: Unseren Raspberry Pi (Desktop oder Lite ist egal), auf dem eventuell bereits unser PiVPN-Server läuft und der daher eigentlich immer eingeschaltet ist mit etherwake zum WoL-Server ausbauen. Die Geräte, die wir aus der Ferne starten möchten, müssen WoL unterstützen, was leider nicht alle tun. Meine alte Synology DiskStation 209 beispielsweise ist nicht WoL-fähig, die DS214 dafür aber schon. Desktop-PCs sind in aller Regel ebenfalls WoL-fähig, auch wenn man hier ein bisschen was einstellen muss.

Wie ihr WoL auf euremPC aktiviert ist sehr stark abhängig vom Betriebssystem und der jeweils verbauten Hardware. Wichtig ist, dass WoL nur über Kabel funktioniert, WLAN ist nicht möglich! Am besten befragt ihr z. B. mal Google. Sucht nach der Typenbezeichnung eures Mainboards oder eurer Netzwerkkarte, je nachdem ob ihr eine onBoard-Netzwerkkarte im PC nutzt oder eine separate.

Wie ihr WoL auf einer DiskStation wie meiner DS214 / DS218j * aktiviert, das habe ich bereits in diesem Artikel beschrieben.

* Bei dem Link handelt es sich um einen Amazon Affiliate-Link. Für euch ändert das nichts am Preis, aber ich erhalte von Amazon eine kleine Provision.

Installation von etherwake unter Raspbian Stretch

Los geht’s, die Installation geht schnell und einfach und nach nur ein paar Minuten habt ihr einen funktionierenden WoL-Server.

Zuerst einmal loggt ihr euch auf der Shell eures Raspi ein, per SSH oder lokal am Bildschirm spielt keine Rolle. Dann aktualisieren wir erst mal unser System. Das passiert mit den folgenden beiden Befehlen:

Als nächstes folgt die Installation von etherwake. Die Dokumentation von etherwake findet ihr hier. Die Installation starten wir mit

Die Syntax um ein Gerät zu starten lautet dann auf der Shell

Anstelle von [MAC] gebt ihr die MAC-Adresse des Gerätes im Format 00:11:22:33:44:55 ein, das ihr starten möchtet. Die MAC-Adresse eines Windows-PC findet ihr beispielsweise in der Eingabeaufforderung mit dem Befehl

Start-Skript bauen und/oder mehrere Geräte gleichzeitig starten

Nun ist es natürlich relativ unkomfortabel, sich für alle Geräte die MAC-Adressen zu merken oder aufzuschreiben und jedes Mal einzutippen. Selbstverständlich gibt es auch dafür eine Lösung. Wir legen uns einfach ein Skript an, in dem wir die MAC-Adresse(n) hinterlegen und rufen dann nur noch das auf. Das Skript bekommt einen Namen, den wir uns gut merken können.

Wir wechseln also wieder zurück auf die Shell:

Durch den Befehl oben wird der Texteditor „nano“ geöffnet und eine neue Datei „wol.sh“ erstellt. In diese Datei schreiben wir unseren Befehl von oben:

Anstelle des Namens „wol.sh“ könnt ihr hier natürlich auch so was wie „start-ds214.sh“ nehmen.

Habt ihr mehrere Geräte, die ihr gleichzeitig starten möchtet? Dann schreibt ihr den Befehl einfach mehrfach untereinander, immer mit der jeweils passenden MAC-Adresse.

Mit Strg + o speichern wir die Datei unter dem bereits angegebenen Namen und mit Strg + x beenden wir nano.

Mit dem Kommando

ruft ihr das eben erstellte Skript auf und startet alle dort hinterlegten Geräte. Die Datei könnt ihr auch jederzeit anpassen oder erweitern. Dafür loggt ihr euch wieder auf dem Raspi ein und startet wieder nano, genau wie oben. Da die Datei schon existiert, wird sie dann geladen und kann bearbeitet werden.

Das war’s auch schon!
Mit eurem WoL-Server könnt ihr jetzt nach belieben verschiedene Netzwerkgeräte starten. Im nächsten Artikel wird es dann darum gehen, wie ihr den Start und das Herunterfahren noch etwas komfortabler per Android-App gestalten könnt.

Steuerung mit eurem Android-Smartphone

Wollt ihr euer Startscript z. B. mit dem Android-Smartphone ausführen und so super schnell und ohne PC eure Geräte starten? Dann schaut euch mal meinen Artikel „Raspberry SSH (Android) – SSH-fähige Geräte mit einem Klick steuern“ an.

Dadurch spart ihr euch auch ganz nebenbei die Erstellung der Startscripte auf dem Raspberry Pi, da diese direkt in Raspberry SSH hinterlegt werden.

Euer Feedback

Hat alles geklappt? War die Anleitung gut zu verstehen? Fehlt noch was?

Hinterlasst euch Kommentare unten und ich melde mich bei euch. Ich freue mich immer über euer Feedback.

6 Antworten auf „etherwake – Der Raspberry Pi als Wake On LAN-Server“

  1. Hallo Dennis,

    Erstmal vielen Dank für dein TUT…. habe alles am laufen nur mit einem Pi3+

    Ist es möglich im Skript vom WOL eine Art Portüberwachung einzubauen?
    DH. Ich greife von Außen auf Port 67890 zu bspw. und der Pi schickt einen WOL an das NAS?

    Das war die Idee dahinter….. also Quasi meinenextcloud.ddns.net:67890 mein nas wird Gestartet von PI und ich hab zugriff 🙂

    1. Hi Marcel,

      uff, da bin ich ehrlich gesagt überfragt. Ich halte das aber insofern für keine allzu gute Idee, als dass du den Port ja dann auch nach außen freigeben musst. Es könnte also jeder, der die Adresse kennt, deine DS daheim starten.
      Dann stellt sich mir die Frage, was es dir bringt, das Ding nur zu starten, denn für den Zugriff auf Daten musst du ja dann doch wieder ins VPN. Schau dir doch lieber mal meinen Artikel zu Raspberry SSH an (falls du ein Android Phone hast), das dürfte dir helfen. Ob es eine ähnliche App für iOS gibt, weiß ich leider nicht.

      Grüße,
      Dennis

  2. Moin Dennis,
    etherwake kannte ich bisher noch gar nicht. Das ist wirklich praktisch, da ich meinen Homeserver (openmediavault) bisher immer über die Fritzbox Oberfläche gestartet habe. Nun erledige ich das dem Pi und der iOS App „SSH Remote“. Über die gleiche App kann ich ihn auch runterfahren lassen 🙂

    1. Hey Stephan,

      schön, dass dir der Artikel was gebracht hat! Die App muss ich mir mal angucken, dann könnte ich meine Geräte auch vom Firmenhandy aus steuern 🙂

      Gruß,
      Dennis

  3. Hallo Dennis,

    ich bin jetzt schon seit einer ganzen Weile am Recherchieren habe aber nicht gefunden was für mich passt.

    Ich habe 5 Mitarbieter die sich vom Homeoffice oder ähnliches per SSL VPN auf ihren eigenen Arbeitsplätzen im Büro anmelden wollen und arbeiten.

    Meine Problematik besteht darin das ich die WoL Pakete nicht über den VPN Tunnel bekomme.

    Nun kommt dein Gerät und meine Frage ins Spiel. Ich möchte im 1. Schritt das die Mitarbeiter den VPN Tunnel aufbauen und dann im 2. Schritt ein Script/Batch starten was ihren Arbeitsplatz über Wol (etherwake mit Raspberry PI) startet und im Anschlus der RDP Client mitgestartet wird.

    Meinst du man kann das mit dem Gerät so umsetzen??

    1. Hi Oliver,

      ja, das geht und ziemlich genau so habe ich es auch selbst bei mir im Netzwerk umgesetzt!
      Letztendlich ist es ganz einfach:
      Du installierst dir einen Raspberry Pi mit PiVPN und etherwake. Um danach verschiedene Geräte per WOL zu starten, müssen sich deine Mitarbeiter ja auf dem Raspi einloggen. Das geht z. B. mit plink.exe, die du mit Putty zusammen erhältst. Dafür brauchen die Personen aber das entsprechende Kennwort für den Raspi, das ich so nicht raus geben würde, wenn ich du wäre.

      Ich habe mir der Einfachheit halber ein kleines Programm gebaut, das mir meine verschiedenen Geräte startet, runterfährt und auch verschlüsselte Verzeichnisse meiner DiskStations mountet. Genau so was könntest du z. B. nutzen, um den Mitarbeitern die Zugangsdaten zum Raspi nicht geben zu müssen und dennoch Batch-Scripte für WOL auszuführen. Geschrieben habe ich das Tool mit AutoIt (https://www.autoitscript.com/).
      Wenn du Interesse an dem Tool hast, melde dich gerne, dann bereinige ich den Programmcode um meine eigenen Zugangsdaten und lasse ihn dir zukommen. Ist wirklich ganz einfach, sieht aber derzeit noch nicht schickt aus.

Schreibe einen Kommentar

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