Automatisches Wake On Lan mit Freetz bei Zugriff auf bestimmte IP

ipf.de

Neuer User
Mitglied seit
15 Apr 2012
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hey Leute,

da ich ein Problem bzw. eine Vorstellung habe dich glaube lösen zu können in dem ich Freetz verwende habe ich mich mal hier im Forum angemeldet und
sage erst mal Hallo an alle!:huhu:

Folgendes: Ich habe ein Windows Home Server 2011 den ich aufgrund nicht mehr vorhanden Gründen nun nicht mehr 24 h laufen lassen muss. Hierzu habe ich auf dem Server das Add-In "Lights-Out" installiert, welches automatisch nach meinen Vorgaben den Server in Ruhezustand schickt, was auch sehr gut funktioniert. Nun gibt es für Windows-Clients die Möglichkeit diese so einzustellen, dass
automatisch bei Start des z. B. Laptops ein WOL-Signal an den Server gesendet wird und dieser dann eben hochfährt.

Nun habe ich aber auch nich Windows Clients, wie z. B. Apple TV 2 oder ein TV-Receiver die den Server als Streamingquelle verwenden.
Mein Gedanke/Wunsch ist nun, dass eben das Wake on Lan des Servers an einem zentralen Punkt, in diesem Fall meine FritzBox 7390, für alle Clients geregelt wird. Also wenn, egal welcher Client, über die
FritzBox auf den Server zugreifen möchte, soll die Fritzbox automatisch ein WOL-Signal mitsenden. Dazu sei gesagt, dass die Windows-Clients via LAN an die Fritzbox angeschlossen sind und die Apple TVs und
TV-Receiver via WLAN über die Fritzbox auf den Server zugreifen. Der Server ist ebenfalls mit LAN an der Fritzbox angeschlossen.

Nun habe ich schon etwas im Internet recherchiert, leider nichts passendes zu meinem Problem gefunden. Soweit ich das gesehen habe und auch schon durch das Fritzbox-Menü geklickt habe, ist das
mit der Standard-Firmware der Fritzbox wohl nicht möglich. Deshalb dachte ich gleich an Freetz. Bei DD-WRT habe ich eine ähnliches Problem gefunden, was dort über dnsmasq (oder so ähnlich) gelöst wurde.

Kann ich mein geschildertes Problem und die gewünschte Lösung mit Freetz realisieren? Wenn ja, welche Packages etc, benötige ich dafür? Bin Neuling auf dem Gebiet, deshalb bitte ich etwas um nachsicht,
wenn ich länger benötige etwas zu verstehen oder auch dumm Frage.

Schon einmal vielen Dank im Voraus für die Lösungsvorschläge und etwaige Hilfestellungen.

Gruß und Dank
ipf.de
 
Die Frage kommt immer wieder mal. Ich weiß aber nicht, ob es schon eine Lösung dafür gibt.

Generell könnte es funktionieren, auf ARP-Pakete zu reagieren, die den Server suchen.
Wenn es bei DD-WRT schon eine Lösung dafür gibt, wäre es sinnvoll, dort mal nachzusehen, wie das funktioniert, und dies auf Freetz zu übertragen.
 
Habe bei mir einen Debian Server laufen der nachts schlafen geht. Bevor der Server sich schlafen legt starte ich per ssh mein script auf der frtizbox:

Code:
#!/bin/sh


# Config
IP="192.168.XXX.XXX"  #IP des Servers
WOLMAC="XX:XX:XX:XX:XX:XX"  #Mac-Adresse Server
LOG="/var/media/ftp/uStor01/logs/poweron.log"
ABHOEREN="/var/media/ftp/uStor01/external/tcpdump" #pfad tcpdump

 
echo -e `date`":\tWakeUp-Script wurde automtaisch vom Server gestartet..." > $LOG
sleep 60

while !(ping -c 1 -q "$IP" > /dev/null); do                                     # Solange ping zum Server nicht erfolgreich                                                     
    $ABHOEREN -p -i eth0 -c 1 -n -l arp dst host "$ip" > /dev/null
    /usr/bin/ether-wake $WOLMAC                                                 # etherwake starten und WOL packen an die mac adresse schicken
     echo -e `date`":\tWOL Packet an $WOLMAC mit der IP: $ip gesendet" >> $LOG
     sleep 60                                                                    # 60 sekunden warten (ca die zeit, die der server zum hochfahren braucht
done                                                                             # solange kein ping erfolgreiche wieder von vorne
  echo -e `date`":\tPing an: $IP erfolgreich. Server up!!" >> $LOG                   # ping war erfolgtreich      
exit 0

Sobald ich mit einem meiner Streamer, Windows oder was auch immer auf den Server zugreifen möchte wird mittels tcpdump die request "who is 192.168.xxx.xxx" abgefangen und da der server nicht zu pingen ist ein wol-packet mittels etherwake (weil in busybox schon vorhanden) gesendet....
Funktioniert hier mittlerweilen seit einem Jahr ohne probleme. Benutze zZ eine Fritzbox 7390.
 
Hey Spoon3er, danke für dein Beispiel-Skript. Habe jetzt nach einer Recherche auch mehrere Skriptvorschläge gefunden, mit denen mein vorhaben wohl funktioniert.
Werde jetzt die Tage mich mal mit den einzelnen Skripts auseinander setzen und testen.

Verstehe ich das richtig, dass du jedesmal wenn der Server in "Stand-by" geht du dieses Skript starten musst? Lässt sich dies nicht im Dauerlauf betreiben?
Hast du auf der 7390 dann Freetz drauf und mit welchen speziellen Paketen?

Gruß und Dank
ipf.de
 
Es sollte kein Problem sein, das Skript dauerhaft laufen zu lassen, dann eben in einer Endlos-Schleife und nicht nur bis zum nächsten Ping.
 
Hi,

ja bei mir wird das script jedesmal gestartet, wenn der server sich ausschaltet. tcpdump verbraucht schon einiges an resourcen, deswegen wollte ich das script nur laufen lassen, wenn der server offline ist und somit die resourcen sparen wenn der server noch zu erreichen ist.
Installiert habe ich freetz trunk. Für tcpdump ansich brauchst du nur das standard paket tcpdump (minimal version langt) und falls du etherwake verwenden möchtest noch in der busybox etherwake auswählen. Wenn du nix weiter mit installierst sollte das auch noch ins image passen ohne external.

Code:
#!/bin/sh


# Config
IP="192.168.XXX.XXX"  #IP des Servers
WOLMAC="XX:XX:XX:XX:XX:XX"  #Mac-Adresse Server
LOG="/var/media/ftp/uStor01/logs/poweron.log"
ABHOEREN="/var/media/ftp/uStor01/external/tcpdump" #pfad tcpdump

 
echo -e `date`":\tWakeUp-Script wurde automtaisch vom Server gestartet..." > $LOG
sleep 60

while TRUE; do                                                                     # dauerschleife
if !(ping -c 1 -q "$IP" > /dev/null);  then                                   # wenn ping zum Server nicht erfolgreich                                                     
    $ABHOEREN -p -i eth0 -c 1 -n -l arp dst host "$IP" > /dev/null
    /usr/bin/ether-wake $WOLMAC                                                 # etherwake starten und WOL packen an die mac adresse schicken
     echo -e `date`":\tWOL Packet an $WOLMAC mit der IP: $IP gesendet" >> $LOG
fi
     sleep 60                                                                    # 60 sekunden warten 
done                                                                             # schleife zu ende

schnell mal runtergeschrieben, aber sollte eigentlich passen...
 
Zuletzt bearbeitet:
[Edit] Was ich vorher geschrieben habe, war quatsch! ;) [/Edit]

Werd ich mal probieren Danke
 
Zuletzt bearbeitet:
Hallo,

ich möchten diesen Thread noch einmal aufleben lassen, ich bin ebenfalls an diesem Thema sehr interessiert. Zunächst einmal stellt sich die Frage ob das Skript funktioniert hat.

Sofern dies der Fall ist, stellen sich für mich weitere Fragen:
- Welche Pakete bzw. Tools müssen im Freetzimage enthalten sein ?
- In welche Datei muss der Code geschrieben werden ?
- Könnte das Skript geändert werden, dass nur bei bestimmten IP-Adressen im Netzwerk der Server gestartet wird ?

Vielen Dank.
 
Sorry, dass ich diesen Thread wieder ins leben rufe, aber das Thema ist echt interessant. Leider funktioniert das letzt genannte Script nicht und läuft auf einen fehler da er "TRUE" nicht finden kann :S evtl kann mir ja einer von euch helfen.

Was ich möchte:
Wenn mein Fernseher oder Apple TV angeschalten wird soll der PC per WOL geweckt werden.
 
Der Thread lebe auf!!!

Hallo Leute,

ich bin jetzt schon länger dabei die von Sponn3er geschilderte Methode umzusetzen.
Auf meiner Fritzbox 7270v3 habe ich Freetz mit den benötigten Paketen und Busybox-Erweiterungen installiert.

tcpdump würde ich gerne (vorerst) durch rc.costum ausführen, weis aber nicht genau wie ich dabei vorgehen muss. Wie mache ich das am besten?

Und wieso kann ich den beschriebenen Pfad "/var/media/ftp/uStor01/external/tcpdump" nicht finden?

Ziel ist es letztendlich, dass mein Server bei Anfragen (FTP, TeamSpeak, usw.) ein Wake on LAN Paket geschickt bekommt.

Grüße
tb2668
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
244,831
Beiträge
2,219,106
Mitglieder
371,533
Neuestes Mitglied
ipeee
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.