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
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:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Als nächstes folgt die Installation von etherwake. Die Dokumentation von etherwake findet ihr hier. Die Installation starten wir mit
1 |
sudo apt-get install etherwake |
Die Syntax um ein Gerät zu starten lautet dann auf der Shell
1 |
sudo etherwake [MAC] |
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
1 |
ipfonfig /all |
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:
1 |
nano wol.sh |
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:
1 |
sudo etherwake 00:11:22:33:44:55 |
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.
1 2 |
sudo etherwake 00:11:22:33:44:55 sudo etherwake 99:88:77:66:55:44 |
Mit Strg + o speichern wir die Datei unter dem bereits angegebenen Namen und mit Strg + x beenden wir nano.
Mit dem Kommando
1 |
sudo bash wol.sh |
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.
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 🙂
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
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 🙂
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
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??
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.
Edit: Das Script findet ihr hier.
Hi Dennis,
guter Job.
Wäre auch an deinem Script interessiert.
Grüße
Georg
jamagushi@gmx.de
Hey Georg,
freut mich, dass dir mein Artikel gefällt.
Ich habe das Script in meinem Kommentar oben verlinkt.
Viele Grüße,
Dennis
Hallo Dennis,
vielen Dank für die ausgezeichnete Doku. Es hat alles prima geklappt.
Nutze als Funktion auf dem Android das von Dir getestete Raspberry SSH und verbinde mich auf einen Raspberry 3B im Büro, auf dem etherwake nach Deinem Tutorial installiert ist. Eine VPN-Verbindung habe ich ins Büro bereits über den Sonicwall-Client. Darüber habe ich die Gesamtfunktion aber noch nicht getestet, da ich im Homeoffice eine Standverbindung ins Büro habe. Zur Vervollständigung habe ich den Raspi um samba-common erweitert, wodurch ich auch die PCs im Büro wieder ausschalten kann und dass, obwohl die PCs Domänenmitglieder sind.
Den Ansatz / die Erweiterung von Oliver sehe ich mir die Tage mal genauer an, da mir im Moment zu viele Kennwörter „offengelegt“ sind. Aber das wird noch…
Servus Martin,
cool, danke für deinen Kommentar! Es freut mich zu lesen, wenn euch meine Anleitungen gefallen und alles soweit klappt 🙂
samba-common sollte ich mir vielleicht auch mal anschauen, denn aktuell muss ich meinen Desktop-PC noch per VPN wieder runterfahren, was mir nicht wirklich gefällt. Danke an der Stelle für deinen Tipp!
Wenn du keine Kennwörter offen legen willst, kannst du dir auch noch mal mein AutoIt-Script angucken. Die Sourcen dazu habe ich gestern gepostet, das ist recht leicht anzupassen und du hast dann nur noch eine Exe-Datei.
Viele Grüße,
Dennis
Hallo Denis,
erst einmal vielen Dank für den Thread.
Ich habe aber ein kleines Problem. Trotz einem konsequenten Doing dessen, startet das NAS nicht. Auch ein
„sudo /usr/sbin/etherwake „MAC:ADRESSE“
führt nicht dazu:-(
Hättest Du eine Idee woran das liegen könnte?
Liebe Grüße
Beb
Hey Beb,
Xigmanas kannte ich bisher noch nicht, aber das ist ja „nur“ ein Software-Paket.
Auf welcher Hardware hast du das NAS denn laufen? Falls das System ebenfalls auf einem Raspi läuft, denk dran, dass dieser kein WOL kann.
Viele Grüße,
Dennis
PS: natürlich habe ich auf meinem NAS-Server (Xigmanas) die Funktion „Wake On LAN“ aktiviert…
Scheinbar gab es ein paar Änderungen in dem Programm (stand 25/1/2020) etherwake.
Ich habe es jetzt so gelöst:
sudo apt install wakeonlan
wakeonlan -i „Hier IP“ „Hier MAC“
Um ein zuverlässiges Hochfahren zu gewährleisten sollte man dem Gerät welches man per WOL hochfahren will eine feste IP verpassen.
PS: Finde deinen Blog super ! Habe ihn leider erst jetzt entdeckt.
Hey Simon,
erst mal danke für dein Lob, freut mich, dass dir meine Seite gefällt! 🙂
Ich hab es eben noch mal getestet mit der aktuellsten Raspbian Version Buster und der Befehl klappt bei mir immer noch so, wie im Artikel beschrieben, also „sudo etherwake [MAC-Adresse]“.
Viele Grüße
Dennis
Funktioniert auch 2020 mit einem Rasperry 4 noch reibungslos. Vielen Dank für den Artikel und Grüße.
Hey Detlef,
danke für dein Feedback und das Lob!
Viele Grüße
Dennis
Hallo
Habe auf meinem Pie VPN und dein etherwake – Der Raspberry Pi als Wake On LAN-Server installiert.
Funkt alles super.
Habe sogar die Raspberry SSH APP installiert um den Pi zu rebooten und meine Nas DS 218 + Synology im Netzwerk einzuschalten. Funkt alles.
Nun würde ich gerne meine Nas Neustarten und Runterfahren über die App.
Leider habe ich es noch nicht geschafft.
Hast du vielleicht einen Leitfaden für mich ?
mfg Chris
Hallo
Habe auf meinem Pie VPN und dein etherwake – Der Raspberry Pi als Wake On LAN-Server installiert.
Funkt alles super.
Habe sogar die Raspberry SSH APP installiert um den Pi zu rebooten und meine Nas DS 218 + Synology im Netzwerk einzuschalten. Funkt alles.
Nun würde ich gerne meine Nas Neustarten und Runterfahren über die App.
Leider habe ich es noch nicht geschafft.
Hast du vielleicht einen Leitfaden für mich ?
mfg Chris
Hey Chris,
hast du dir mal meinen Artikel zum Root-Zugriff auf die DS angesehen? Für Reboot und Shutdown brauchst du den, sonst klappt das nicht einfach so per Script.
Ab DSM 6.2 oder so braucht es da eine etwas andere Vorgehensweise, die wollte ich aber die Tage mal in den Artikel einpflegen.
Viele Grüße
Dennis
Hallo
Danke für deine Antwort.
Ich nutze die Version DSM 6.2.2-24922 Update 4 auf meiner Synology.
Wenn du funktionierende Vorgehensweise hast schick mir bitte den Link.
Danke vorerst für deine Mühe und weiter so.
Deine Anleitungen sind sehr Ausführlich erklärt und auch gut für Laien umsetzbar.
mfg
Chris
Hallo
Danke für deine Antwort.
Ich nutze die Version DSM 6.2.2-24922 Update 4 auf meiner Synology.
Wenn du funktionierende Vorgehensweise hast schick mir bitte den Link.
Danke vorerst für deine Mühe und weiter so.
Deine Anleitungen sind sehr Ausführlich erklärt und auch gut für Laien umsetzbar.
mfg
Chris
Hallo,
danke für deine Anleitung.
Über die Kommandozeile des PI klappt soweit alles, nur über die App SSH Remote in iOS komme ich leider nicht weiter.
Über die Fritzbox ist eine feste IP für den Pi vergeben.
Port in der App ist bei 22 belassen, aber nichts passiert.
Kannst du mir verraten, was ich einstellen muss?
Besten Dank vorab und Grüße
Kersten
Hey Kersten,
dein Port 22 auf dem Pi ist aber schon geöffnet, oder? SSH ist nämlich standardmäßig deaktiviert.
Was sagt die App denn im Log File, das du angezeigt bekommst, wenn du in die Einstellungen schaust?
VG, Dennis
Hallo Dennis,
super, danke – genau was ich gesucht habe! Denn als Telekom-Kunde habe ich keine FritzBox, sondern einen Speedport Smart Router. Der hat zwar seit neuestem WireGuard fertig implementiert (für Leute die es nicht kennen: Deutlich schneller als VPN und genauso sicher), kann aber kein WoL.
Nun habe ich – dank Dir – folgendes Setup: Raspberry Pi 3 per LAN mit Speedport verbunden. Mein Heimserver ist ein Mac Pro 2010, der per LAN mit dem Router verbunden ist (nicht direkt mit dem Raspi – das WoL läuft durch ganze Netzwerk und landet bei der IP, wo es hin soll).
Bin ich von unterwegs über WireGuard verbunden, sende ich entweder über eine iPhone-App Namens ssh Remote das Bash-Skript ab, das ich von Deiner Seite übernommen habe, oder ich mache es auf dem MacBook manuell über Terminal. Der Server wacht dadurch auf und ich erreiche ihn unter MacOS über die Finder-Funktion „Gehe zu“ -> „Mit Server verbinden“ -> ssh://xxx (IP des Servers) (Odernderfreigabe) oder vnc://xxx (IP des Servers) (Bildschirmfreigabe à la Remote Desktop). Vom iPhone aus kann man die Server genau so aufrufen über die Apple-App „Dateien“.
Für alle User von Speedport: Achtung, man kann auf diesem Router immer nur EINEN Klient über WireGuard verbinden – also entweder z.B. ein iPhone ODER ein MacBook, aber nicht beides gleichzeitig. Analog ist es natürlich für PC- und Android-Nutzer. Aber man kann dieselbe Konfigurations-Datei für beide Geräte benutzen, sie nur eben nicht gleichzeitig einsetzen. Will man mehrere Clients gleichzeitig benutzen, am besten auf dem Raspi VPN installieren (wie im anderen Tutorial 😉 oder WireGuard, das geht auch auf dem Raspi (Vielleicht ein Thema für ein weiteres Tutorial? 😉 Ein weiterer Workaround wäre unterwegs einen WireGuard-tauglichen Reiserouter einzusetzen und mehrere Geräte über dessen WLAN laufen zu lassen (z.B. Gl.iNet Mango, Greta oder Slate). Dann wäre der Reiserouter zu Hause auf dem Speedport ein einziger Klient, obwohl der mehrere Geräte bündelt.
Ach ja, und der Raspi ist bei mir auch gleichzeitig Add-Blocker, dank Deines anderen Tutorials. WoL und Pi Hole funktioniert beides gleichzeitig wunderbar auf einem Raspi.
Viele Grüße aus Hamburg,
Thomas
Danke. Tipp für Apple-Nutzer: auf dem iPhone funktioniert zum Absenden des Bash Scripts die App „ssh Remote“ gut, kostenlos im App Store erhältlich.
Gruß aus Hamburg,
Thomas
Vielen Dank für Deinen Artikel!
Ich hatte zuvor schon viel versucht aber leider löschte die Fritzbox nach einer Weile immer die Broadcast und der PC startete trotz VPN nicht mehr.
Mit „Deiner“ Lösung funktioniert es einwandfrei. Ein seit längerer Zeit bestehendes Problem ist dadurch endlich gelöst. Danke! Danke!! Ich freu mich richtig 😀 *gg*
Grüsse Brati
Sehr cool! Freut mich, dass ich helfen konnte 🙂
VG
Dennis
Bei mir ging Etherwake nicht, da es den Standard Port 9 benutzt.
wakeonlan -p 7 [MAC] hats dann gebracht.
https://www.depicus.com/wake-on-lan/wake-on-lan-monitor
Hier gibt es ein kleines Tool, das alle im Subnetz umherschwirrenden WoL Pakete entdeckt (wenn sie an die braodcast adresse gehen). Der Port muss aber eingestellt werden.
Einen wunder schönen guten tag!!!
Erst mal danke für dieses super Tutorial!!!
Habe es direkt auf anhieb hinbekommen den Raspberry einzurichten und meiner Geräte zu starten.
Was auch alles super funktioniert. Nur war meine Idee eigentlich ursprünglich das ganze per Website ausführbar zu machen, in dem ich den Py irgendwo mit einem kleinen Touchscreen stehen habe und dann nur auf diesen drücken muss und somit die Server oder die NAS´s hoch zu fahren. Hatte dazu eigentlich die Anleitung von Youtube von Apfelcast genommen, aber diese nicht umgesetzt bekommen.
Daher währe meine frage ob es eventuell möglich ist diese befehle hier per PHP oder ähnliches, in eine Website, einzubinden.
Währe super wenn mir da einer helfen kann. Denn ich verzweifle hier gerade auch irgendwie was das alles angeht.
Danke schon mal im vor raus!!!
Mit freundlichen Grüßen
Sascha
Ja, hallo aus Köln. Ich möchte das Thema noch einmal aufgreifen. Ich habe einen PLEX Server. Der läuft z.Zt. 24/7 und ich denke an eine Lösung wo ich über einen PI den Zugriff auf den Port 38400 (PLEX Server Port) feststellen kann und dann ein WOL für den PLEX Server auslöse das der dann automatisch hochfährt. Mit einer M.2 SSD geht das ja rech schnell und wäre dann eigentlich die praktischste Lösung.
Zugriff auf einen bestimmten Port feststellen, WOL für bestimmtes Gerät auslösen.
Gruß aus Köln
Rudi
Alternativ eventuell mit NGINX als Reverse Proxy.
Zitat: „..Ein Reverse Proxy ist eine gute Möglichkeit, dies einzurichten, da es den eingehenden Traffic empfangen kann, bevor er den Ursprungsserver erreicht.“
Ggf. könnte man hier auch den Zugriff auf einen bestimmten Port erfassen und dann etwas auslösen…
Ich habe eh den NGINX schon als Reserve Proxy laufen, auf dem PLEX Server.. – der verteilt sämtliche Zugriffe über die Portauswahl auf die entsprechenden Server im Local Network. Dieser müsste dann auf den RASPI umziehen… der dann als Eingangstüre und WOL Auslöser für alle angeschlossenen Server dient, die nur sporadisch laufen sollen und sich nach 30 Min inaktivität selber wieder ins Nirvana schicken.
Hallo
ist es möglich das Projekt auch mit einem Raspberry Pi Zero zu verwirklichen?
wenn ja reicht der single oder besser den Quad Code?
mfg
Hey!
Ja klar geht das, ich hatte den WoL-Server auch recht lange auf einem Pi Zero 1 laufen. Das Teil macht ja im Prinzip nichts, außer von Zeit zu Zeit ein Magic Packet zu senden.
Grüße, Dennis
Habe diese Seite erst heute entdeckt. Ich bin neu mit einem Raspberry unterwegs und wollte meine Synology über WOL aufwecken.
Das klappt mit Tailscale hervorragend über WAN, da mein Pi dann im LAN ist und ich von irgendwoher zugreifen kann.
Vielen Dank für die ausführliche Anleitung.