WoL: Wake-on-LAN über das Internet
("MagicPaket" an Router, mit einstellbarer Port-Nummer)

############################################################################

Welcher Rechner soll aufgeweckt werden?

IP-Adresse oder DNS-Name des Routers:
Port Nummer für "Directed Broadcasting"
MAC-Adresse des PC's: (als Trennzeichen ist alles außer (A..F) (a..f) (0..9) möglich)

 

############################################################################

Was geschieht?

In das obige Formular können die Parameter für den zu weckenden Rechner eingetragen werden. Anhand der Daten wird ein "MagicPaket" zum Starten des Rechners via "Wake on LAN" (WoL) generiert, das mittels UDP an den angegebenen Router-Port versendet wird.

Dieses MagicPaket enthält die MAC-Adresse des zu weckenden Rechners und muss nun vom privaten Router via Broadcast (weil diese Nachricht per Definition von allen NIC's 'gelesen' werden muss) ins lokale Netzwerk gesendet werden. Alle WoL-aktivierten Systeme (weil genau diese im Netz aktiv bleiben) werten jetzt diese Nachricht aus. Erkennt eine NIC die eigene MAC-Adresse in der Nachricht (nur diese ist ihr bekannt), leitet sie das WoL ein.

Was sind die Vorausetzungen?

Ziel-Rechner ist WoL-kompatibel

Es ist ein Netzwerkadapter (NIC) mit den entsprechenden Gerätetreibern mit WoL-Funktionalität installiert. Das Netzteil versorgt das Motherboard (ATX) im ausgeschalteten Zustand mit der 5 V Spannung (ca. 750 mA). Das Board des Rechners unterstützt ACPI und ist so eingestellt, dass der Start via PCI-Devices ermöglicht wird. Der NIC-Treiber ist in der Gerätekonfiguration des Betriebssystems (Energieverwaltung) so eingestellt, dass nach dem Ausschalten des Rechners die WoL-Funktionalität aktiviert wird. (z.B.: "Gerät kann den Computer aus dem Standbymodus aktivieren" )
Bei üblichen (modernen) Boards mit on-Board-NIC sind diese Voraussetzungen gegeben/einstellbar. Manche NIC's müssen mit einem 3-adrigem Kabel mit dem Board verbunden werden. (Stromversorgung & WoL-Signal; ist dann im Lieferumfang enthalten)

Kontrolle:
Der ausgeschaltete Rechner behält Link zum Switch (Link-LED leuchtet, Switch zeigt "connected" an).

Hinweis:
Die Einstellungen am Rechner sind im allgemeinen nicht PowerFail-Resistent: Kommt es nach dem Herunterfahren des Rechners zu einem Stromausfall, funktioniert das WoL warscheinlich nicht mehr. (Testen!!) Bei Bedarf das BIOS so einstellen, dass Rechner bei Spannungswiederkehr grundsätzlich bootet.

Ziel-Netzwerk ist erreichbar und bekannt

Dieser und der folgende Punkt sind die eigentlichen Hürden für das WoL über das Internet. Wer beispielsweise seinen Heim-Rechner hochfahren will, muss natürlich ein laufendes Netzwerk haben, an das jenes MagicPaket verschickt werden kann. Bei einem DSL-Anschluss muss also das DSL-Modem so eingestellt werden, dass es permanent ONLINE bleibt.

Das nächste Problem ist die Kenntnis der aktuellen WAN IP-Adresse. Diese wird bei der Einwahl dynamisch zugewiesen und ändert sich im allgemeinen nach jeder Einwahl. Nach der 24-Stunden-Zwangstrennung (wie das z. B. bei T-DSL üblich ist) hat man normalerweise keine Chance mehr, sein Netz zu erreichen.

Dies macht es erforderlich, die aktuelle Adresse regelmäßig zu übermitteln, so dass sie unabhängig von dem Zugriff auf das Heim-Netz in irgendeiner Form abrufbar ist. Alternativ kann man sich auch bei einem "Dynanischen DNS Service" (DDNS) registrieren, so dass das Heim-Netz immer über den selben "Qualified Host Name" erreichbar ist. Falls letztere Variante gewählt wird, und der Router (bzw. das DSL-Modem) die Meldung beim DDNS unterstützt, ist dies die einfachste Lösung. Falls das nicht geht, oder man aus anderen Gründen die Adressübermittlung lieber selbst organisiert, benötigt man ohnehin ein laufendes System im Heim-LAN (das muss ja nicht zwangsweise ein PC sein), das die Übermittlung der WAN-IP oder die Meldung beim DynDNS-Service durchführt.

Ziel-Netzwerk unterstützt "Directed Broadcasting"

Da ein ausgeschalteter Rechner im LAN keine IP-Adresse besitzt, kann das MagicPaket nur durch eine Broadcast-Nachricht innerhalb des lokalen Netzes verschickt werden. Die IP-Adresse für dieses Broadcasting endet auf ".255" (bei Netzwerken mit einer Subnetzmaske 255.255.255.0). Da das private Netz nicht über das Internet geroutet werden darf (es erscheint ja auch nur als einzelne öffentliche IP-Hostadresse), können natürlich auch keine Broadcast-Nachrichten für das private Netz direkt über das Internet (WAN) in das private Netz versendet werden: Der für die privaten Netze reservierte Adressbereich existiert im Internet per Definition schlichtweg nicht. ("Directed Broadcasting" im eigentlichen Sinne des Wortes) Auch das Senden von Directed Broadcasting Nachrichten an öffentliche Netze, was prinzipiell möglich ist, wird aus sicherheitstechnischen Gründen von den Routern im Internet im allgemeinen unterbunden. Das MagicPaket wird nun in eine (Unicast-)IP-Nachricht verpackt, und mittels "UDP" (weil ja das Ziel nicht antworten soll) an die (WAN-Host-)Adresse des (privaten) Zielnetzwerkes geschickt. Der Router muss nun die Funktionalität besitzten, die an dem definierten Port empfangene IP-Nachricht als Broadcast in das lokale Netz zu senden ("Directed Broadcasting" im übertragenen Sinne).

Hinweis:
Falls jemand bemerkt, eine Portweiterleitung auf die IP des Rechners funktioniert ja auch, sollte man bedenken, dass dies eher zufällig geschieht und von der Firmware des Routers abhängig nur befristet klappt. Das sind häufig nur einige Sekunden, es kann aber auch erheblich länger dauern. Das liegt an der Tatsache, dass die Router die Zuordnung von MAC- zu IP-Adressen eine gewisse Zeit vorhalten (ARP-Tabelle), um nicht permanent sogenannte "Who-Is"-Pakete ins Netz senden zu müssen. Das hat nichts mit der Zuordnung von Rechner zu IP in der Routerkonfiguration zu tun. Diese bewirkt nur, dass der Rechner beim Einschalten ("Ich bin wieder da, gib mir 'ne IP") jedesmal die gleiche bekommt. Die ARP wird deswegen niemals permanent gespeichert bleiben. Das wäre auch sinnlos, weil man trotzdem auch selbst dem Rechner eine IP verpassen, und diese nach belieben ändern kann.

Beispiel:

T-DSL mit Teledat Router 631

WAN-Adresse nach der letzten Einwahl: 84.182.111.222
Lokales Netzwerk: 192.168.2.0 mit folgenden Rechnern:
MERKUR 192.168.2.101 MAC-Adresse: ab:cd:ef:12:34:0a
VENUS 192.168.2.102 MAC-Adresse: ab:cd:ef:12:34:0b
ERDE 192.168.2.103 MAC-Adresse: ab:cd:ef:12:34:0c

Konfiguration des "Network Address Translation" (NAT) im Router:
(Beim Teledat Router 631, sieht das in etwa so aus:)

--- --- ------- -- ---------------- --- ---------------- --- ---------------- -- ----------------------
# Aktiv Name Start-Port End-Port Server-IP-Adresse
1
--- --- ------- -- ---------------- --- ---------------- --- ---------------- -- ----------------------

Die Port-Nummer kann nach belieben vergeben werden. Diese ist dann in das obige Formular "AUFWECKEN" einzutragen.
Als Server-IP-Adresse die Netzwerkadresse des LAN mit der .255 am Ende für das Broadcast eintragen.
Der Name dient nur der Übersicht.

Falls "VENUS" geweckt werden soll, muss das obige Formular folgendermaßen ausgefüllt werden:

IP-Adresse oder DNS-Name des Routers:
Port Nummer für "Directed Broadcasting"
MAC-Adresse des PC's:

Das Anklicken von "AUFWECKEN" läßt den Rechner quasi zeitgleich starten.

Leider unterstützt nicht jeder Router dieses "Directed Broadcasting". Häufig lassen sich nur konkrete Rechner als Ziel für das Portforwarding angeben, oder die Eingabe der Adresse .255 wird explizit verweigert ("255 ist ungültige Hostadresse"). Das beschriebene Prozedere ist allerdings mit dem (antiquierten) Teledat Router 631 erfolgreich getestet worden. Nur leider ist dies kein WLAN Gerät und unterstützt auch kein DynDNS!

PS:
Falls jemand ein Gerät kennt, das DynDNS unterstütz und auch das versenden von Broadcasts zulässt (vorzugsweise auch noch einen WLAN-Access-Point beinhaltet), würde ich mich über eine Nachricht sehr freuen.


letzte Änderung: 21.04.2009, 08:27 Uhr

Thomas Hinz