Einen schlafenden Heim-PC über VPN aufwecken: woher das Paket kommt
Ein Tunnel kann die Maschine nicht wecken, die er selbst beendet. Legen Sie das Magic Packet ins Heim-LAN, prüfen Sie Adapter und Energiezustand, und verbinden Sie sich dann.
Sie verbinden sich, der Router antwortet, und der Desktop bleibt dunkel. Der Tunnel ist in Ordnung; das Paket, das die Maschine geweckt hätte, erreichte nie das Segment, auf dem die Maschine lauscht. Geht man den Weg vom Router rückwärts, zeigt sich, wo es stirbt.
Drei Geräte haben drei Aufgaben. Sie zu verwechseln ist der übliche Grund, warum ein Weckversuch endlos kreist.
Beim entfernten Client beginnen und dem Weg folgen
Aus einem Hotelnetz verbinden Sie sich mit dem Heimrouter, dem einzigen immer aktiven Endpunkt im Bild. Eine Weckanfrage, die Sie auf dem Laptop tippen, wird zu gewöhnlichem Tunnelverkehr, adressiert an welches Ziel auch immer Sie genannt haben. Dieses Ziel entscheidet über alles Weitere.
Wenn Sie sie an die LAN-Adresse des Heimrouters auf dem Magic-Packet-Port geschickt haben, kann der Router das Datagramm annehmen und nie einen Frame auf dem Heimsegment ausgeben, weil dort nichts auf diesen Port lauscht. Wenn Sie sie im Tunnel broadcasten, bleibt sie an der Tunnelschnittstelle stehen. Ein gerouteter Tunnel ist keine Erweiterung von Schicht 2 der Hausverkabelung. Folgen Sie dem Weg Sprung für Sprung, und die Sackgasse wird offensichtlich.
Die Prüfung, die das entscheidet, braucht einen Befehl von der entfernten Seite und einen von der Heimseite. Senden Sie die Anfrage und beobachten Sie dann das Heimsegment auf den Frame.
Den Sender auf das Heimsegment verschieben
Der Router kann das Wecken selbst übernehmen, sobald Sie sich durch den Tunnel authentifiziert haben. OpenWrt dokumentiert einen Wake-on-LAN-Dienst, der auf dem Gerät läuft und den Frame lokal ausgibt, und genau das ist die benötigte Form: Authentifizierung draußen, lokaler Broadcast drinnen.
Diese Anordnung hält die Weckfunktion auch vom öffentlichen Internet fern. Es wird nichts Neues ins Internet gestellt, weil der Auslöser über das VPN fährt, dem Sie bereits vertrauen. Die Alternative, ein Weckdienst mit weitergeleitetem Port, tauscht einen kleinen Komfort gegen einen internetzugewandten Endpunkt, den jeder prüfen kann.
Die zirkuläre Abhängigkeit lohnt es, klar zu benennen. Ein auf dem Desktop installierter VPN-Client kann diesen Desktop nicht wecken, weil der Clientprozess die laufende Maschine braucht. Halten Sie den entfernten Einstiegspunkt auf dem Router oder einer anderen immer aktiven Box, und lassen Sie den Desktop nur ein Ziel sein.
Das Ziel bestätigen, bevor Sie den Tunnel beschuldigen
Diesen Teil entscheidet die Hardware, nicht das VPN, und der Energiezustand entscheidet ihn zuerst. Der Adapter muss Wake unterstützen, die Firmware muss den Adapter im Schlaf mit Strom versorgen, und das Betriebssystem muss so konfiguriert sein, dass es das erlaubt. Eine Maschine im Ruhezustand ist ein anderer Fall als eine heruntergefahrene, und beide unterscheiden sich von einer Maschine, deren Netzteil an der Wand ausgeschaltet ist. Klären Sie diesen Zustand, bevor Sie den Rest der Liste durcharbeiten.
Lesen Sie die Hardwareadresse von dem Adapter, der den Frame tatsächlich empfängt. Ein Desktop mit Ethernet und Wi-Fi hat oft zwei Adressen, und nur eine davon kann weckfähig sein. Kabelloses Wecken ist eine eigene Fähigkeit mit eigenen Firmware-Anforderungen, ein funktionierendes Ethernet-Wecken sagt also nichts über das Wecken per Wi-Fi.
Beweisen Sie zuerst den lokalen Weg. Senden Sie das Magic Packet von einem anderen Gerät am selben Switch und sehen Sie zu, wie die Maschine hochkommt. Wenn das scheitert, hilft keine noch so gründliche Tunnel-Fehlerdiagnose, und der Fehler liegt in Firmware, Adaptereinstellungen oder im Energiezustand.
Nach dem Aufwachen mit dem gewünschten Dienst verbinden
Wecken ist kein Fernzugriff. Wenn die Maschine aufwacht, muss sie noch ihre Dienste starten, eine Adresse beziehen und die Sitzung annehmen, die Sie tatsächlich brauchen. Geben Sie ihr Zeit, diesen Zustand zu erreichen, bevor Sie schließen, dass das Wecken gescheitert ist.
# remote side: trigger the wake through the already-authenticated tunnel
ssh [email protected] 'wol -i br-lan 3c:7a:8f:2b:11:04'
# home side: is the target answering on the LAN?
ping -c 3 10.10.0.42
arp -n 10.10.0.42
Die Zeile arp ist die nützliche. Ein Eintrag, der von unvollständig zu einer echten Hardwareadresse wechselt, heißt, dass die Maschine aufgewacht ist und geantwortet hat; eine Anfrage, die sich nie auflöst, zeigt zurück auf den Weckschritt statt auf den Dienst, den Sie erreichen wollten.
Trennen Sie die Phasen in Ihren Notizen: Wecken, Start, Dienst. Ein Fehler in Phase zwei sieht aus einem Chatfenster identisch aus wie ein Fehler in Phase eins, und nur der lokale Befund unterscheidet sie.