Hallöchen,
ich habe mir relativ mühevoll aus allen möglichen Threads hier einen Weg zusammen gebastelt, wie man beliebige Geräte im LAN auch über Magic Packets aus dem Internet heraus aufwecken kann. Das Problem waren hierbei zum einen das fehlende 'arp' in der Busybox-Version vieler Fritz-Boxen, als auch die Tatsache, dass statische Einträge im ARP-Table beim Neustarten des WLAN stets gelöscht werden. Temporäre Einträge werden ja ohnehin nach ca. 20-30 Minuten gelöscht, weshalb ein Wake On Lan über das Internet normalerweise ohnehin nicht länger als besagte 20-30 Minuten möglich ist. Danach ist zappenduster.
Die Lösung basiert darauf, dass Wake-On-LAN-Pakete aus dem Internet an einen bestimmten (frei wählbaren) Port des Routers gesendet werden. Durch eine Portfreigabe im Router wird dieser Port an eine nicht vergebene, imaginäre IP-Adresse im eigenen Subnetz weitergeleitet. Die Pakete werden auf Port 9 dieser imaginären IP-Adresse umgeleitet. Dadurch, dass der Eingangs-Port frei wählbar ist, kann man über unterschiedliche Eingangs-Ports und imaginäre IP-Adressen alle Geräte im LAN individuell ansprechen und aufwecken.
Die imaginäre IP-Adresse erhält über das Binary "arp" (Bestandteil mancher Busyboxes) einen statischen Eintrag im ARP-Table des Routers auf die MAC-Adresse des unter der imaginären IP-Adresse aufzuweckenden Gerätes. Dieser statische Eintrag muss beim Starten des Routers automatisch erstellt werden. Weiterhin muss der Eintrag beim Neustarten des WLAN automatisch erstellt werden, da in diesem Fall alle Einträge im ARP-Table gelöscht werden. Außerdem muss auf den Fritz!Boxen, die kein arp mitbringen, ein arp dauerhaft im Flash-Speicher installiert werden.
Im Folgenden eine Kurzanleitung, wie dies zu bewerkstelligen ist. Ich habe auf genaue Erklärungen, die schon in anderen Threads geliefert wurden, verzichtet und nur entsprechende Links eingefügt.
---------------------------------------------------------------------------
Wake On LAN über das Internet einrichten
In der Oberfläche der Fritz!Box unter Internet / Freigaben eine UDP-Portfreigabe von einem beliebig zu wählenden Eingangs-Port auf den Ausgangs-Port 9 der IP-Adresse 192.168.0.254 erstellen. Es kann auch eine andere IP-Adresse benutzt werden. Wichtig ist nur, dass diese IP-Adresse niemals irgendeinem Gerät zugewiesen wird und der Eingangs-Port unbenutzt ist! Außerdem muss die IP-Adresse im eigenen Subnetz liegen (bei mir 192.168.0.*). Im Folgenden Beispiel wird der Eingangs-Port 54321 benutzt.
Telnet auf der Fritz!Box einschalten:
#96*7* Telnet an
Mit Telnet auf die Fritz!Box gehen
Ins Temp-Verzeichnis wechseln:
(1) Für Geräte mit arp geht es gleich bei (2) weiter! Für Geräte ohne arp muss zuerst arp dauerhaft im Flash installiert werden:
Neue Busybox mit ARP herunterladen (siehe auch http://www.wehavemorefun.de/fritzbox/index.php/Busybox_ersetzen):
Z.B.:
oder
ODER eine fertige Busybox mit ARP benutzen (z.B. http://www.ip-phone-forum.de/showthread.php?t=146937&p=934585&viewfull=1#post934585). Achtung! Diese funktioniert nicht mit jeder Firmware-Version! Mit der Fritz!Box 7270 funktioniert sie. Evtl. muss man sich eine eigene Busybox (nur mit ARP) compilieren oder sich ein entsprechendes ARP irgendwo anders ziehen.
Nach dem Herunterladen der Busybox auf den Router das Binary in busybox-arp umbenennen:
Und ausführbar machen:
Neuen Eintrag für arp im Flash-Dateisystem anlegen:
ACHTUNG! Die Unter-Nummer 200 darf nicht schon existieren, sonst wird eine Systemdatei überschrieben! Die Haupt-Nummer 240 kann je nach Firmware-Version der Fritz!Box auch eine andere sein! Siehe hier: http://www.ip-phone-forum.de/showthread.php?t=199568&p=1402009&viewfull=1#post1402009
Nun die neue Busybox dauerhaft in den Flash-Speicher kopieren:
Dann mit einem Start-Script dafür sorgen, dass die neu erzeugte Flash-Datei nach dem Booten ausführbar als /var/tmp/busybox-arp zur Verfügung steht (mknod - siehe nächster Schritt).
(2) Ab hier geht es nun wieder für alle Geräte weiter (auch für die mit arp):
Da statische ARP-Einträge beim Neustarten des WLAN gelöscht werden, muss auch die Datei rc.wlan entsprechend erweitert und schließlich noch der statische ARP-Eintrag für IP-Adresse 192.168.0.254 aktiviert werden (siehe auch http://www.ip-phone-forum.de/showthread.php?t=217502).
Dazu eine Datei Namens cwlan mit folgendem Inhalt in /var/tmp anlegen (entweder mit dem vi Editor oder mit wget von einer eigenen Website ziehen):
cwlan für Geräte ohne eingebautes arp:
cwlan für Geräte mit bereits vorhandenem arp:
Das ??:??:??:??:??:?? muss ersetzt werden durch die Mac-Adresse des aufzuweckenden Gerätes!
Das sleep 60 muss evtl. erhöht werden, wenn die Fritz!Box sehr langsam bootet und der unter (3) angegebene Test versagt.
Dann den Inhalt der Datei cwlan an das Start-Skript debug.cfg in /var/flash anhängen:
Box neu starten - ...
(3) Erneut über Telnet mit der Fritz!Box verbinden und mit dem Befehl /var/tmp/busybox-arp arp überprüfen, ob der statische ARP-Eintrag erzeugt wurde. Die Ausgabe sollte dann in einer Zeile etwa so aussehen:
? (192.168.0.254) at ??:??:??:??:??:?? [ether] PERM on lan
Telnet auf der Fritz!Box wieder ausschalten:
#96*8* Telnet aus
Fertig!
Viel Erfolg! Volker
ich habe mir relativ mühevoll aus allen möglichen Threads hier einen Weg zusammen gebastelt, wie man beliebige Geräte im LAN auch über Magic Packets aus dem Internet heraus aufwecken kann. Das Problem waren hierbei zum einen das fehlende 'arp' in der Busybox-Version vieler Fritz-Boxen, als auch die Tatsache, dass statische Einträge im ARP-Table beim Neustarten des WLAN stets gelöscht werden. Temporäre Einträge werden ja ohnehin nach ca. 20-30 Minuten gelöscht, weshalb ein Wake On Lan über das Internet normalerweise ohnehin nicht länger als besagte 20-30 Minuten möglich ist. Danach ist zappenduster.
Die Lösung basiert darauf, dass Wake-On-LAN-Pakete aus dem Internet an einen bestimmten (frei wählbaren) Port des Routers gesendet werden. Durch eine Portfreigabe im Router wird dieser Port an eine nicht vergebene, imaginäre IP-Adresse im eigenen Subnetz weitergeleitet. Die Pakete werden auf Port 9 dieser imaginären IP-Adresse umgeleitet. Dadurch, dass der Eingangs-Port frei wählbar ist, kann man über unterschiedliche Eingangs-Ports und imaginäre IP-Adressen alle Geräte im LAN individuell ansprechen und aufwecken.
Die imaginäre IP-Adresse erhält über das Binary "arp" (Bestandteil mancher Busyboxes) einen statischen Eintrag im ARP-Table des Routers auf die MAC-Adresse des unter der imaginären IP-Adresse aufzuweckenden Gerätes. Dieser statische Eintrag muss beim Starten des Routers automatisch erstellt werden. Weiterhin muss der Eintrag beim Neustarten des WLAN automatisch erstellt werden, da in diesem Fall alle Einträge im ARP-Table gelöscht werden. Außerdem muss auf den Fritz!Boxen, die kein arp mitbringen, ein arp dauerhaft im Flash-Speicher installiert werden.
Im Folgenden eine Kurzanleitung, wie dies zu bewerkstelligen ist. Ich habe auf genaue Erklärungen, die schon in anderen Threads geliefert wurden, verzichtet und nur entsprechende Links eingefügt.
---------------------------------------------------------------------------
Wake On LAN über das Internet einrichten
In der Oberfläche der Fritz!Box unter Internet / Freigaben eine UDP-Portfreigabe von einem beliebig zu wählenden Eingangs-Port auf den Ausgangs-Port 9 der IP-Adresse 192.168.0.254 erstellen. Es kann auch eine andere IP-Adresse benutzt werden. Wichtig ist nur, dass diese IP-Adresse niemals irgendeinem Gerät zugewiesen wird und der Eingangs-Port unbenutzt ist! Außerdem muss die IP-Adresse im eigenen Subnetz liegen (bei mir 192.168.0.*). Im Folgenden Beispiel wird der Eingangs-Port 54321 benutzt.
Telnet auf der Fritz!Box einschalten:
#96*7* Telnet an
Mit Telnet auf die Fritz!Box gehen
Code:
# _
Ins Temp-Verzeichnis wechseln:
Code:
cd /var/tmp
(1) Für Geräte mit arp geht es gleich bei (2) weiter! Für Geräte ohne arp muss zuerst arp dauerhaft im Flash installiert werden:
Neue Busybox mit ARP herunterladen (siehe auch http://www.wehavemorefun.de/fritzbox/index.php/Busybox_ersetzen):
Z.B.:
Code:
wget [URL]http://www.busybox.net/downloads/binaries/latest/busybox-mipsel[/URL]
Code:
wget [URL]http://www.busybox.net/downloads/binaries/1.19.0/busybox-mipsel[/URL]
ODER eine fertige Busybox mit ARP benutzen (z.B. http://www.ip-phone-forum.de/showthread.php?t=146937&p=934585&viewfull=1#post934585). Achtung! Diese funktioniert nicht mit jeder Firmware-Version! Mit der Fritz!Box 7270 funktioniert sie. Evtl. muss man sich eine eigene Busybox (nur mit ARP) compilieren oder sich ein entsprechendes ARP irgendwo anders ziehen.
Nach dem Herunterladen der Busybox auf den Router das Binary in busybox-arp umbenennen:
Code:
mv busybox-?????? busybox-arp
Und ausführbar machen:
Code:
chmod +x ./busybox-arp
Neuen Eintrag für arp im Flash-Dateisystem anlegen:
Code:
mknod /var/flash/busybox-arp c [COLOR="#FF0000"]240 200[/COLOR]
Nun die neue Busybox dauerhaft in den Flash-Speicher kopieren:
Code:
cp /var/tmp/busybox-arp /var/flash/
Dann mit einem Start-Script dafür sorgen, dass die neu erzeugte Flash-Datei nach dem Booten ausführbar als /var/tmp/busybox-arp zur Verfügung steht (mknod - siehe nächster Schritt).
(2) Ab hier geht es nun wieder für alle Geräte weiter (auch für die mit arp):
Da statische ARP-Einträge beim Neustarten des WLAN gelöscht werden, muss auch die Datei rc.wlan entsprechend erweitert und schließlich noch der statische ARP-Eintrag für IP-Adresse 192.168.0.254 aktiviert werden (siehe auch http://www.ip-phone-forum.de/showthread.php?t=217502).
Dazu eine Datei Namens cwlan mit folgendem Inhalt in /var/tmp anlegen (entweder mit dem vi Editor oder mit wget von einer eigenen Website ziehen):
cwlan für Geräte ohne eingebautes arp:
Code:
mknod /var/flash/busybox-arp c 240 200
cat /var/flash/busybox-arp >/var/tmp/busybox-arp
chmod +x /var/tmp/busybox-arp
#
cp /etc/init.d/rc.wlan /var/tmp/
echo '(sleep 10 ; /var/tmp/busybox-arp arp -s 192.168.0.254 ??:??:??:??:??:??) &' >> /var/tmp/rc.wlan
mount -o bind /var/tmp/rc.wlan /etc/init.d/rc.wlan
rm -f /var/tmp/rc.wlan
#
(sleep 60 ; /var/tmp/busybox-arp arp -s 192.168.0.254 ??:??:??:??:??:??) &
cwlan für Geräte mit bereits vorhandenem arp:
Code:
cp /etc/init.d/rc.wlan /var/tmp/
echo '(sleep 10 ; arp -s 192.168.0.254 ??:??:??:??:??:??) &' >> /var/tmp/rc.wlan
mount -o bind /var/tmp/rc.wlan /etc/init.d/rc.wlan
rm -f /var/tmp/rc.wlan
#
(sleep 60 ; arp -s 192.168.0.254 ??:??:??:??:??:??) &
Das ??:??:??:??:??:?? muss ersetzt werden durch die Mac-Adresse des aufzuweckenden Gerätes!
Das sleep 60 muss evtl. erhöht werden, wenn die Fritz!Box sehr langsam bootet und der unter (3) angegebene Test versagt.
Dann den Inhalt der Datei cwlan an das Start-Skript debug.cfg in /var/flash anhängen:
Code:
cat /var/flash/debug.cfg >/var/tmp/debug.cfg
cat /var/tmp/cwlan >>/var/tmp/debug.cfg
cat /var/tmp/debug.cfg >/var/flash/debug.cfg
Box neu starten - ...
(3) Erneut über Telnet mit der Fritz!Box verbinden und mit dem Befehl /var/tmp/busybox-arp arp überprüfen, ob der statische ARP-Eintrag erzeugt wurde. Die Ausgabe sollte dann in einer Zeile etwa so aussehen:
? (192.168.0.254) at ??:??:??:??:??:?? [ether] PERM on lan
Telnet auf der Fritz!Box wieder ausschalten:
#96*8* Telnet aus
Fertig!
Viel Erfolg! Volker
Zuletzt bearbeitet: