Wake on Lan/Internet

moko70

Neuer User
Mitglied seit
7 Okt 2005
Beiträge
110
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte meinen Webserver gern per WOL/I wecken.

Ich habe nach Anleitungen erstellt:
- Freetz Image
- WOL Script
- SHH Zugang ohne Passwort

Wie richte ich den Apache in Freetz ein, damit ich von dort das Script zum Erstellen des WOL Paketes versenden kann. Konket benötige ich jetzt eine PHP/HTML-Datei, die ich auf dem zweiten Webserver ausführen kann? Diese müsste ja den "WAKEUP HOST"-Befehl enthalten, oder habe ich da etwas falsch verstanden?

Sorry für meine Ahnungslosigkeit, ich habe bereits mehrere Tage mit dem Problem zugebracht, ohne entsprechende Infos zu finden.

Danke für die Unterstützung.
 
Hi,
so wie ich [1] verstehe brauchst du keinen extra Apache in Freetz, sondern es wird bei diesem Paket ein eigener kleiner Webserver mitgeliefert. Den musst du nur per Portforwarding erreichbar machen.

[1] http://freetz.org/wiki/packages/wol
 
Hallo, danke für Deine Antwort. Ich meine es aber eben nicht so. Du meinst das Web-Interface für das Wecken, dass "händig" bedient (klick) werden muss. Das kann man aber so schon ohne Freetz...

Im Grunde reicht es ja auch, auf der Box ein Ereignis zu erstellen (wenn der Hostrechner aufgerufen wird), welches den "Wakeup hostrechner" auslöst... Aber wie...
 
Zuletzt bearbeitet:
WOL über URL - bei mir geht's

Hallo,

schau' mal in diesen Thread, da habe ich was dazu geschrieben:

http://www.easyvdr-forum.de/forum/index.php?topic=12470

Bei mir geht's innerhalb meines LANs seit Jahren prima. Ich habe Bookmarks im Browser auf die entsprechenden URLs und kann damit die jeweiligen Rechner im Netz aufwecken. Ob's per dyndns von draußen auch geht weiß ich nicht, ich will den Port nicht aufmachen.

Grüße,
Christoph
 
Vielen Dank für den Tipp. Sieht gut aus. Ich werde es Ende der Woche testen, da ich nicht daheim bin....
 
Ich gebe das Thema bis auf Weiteres auf. Ein Web-Server sollte schon permanent erreichbar sein.
 
Ähm, wie ist das jetzt gemeint? Wenn die Fritzbox läuft und der dyndns-Eintrag geklappt hat ist sie doch 'permanent erreichbar'?

Das einzige wo ich mir nicht mehr sicher bin ist, ob die Standard-Firmware der Fritzbox erlaubt, einen Port bei sich selbst für den Zugriff von außen aufzumachen. Soweit ich mich erinnere gibt's da eine Fehlermeldung. Aber man kann es auf jeden Fall mit 'Tricks' wie dem editieren der Konfigurations-Datei hinbekommen. Die Frage ist natürlich, ob man so was überhaupt machen will, von wegen Sicherheits-Risiko oder so. Mir persönlich reicht es, wenn ich aus meinem eigenen LAN de Rechner direkt per Link aufwecken kann. Wenn ich das wirklich mal aus dem Internet brauche, dann gehe ich eben über den Standard https-Weg der Fritzbox. Außerdem sind z.B. bei meinem Arbeitgeber fast alle Port standardmäßig gesperrt (wie z.B. mein 83), so dass es von dort sowieso nicht gehen würde.

Also wenn Du es immer noch hinbekommen willst, dann kriegen wir das auch hin :)

Grüße,
Christoph
 
Hallo Christoph,

ich kann mit Deiner Anleitung leider nicht viel anfangen. Du müsstets das Konfigurieren mal komplett wiedergeben. Ich habe die debug.cfg so erstellt, wie bei Dir. Funktioniert leider nicht. Der webserver läuft scheinbar, gibt aber auch einen Fehler aus. Also bitte noch mal viel ausführlicher. Ich denke auch, dass das Interesse allgemein relativ groß ist.
 
Tja, dann versuche ich es nochmal. Allerdings aus dem Kopf, weil ich derzeit nicht zuhause bin.

Also: Du willst dass ein HTTP-Server auf der Box läuft welcher anhand eines in der URL mit übergebenen Rechnernamens den jeweiligen Rechner per Wake-On-LAN aufweckt.
Die URL könnte so aussehen:

http://fritz.box:83/cgi-bin/cg_wol.cgi?macmini1

Das bedeutet dass Dein Browser einen HTTP-Server auf der Fritzbox ansprechen will welcher auf TCP Port 83 reagiert. Dieser Server soll die Anfrage mit dem Skript 'cg_wol.cgi' verarbeiten, welches in dem Verzeichnis 'cgi-bin' zu finden ist. Der Parameter heißt in diesem Beispiel 'macmini1' (Parameter stehen hinter einem Fragezeichen). Soweit klar?

Damit das funktioniert muss dieser HTTP-Server auf der Box gestartet werden und er muss gesagt bekommen auf was er wie reagieren soll. Zunächst muss man muss also irgendwo den Befehl zum Starten des 'httpd' aufrufen. Das 'wie' bestimmt diese Skript-Datei, die bei mir 'cg_wol.cgi' heißt. Die muss man ebenfalls anlegen. Und damit man sich nicht die Hardware-MAC-Adressen der einzelnen Rechner merken oder in der URL hinterlegen muss gibt es noch eine Datei in der die Kombinationen aus MAC-Adressen und Rechnernamen stehen. So kann man dann eben 'macmini1' schreiben und braucht nicht '03:9A:45:13:76:1F' zu verwenden. Diese Datei steht im Verzeichnis /var/tmp/ stehen und sie heißt 'ethers'. Das ist allerdings eine die es auf der Fritzbox standardmäßig gibt, man muss evtl. manuell dafür sorgen dass die Einträge die man braucht vorhanden sind.
So. Leider gibt es bei Fritzboxen eine Besonderheit. Die allermeisten im internen Flash-Speicher stehenden Verzeichnisse werden bei jedem Neustart neu aufgebaut. Wenn man also eine Datei manuell neu anlegt, ist sie nach dem Neustart meistens wieder weg. Zum Glück bleibt wenigstens /var/tmp/ethers erhalten, aber das dauerhafte Anlegen der 'cg_wol.cgi' oder der Eintrag zum Starten des httpd ist so nicht möglich. Aber es gibt einen Trick: Die Dateien unter /var/flash lassen sich manuell ändern und die darin gemachten Änderungen bleiben auch nach einem Neustart der Box erhalten. Und eine bestimmte Datei namens 'debug.cfg' wird bei jedem Start der Box als Kommandodatei ausgeführt. Deswegen verwendet man die gerne für solche Erweiterungen. In dieser 'debug.cfg' kann man nicht nur den httpd starten, sondern man kann auch Kommandos hinterlegen, welche ein Verzeichnis und eine Datei anlegen und Inhalt in diese Datei schreiben. Allerdings ist die debug.cfg keine gewöhnliche Datei, sondern als 'character-device' angelegt. Man kann sie nicht mit einem normalen Editor wie z.B. 'vi' oder 'nano' bearbeiten, sondern muss dazu das Skript 'nvi' verwenden. Das startet aber den 'vi' und man kann dann darin mit den normalen vi-Kommandos arbeiten. (Die werde ich Dir aber hier nicht rezitieren, das musst Du googlen).

Was musst Du also tun?

1. telnet auf der Fritzbox aktivieren (geht über eine Tastenkombination auf dem Telefon).
2. von einem Rechner aus anmelden auf der Box, also 'telnet 192.168.xxx.xxx'. Soweit ich mich erinnere ist das Standard-root-Passwort für eine gefreetzte Box 'freetz', aber das sollte man ja sowieso geändert haben. Ich glaube für eine Standard AVM-Box ist es 'avm'. Bitte googlen.
3. in das Verzeichnis /var/flash gehen und dort 'nvi debug.cfg' starten. Dann in der debug.cfg die Zeilen die ich Dir geschrieben habe ergänzen und die debug.cfg speichern
4. in der Datei /var/tmp/ethers die Kombinationen aus MAC-Adressen und Rechnernamen eintragen (wieder per vi o.ä.)
5. die fritzbox neu starten
6. nochmals per telnet auf der Box einloggen
7. per 'ps'-Kommando kontrollieren, ob es ein httpd-Prozess gibt der auf dem von Dir eingestellen Port 'lauscht'
8. kontrollieren, ob es in dem von Dir angegebenen Verzeichnis das Unterverzeichnis 'cgi-bin' und darin Deine Skript-Datei gibt. Diese vielleicht mal anschauen ob sie vernünftig aussieht
9. mal den Test im Browser machen mit der URL. Dann sollte im Browser eine dürre Zeile 'Rechner xxx aufgeweckt' erscheinen und der Rechner sollte starten.

So, und wenn das alles geht, müssen wir uns mal damit beschäftigen wie man diese URL auch aus dem Internet erreichen kann. Ich selber mache das ja nicht, aber das soll durchaus gehen, wie man liest.


Viel Glück,
Christoph
 

Statistik des Forums

Themen
245,753
Beiträge
2,239,186
Mitglieder
372,947
Neuestes Mitglied
jahel98
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.