Aktuelles
router-security.de Forum

Du hast fragen zum Thema Router, Netzwerktechnik, Firewall und Netzwerksicherheit? Registrieren dich noch heute kostenlos hier im Forum, um Mitglied zu werden! Sobald du angemeldet bist, kannst du dich an dieser Seite beteiligen, indem Du eigenen Themen und Beiträge verfasst und du kannst mit anderen Mitgliedern über Ihren privaten Posteingang in Verbindung treten!

Wake-on-Lan (WoL) übers Internet

Wenn man vom Internet auf seine Geräte im Heimnetz zugreifen will, müssen diese auch angeschaltet sein, d.h. sie müssen auch zu Zeiten laufen, in denen man selbst nicht zu Hause ist. Das kann z.B. bei in NAS Geräten verbauten Festplatten, die nicht für den Dauerbetrieb ausgelegt sind, zu erhöhtem Verschleiß und damit vorzeitigem Ausfall führen. Außerdem geht die Stromrechnung bei Dauerbetrieb von NAS oder Servern in die Höhe. Besser ist, die Geräte auszuschalten, wenn man sie längere Zeit nicht braucht, sie nur bei Bedarf wieder aufzuwecken und dann zu nutzen.

Um "schlafende" Geräte aufzuwecken, ist Wake-on-Lan innerhalb des Heimnetzes das Mittel der Wahl: Es wird ein spezielles Netzwerk-Paket - das "Magic Packet" - an das zu weckende Geräte geschickt. Dieses Magic Packet enthält neben der Information, dass es sich um ein Magic Packet handelt (Kennung hexadezimal 6xFF), auch die MAC-Adresse des aufzuweckenden Gerätes. Es wird im Heimnetz üblicherweise per Broadcast verteilt. Das Gerät, für das der Weckruf gedacht ist, erkennt sich an Hand seiner im Magic Packet enthaltenen MAC-Adresse - nicht etwa an den Adressinformationen im Ethernet-Broadcast-Frame, der ja als Broadcast "an alle Geräte" im Heimnetz adressiert ist.

Man könnte fragen, warum das Magic Packet nicht an die IP-Adresse des Geräte geschickt wird, sondern per Broadcast an alle? Das liegt einfach daran, dass das ausgeschaltete Gerät keine aktuelle IP-Adresse hat. Die letzte IP-Adresse vor dem Ausschalten ist u.U. noch im ARP-Cache des Routers / Switches gespeichert und kann für eine gewisse Zeit nach dem Ausschalten des Geräte noch auf die MAC-Adresse des WoL-Zieles abgebildet werden. Dies wäre aber eher Zufall. Deshalb sollte man sich nicht darauf verlassen und wählt zum Verschicken des Magic Packets lieber gleich den Broadcast.

Für das Erzeugen des Magic Packets existieren zahlreiche kleine Miniprogramme für alle Plattformen, insbesondere auch Android, IOS und Windows Mobile. Diese benötigen in der einen oder anderen Form immer die MAC-Adresse des WoL-Ziels und eventuell noch die Broadcast-Adresse des Heimnetze, z.B. als 192.168.1.255 oder als 192.168.1.0 + Maske 255.255.255.0. Im Heimnetz und unter Nutzung von Broadcasts ist der (UDP-)Port, der bei vielen WoL-Programmen auch eingegeben werden kann, nicht von Belang. Der bekommt seine Bedeutung, wenn WoL übers Internet genutzt werden soll.

Sollen Geräte auch übers Internet geweckt werden, so funktioniert die "Heimnetz-Methode" per Broadcast nicht: Broadcasts finden am nächsten Router ihre Grenze, denn sie werden nicht geroutet. Das Magic Packet, verpackt in einem Ethernet-Broadcast Frame, käme über das Internet also nie im Heimnetz an.

Das Magic-Packet muss also eine andere "Verpackung" bekommen, damit es vom sendenden Gerät, z.B. einem Smartphone, über das Internet ins Heimnetz gelangen kann - es muss "geroutet" werden können. Dazu benutzt man ein UDP-Paket, das als Inhalt ("Payload") das Magic Packet enthält. Das Paket kann aus dem Internet nicht direkt an das WoL-Ziel im Heimnetz adressiert werden: Davor sitzt ein Router, der das Heimnetz via Firewall, bei IPv4 auch NAT, vor ungewollten Verbindungen aus dem Internet schützt und normalerweise nur eine einzige öffentliche IPv4 für alle Geräte im Heimnetz zusammen besitzt.

Also ergibt sich folgendes Vorgehen: Das Magic Packet wird an die öffentliche IP, die der eigene Router vom ISP zugewiesen bekommen hat, adressiert und zwar mit dem Protokoll UDP und einem frei wählbarem Port. Standard für WoL ist der Port 9, empfehlenswert ist es aus Sicherheitsgründen, einen Port aus dem Bereich > 50000 für die Nutzung "von außen" zu wählen. Diese Werte werden in dem WoL Programm entsprechend eingetragen. Wenn das Programm keine UDP-Paket an eine öffentliche IP mit wählbaren Port schicken kann, dann muss ein anderes WoL-Programm her, was das kann...

Der letzte Schritt zur erfolgreichen Umsetzung von WoL übers Internet ist die Einrichtung einer "Port-Weiterleitung", allerdings einer etwas speziellen. Normalerweise werden Pakete, die aus dem Internet an die öffentlichen IP des Heimrouters plus einem externem Port geschickt werden, bei diesem Vorgang auf die private IP-Adresse plus internem Port eines Gerätes im Heimnetz weitergeleitet (siehe - hier -). Beim Weiterleiten des Magic Packets hat das WoL-Ziel im Heimnetz aber gerade keine gültige IP-Adresse (s. oben). Deshalb ist hier eine Weiterleitung als Ethernet-Broadcast ins Heimnetz notwendig. Das Ziel der Port-Weiterleitung ist also nicht eine IP z.B. der Form 192.168.1.152, sondern dieser Art 192.168.1.255. Dabei repräsentiert die 255 die Broadcast-Adresse im 192.168.1.0/24 Subnetz. Bei Broadcasts (Layer 2+3) spielen Ports keine Rolle. Ob also der externe Port intern auf den standardkonformen WoL Port 9 abgebildet oder einfach durchgereicht wird, ist bei dieser Weiterleitung unerheblich.

Wenn das WoL-Ziel korrekt für WoL konfiguriert ist, wird es das Magic Packet via Broadcast empfangen und aufwachen. Die falsche WoL Konfiguration des Ziel-Gerätes und eine falsche MAC-Adresse im Magic Packet sind übrigens die häufigsten Gründe, weshalb das Aufwecken eines Gerätes nicht funktioniert.

Einen Knackpunkt gibt es allerdings: Nicht alle Router unterstützen bei der Port-Weiterleitung als Zieladresse eine Broadcast-IP, wie z.B. 192.168.1.255. Dann kann dieses Verfahren nicht angewendet werden. Dies ist leider z.B. bei allen Fritzboxen von AVM der Fall. Ob das beim eigenen Router funktioniert, muss ausprobiert werden.

Um nicht zwei unterschiedliche Konfigurationen zum Aufwecken eines Gerätes 1. aus dem Heimnetz und 2. aus dem Internet aufzusetzen, reicht in diesem Fall die Nutzung der "Internet-Methode". Man kann also das Magic Packet, in UDP verpackt, auch aus dem eigenen Heimnetz auf die eigene öffentliche IP schicken. Es greift die spezielle Port-Weiterleitung und das Gerät im Heimnetz wird per Ethernet-Broadcast geweckt. Das ist nicht selbstverständlich, s. - hier -. Es funktioniert bei der WoL Weiterleitung nur deshalb, weil das sendende Gerät keine Antwort-Pakete vom WoL-Ziel erwartet / benötigt. Damit ist auch klar, dass es keine Rückmeldung darüber gibt, ob der Aufweckvorgang auch wirklich erfolgreich war - außer, dass sich das Gerät nach dem Aufwecken auch wirklich ansprechen lässt😁.

Einige Router-Hersteller, z.B. bintec, unterstützen bis heute das Routen von "directed broadcasts". Dies ist ja die Grundlage, damit die Weiterleitung auf eine Broadcast-Adresse zum Verteilen des WoL Magic-Paketes funktioniert.

Inzwischen wird dieses Broadcast-Routing als Sicherheitsproblem angesehen. Deshalb unterstützen es viele Routerhersteller bewusst nicht mehr. So z.B. auch Mikrotik.

Um trotzdem noch mit einfachen Mitteln ein Remote Wake-on-Lan umsetzen zu können, gibt es einen - wie ich meine - cleveren Trick, den ich - hier - gefunden habe: Erlaubt der Router die Erzeugung von statischen ARP Einträgen (Zuordnung von IP- zu MAC-Adressen), so kann einer freien IP-Adresse, z.B. 192.168.1.254, in dem LAN-Segment, in dem das Magic Packet per Layer-2-Broadcast verschickt werden soll, die Layer-2 Broadcast Adresse (ff-ff-ff-ff-ff-ff) zugewiesen werden. Wenn dann die Portweiterleitung auf diese IP-Adresse zielt, so wird ein Broadcast in dem entsprechenden LAN-Segment ausgelöst, der das WoL Magic-Paket als Payload trägt.
:cool:


Ich denke, das funktioniert nicht nur mit Mikrotik-Routern, sondern mit vielen anderen Herstellern auch. Da es immer weniger Router gibt, die das Routen von directed broadcasts unterstützen, ist dieser Trick schon "Gold wert".
 

Anhänge

  • Remote_WOL.jpg
    Remote_WOL.jpg
    318,8 KB · Aufrufe: 5
Zuletzt bearbeitet:
Zurück
Oben