Mittwoch, 13. Februar 2013

Wake-on-LAN mit Raspberry statt Fritzbox 7170

Alle Versuche, meinen alten Netgear-Router zum Durchlassen eines Wake-On-LAN-Pakets aus dem Internet zu meinem "Sometimes-Server" zu bewegen, waren gescheitert.

Von diversen Fritzboxen haben ich gelesen, dass sie diese Weiterleitung beherrschen. Glücklich und günstig lief mir eine Fritzbox 7170 zu und siehe da - auch bei dieser funktioniert diese Weiterleitung von außen nach innen nicht. (Hätte man durchaus vorher herausfinden können, aber weil es meine erste Fritzbox ist, habe ich die Nummern durcheinandergebracht. Es gibt ein paar Anleitungen, wie man die Firmware der 7170 zu diesem Zweck verändert, aber die waren doch ein bissl hardcore...)

Ich habe das Problem "Web-Frontend bei Hoster X soll meinen Sometimes-Server bei mir zu Hause hinter DSL-Anschluss und Fritzbox Y aufwecken" jetzt so gelöst:

Der Sometimes-Server (Dell OptiPlex, Windows) bootet dank BIOS-Einstellung beim Eintreffen eines Wake-On-LAN-"Magic-Pakets". (Hier lohnt sich wirklich der Einsatz veralteter Business-PCs, wie man sie bei PC-Abdeckern wie AFB günstig und sozialverantwortlich (!) erwerben kann. Die haben so ein Feature an Board und man findet es auch im BIOS. Nur ein Tipp an alle, dies dies hier nachbauen wollen: Erst den Server checken, ob er sich aufwecken lässt. Dann den Raspberry kaufen ;-). Und nebenbei: das heißt Wake-on-LAN, nicht Wake-on-WLAN!)

Aufgeweckt wird er von meinem Raspberry Pi aus. Dort habe ich mit

$ sudo apt-get install etherwake

das Paket installiert, mit dem man mit

$ wakeonlan MAC-Address-Here

den Server aufwecken kann (mehr Anleitung hier).

Auf dem Raspberry läuft Apache und PHP5.

Dafür habe ich ein ober-simples wake.php geschrieben, das o.g. Befehl mit Shell-Exec aufruft:

<?php
echo shell_exec('wakeonlan 00:00:00:00:00:00');
?>

In der Fritzbox habe ich den Port 80 auf den Raspberry umgeleitet.

Damit ich meine Fritzbox aus dem Internet auch erreiche, habe ich bei selfhost.de einen freien DynDNS-Account angelegt und in der Fritzbox eingetragen.

Jetzt ruft mein Web-Frontend mit fopen die DynDNS-Url von selfhost.de auf, meine Fritzbox leitet durch an den Raspberry und der weckt in meinem LAN den "Sometimes-Server" auf.


Für einen abschließenden Bericht ist es noch zu früh, ABER
- die Lösung läuft zunächst erstaunlich zuverlässig,
- die Security ist in den Griff zu bekommen, ist hier oben aber noch nicht erläutert,
- ich sollte damit 50 Watt sparen, d.h. 1,2 kWh/Tag = 438 kWh/Jahr = 109 € Stromkosten / Jahr (bei 25 ct/kWh),
- ich habe jetzt einen Raspberry Pi zum Spielen,
- der Server macht jetzt keinen Krach mehr.

1 Kommentar:

  1. Der Aufruf von fopen ist für meine Website nicht optimal, da die Verbindung zu meinem Backend ggf. langsam ist (durch die DSL-Strecke). Besser wäre es, wenn ich auf einen aynchronen Aufruf umrüste wie diesen hier: http://stackoverflow.com/questions/124462/asynchronous-php-calls

    Habe ich aber noch nicht getan.

    AntwortenLöschen