Guten Morgen zusammen, ich möchte mir ein Script erstellen, welches im Hintergrund auf einem Linux läuft und bei Anfragen an bestimmte IP adressen ein WOL Packet verschickt. Folgender "HW" Aufbau: - Synology im Heimnetz (WOL an) - OpenVPN mit PiHole auf einem Raspy über DDNS erreichbar Anwendungsfall ist sicher schnell erraten: Ich möchte über den VPN ggf meine Synology aufwecken. Einen WOL Packet übers Terminal zu versenden klappt und macht auch was es soll, aber übers Handy-Terminal ist das recht umständlich. Daher die Idee eines Shell Scripts, welches im Hintergrund auf dem Raspy läuft und bei Anfragen an eine bestimmte IP Adresse (bekommt den Datenverker ja komplett mit als VPN Server) ein WOL Paket an die jeweilige IP Adresse / zugehörige MAC schickt. Da ich absolut kein Script Pro bin, hier mal die Frage nach Hilfe. Im Netz finde ich recht wenig dazu - oder ich suche einfach falsch... Vielen Dank!
Peter schrieb: > Daher die Idee eines Shell Scripts, welches im Hintergrund auf dem Raspy > läuft und bei Anfragen an eine bestimmte IP Adresse (bekommt den > Datenverker ja komplett mit als VPN Server) ein WOL Paket an die > jeweilige IP Adresse / zugehörige MAC schickt. Ich halte die Idee für so mittelprächtig, das deine Synologie startet, wenn eine Magic IP angerufen wird. Wie wäre es, wenn du dir stattdessen knockd.conf auf den Raspery Pi installierst und auf den Handy eine entsprechende App?
Imonbln schrieb: > Ich halte die Idee für so mittelprächtig, das deine Synologie startet, > wenn eine Magic IP angerufen wird. Kannst du das näher erläutern? Meine Synology hat eine feste IP mit der ich sie über diverse apps erreiche. Ich hätte an sowas gedacht wie: "Sobald Anfragen an IP 192.168.2.77 kommen, sende ein WOL packet an die hinterlegte MAC Addr zu der IP 192.168.2.77." Imonbln schrieb: > Wie wäre es, wenn du dir stattdessen knockd.conf auf den Raspery Pi > installierst und auf den Handy eine entsprechende App? Knockd kenne ich noch nicht. Werde ich mir mal anschauen, danke! Würde den ablauf jedoch gerne automatisieren.
Peter schrieb: > Kannst du das näher erläutern? Meine Synology hat eine feste IP mit der > ich sie über diverse apps erreiche. Ich hätte an sowas gedacht wie: > "Sobald Anfragen an IP 192.168.2.77 kommen, sende ein WOL packet an die > hinterlegte MAC Addr zu der IP 192.168.2.77." Ich meine, dass es immer mal ein Client gibt, der ein Paket an die magische Adresse sendet, vor allen, wenn es die reguläre Adresse der Synology ist, oder die Adresse vom DHCP vergeben wird. Dann startet die Synology unnötig! Das klingt sehr anfällig und selbst gebaut. Peter schrieb: > Knockd kenne ich noch nicht. Werde ich mir mal anschauen, danke! Würde > den ablauf jedoch gerne automatisieren. Die Idee mit Knockd ist das es automatisch passiert, du wirst von Hand es eher nicht schaffen, die Sequenz zeitlich zu treffen. Meisten hast du da im Handy einen Button und dann startet der Knockd dein Shellscript, um die Synology aufzuwecken.
Imonbln schrieb: > Ich meine, dass es immer mal ein Client gibt, der ein Paket an die > magische Adresse sendet, vor allen, wenn es die reguläre Adresse der > Synology ist, oder die Adresse vom DHCP vergeben wird. Dann startet die > Synology unnötig! > Das klingt sehr anfällig und selbst gebaut. ah ok, jetzt verstehe ich dich besser. Der DHCP arbeitet erst ab 192.168.2.100 - weiter ist die 77 auch nicht die std adresse für die syn. aber es stimmt schon, dass es wahrscheinlich ist, dass irgendein client mal was an die adresse schickt und dann die syn aufweckt... Imonbln schrieb: > Die Idee mit Knockd ist das es automatisch passiert, du wirst von Hand > es eher nicht schaffen, die Sequenz zeitlich zu treffen. Meisten hast du > da im Handy einen Button und dann startet der Knockd dein Shellscript, > um die Synology aufzuwecken. mmh mit einem button auf dem home screen, könnte ich mir das wohl noch vorstellen denke ich. Aber eine Möglichkeit das ganze zu automatisieren, wenn eine Anfrage an die Syn kommt siehst du nicht?
Ich hatte das für ein ähnliches Setup früher so gelöst: Am ARM (war noch vor der RasPi-Zeit) lief ein Apache als reverse-proxy. der hatte in etwa sowas als Config (.htaccess):
1 | RewriteEngine On |
2 | RewriteCond %{REQUEST_URI} !503\.php |
3 | RewriteRule (.*) http://192.168.123.45/pfad/$1 [P] |
4 | ErrorDocument 503 /pfad/503.php |
5 | |
6 | AuthUserFile ... |
7 | Require valid-user |
Idee: Wenn 192.168.123.45 Offline ist, gibt's HTTP-Error 503 (https://http.cat/503) Dieser wird dann wg "ErrorDocument" über das 503.php-File ausgeliefert. im PHP-File war dann einerseits das Auslösen des WoL-Packets an 192.168.123.45 drinnen, zum anderen ein 'header("Refresh: 30");' um regelmäßig zu Schauen ob der Host inzwischen hochgefahren ist. Den Wakeup hatte ich allerdings nicht direkt im PHP aufgerufen, sondern gesondert laufen. Das PHP hat das nur über eine spezielle Log-Meldung angestoßen. (Jugendsünde ... PHP ist schon schlimm genug ansich, aber zumindest war's kein Suid-Root-PHP :) Und wenn jemand das Passwort nicht kennt, gibt's http-Fehler https://http.cat/403 , kein extra Error-Document, und auch kein nutzloses Aufwecken des Backend-Servers.
:
Bearbeitet durch User
das klingt ziemlich spannend, aber für mich auch recht herausfordernd wenn ich ehrlich bin! Als guideline kann man die Idee aber gut verwenden, denke ich :) Würde es so wahrscheinlich dann eher über ein python skript lösen?
Peter schrieb: > - OpenVPN mit PiHole auf einem Raspy über DDNS erreichbar > aber übers Handy-Terminal ist das > recht umständlich. Wenn das Handy im VPN ist: Eine beliebige WOL App deiner Wahl auf dem Handy. Es gibt mehr als genug https://play.google.com/store/search?q=wake%20on%20lan&c=apps&hl=de
Hannes J. schrieb: > Wenn das Handy im VPN ist: > Eine beliebige WOL App deiner Wahl auf dem Handy. Es gibt mehr als genug WoL über VPN geht nicht. Kannst ja Mal googeln warum.
Ja leider ist WOL über VPN nicht möglich... Wäre es möglich, dann würde ich ganz einfach wie im Heimnetz die Synology App verwenden und ein WOL Paket schicken... Ich glaube ich werde mir dann irgendwie ein python skript (an Εrnst B.s Idee angelehnt) zusammenbasteln müssen...
Εrnst B. schrieb: > Und wenn jemand das Passwort nicht kennt, gibt's http-Fehler > https://http.cat/403 , kein extra Error-Document, und auch kein > nutzloses Aufwecken des Backend-Servers. Über diesen Punkt bin nun shon öfter gestolpert... Könntest du den evtl nocheinmal ein wenig genauer erklären? Ich verstehe nicht ganz wie überprüft werden soll, ob das PW stimmt ohne den dafür vorgesehenden Server aufzuwecken?
Peter schrieb: > Über diesen Punkt bin nun shon öfter gestolpert... Könntest du den evtl > nocheinmal ein wenig genauer erklären? Ich hatte einen "Dauernd An" Server, sparsames ARM-Board, mit dem (Reverse-Proxy-)Apache-Webserver, der Passwort-Prüfung, dem Wake-On-Lan, später auch LetsEncrypt usw. Der hat nur das "Basic Auth"-Passwort geprüft, nix weiter, und nur wenn das Basic-Auth Passwort gestimmt hat, hat der die Maschine im Hintergrund geweckt. Und erst wenn die Wach war, gab's den "echten" Login auf der Webseite. Das hat den Proxy dann aber nicht weiter interessiert, der hat das nur durchgeleitet. d.H.: Zwei Passwörter: Ein simples "Basic Auth", was z.B. direkt mit "https://username:passwort@servername.dyndns.xxx/" im Bookmark stehen kann. Und das "echte" Passwort für die Webapplikation. Das Basic-Auth Passwort muss dabei nicht sonderlich sicher sein, es soll nur verhindern dass jeder Script-Kiddie-Portscan ein Wake-On-Lan ausführt.
Hast du eine Fritz Box? Dann könnte das ggf. funktionieren, die müsste den arp request eigentlich mitbekommen. https://avm.de/service/wissensdatenbank/dok/FRITZ-Box-7490/36_Netzwerkgerat-uber-das-Internet-starten-Wake-on-LAN/ Schau einmal ob du deinem Netzwerkadapter auch einfach sagen kannst, dass er bei einer direkten Anfrage das System aufwecken soll: https://www.thomas-krenn.com/de/wiki/Wake_on_LAN_unter_Linux Ansonsten einfach das Tool wakeonlan benutzen: https://packages.ubuntu.com/focal/wakeonlan Wenn du damit klar kommst, dass dein NAS bei jeder VPN Verbindung aufwacht: https://newbedev.com/how-do-i-run-a-script-after-openvpn-has-connected-successfully Nach "--up /etc/openvpn/nat.sh" suchen, dann hast es gleich. Bin mir nicht sicher ob das ggf. abhängig vom Client funktioniert, wenn ja könntest einfach eine zweite VPN Verbindung anlegen...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.