Kann Wake on LAN über eine VPN-Verbindung funktionieren?

14

Stimmt es, dass keine Maschine in den Ruhezustand versetzt werden kann, auf die über eine VPN-Verbindung zugegriffen werden muss?

(Ich frage dies bei einem Serverfehler, da es genauso um VPN-Server geht wie um den Ruhezustand der Endbenutzer-PCs.)

Ian Ringrose
quelle

Antworten:

9

Alter Thread, aber ich wollte mitmachen, weil es immer noch das bestbewertete Suchergebnis für "wol over vpn" ist.

Ja, das WOL-Magic-Paket wird innerhalb der Einschränkungen von Schicht 2 definiert. Dies bedeutet jedoch nicht, dass es nicht in einer Netzwerk- und Transportprotokollentität enthalten sein kann, die dann zum Weiterleiten über das VPN verwendet werden kann. Der Grund dafür ist, dass die "magische" Sequenz überall in der Nutzlast sein kann. Im Wesentlichen geht es also darum, ein regulär routbares Paket mit der "magischen" Sequenz in seiner Nutzlast zum Zielhost zu bringen.

Die meisten Implementierungen des Magic Packets verwenden den UDP-Port 9, obwohl dies keine Rolle spielt, solange er korrekt geroutet und auf derselben Broadcast-Domäne wie der Zielcomputer übertragen wird. Solange der VPN-Client über die richtigen Routen verfügt, kann er ein Broadcast-Paket wie 192.168.1.255 (eine Broadcast-Adresse) korrekt über das Internet an das VPN-Gateway senden.

Das Routing ist also wirklich unkompliziert. Möglicherweise liegt das Problem in der korrekten Übertragung über das Ziel-VPN-Gateway. Dies bedeutet, das VPN-Gateway zu konfigurieren / eine Option zu finden, um den Broadcast-Verkehr von VPN-Remoteclients an das lokale Netzwerk weiterzuleiten.

Nikolaus
quelle
4

In der Regel nein, da sich das "MagicPacket" tatsächlich auf Schicht 2 befindet. Ohne die Unterstützung von Weiterleitungen (z. B. IP-Helfer) ist es nicht einmal routingfähig.

user48838
quelle
Ich hatte gehofft, die VPN-Server würden dafür eine Art Build-in haben ...
Ian Ringrose
Normalerweise ist das bei VPN-Clients nicht die "Norm". In der VPN-Sitzung selbst können Sie ein zwischengeschaltetes System / eine zwischengeschaltete Ausrüstung einrichten, um das Starten des "MagicPacket" für das Zielsystem / -gerät zu unterstützen.
User48838
1

Es gibt eine ausgefallene Möglichkeit, einen Layer-2-Tunnel mit SSH zu erstellen. Damit sollte WOL gut funktionieren. Daher sehe ich keinen Grund, auf das Einschlafen von Maschinen zu verzichten.

Auf der Grundlage von @slm Erwähnung habe ich die wichtigen Teile der Quelle unten aufgenommen.

Voraussetzungen:

1) Auf beiden Computern muss die Root-Anmeldung aktiviert sein. (Entschuldigung - Ihre Anmeldeinformationen auf beiden Computern müssen das Erstellen des TAP-Geräts ermöglichen.) Das bedeutet: Auf der Systemebene hat root ein Passwort;

2) In der Datei sshd_config des Hosts, auf dem der ssh-Daemon ausgeführt wird, sind die Optionen PermitTunnel yes und PermitRootLogin yes festgelegt.

3) Die IP-Weiterleitung ist im Kernel aktiviert. Verwenden Sie den Befehl sysctl, um diese Option festzulegen: sysctl -w net.ipv4.ip_forwarding = 1; Fügen Sie außerdem der Datei /etc/sysctl.conf die Zeile net.ipv4.ip_forwarding = 1 hinzu, damit die Einstellung nach dem Neustart erhalten bleibt. Führen Sie dies auf beiden Computern durch.

4) Sie haben das Paket bridge-utils installiert oder haben auf beiden Computern den Befehl brctl zur Verfügung.

Erstellen Sie den Tunnel:

ssh -w 1: 1 -o Tunnel = Ethernet-Hostname

Die Option -w legt den Namen des TAP-Geräts auf einem der beiden Hosts fest (hier wird tap1 an beiden Enden erstellt).

Die Option -o dient zum Angeben einer Konfigurationsdateioption in der Befehlszeile. Wir verwenden Tunnel = Ethernet, um einen Layer 2-Tunnel einzurichten.

Dieses Formular hält die SSH-Sitzung im Vordergrund. Wenn Sie möchten, dass die Shell nach dem Aufbau des Tunnels wieder freigegeben wird, können Sie die Option -f verwenden, um sie anzuweisen, in den Hintergrund zu treten. Zum Verzweigen ist jedoch ein Befehl erforderlich, sodass Sie nur einen Dummy-Befehl wie true verwenden können, damit er funktioniert. Sie können diese Funktion auch verwenden, um die Bridge auf der Remote-Seite einzurichten, aber darauf komme ich gerade nicht zurück. Also würde es so aussehen:

ssh -f -w 1: 1 -o Tunnel = Ethernet-Hostname true

Hinzufügen von TAP-Geräten zu einer Bridge:

brctl addbr br0; brctl addif tap1; ifconfig tap1 up; ifconfig br0 up

Sie führen dies auf beiden Hosts aus (Beachten Sie, dass ich keine IP zugewiesen habe). brctl ist der Befehl zum Manipulieren von Bridge-Geräten. brctl addbr fügt die Brücke br0 hinzu und der Befehl addif fügt das tap1-Gerät hinzu.

Als Nächstes müssten dem Bridge-Gerät physische Ethernet-Schnittstellen hinzugefügt werden. Wie Sie das tun möchten, wird variieren, daher werde ich einige Szenarien durchgehen. Das erste Szenario besteht darin, dass sich Ihre VPN-Peers im selben Subnetz befinden (dh kein Routing zwischen ihnen), und das zweite Szenario erfolgt über das Internet.

Schamlos gestohlen von: http://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/

Sir l33tname
quelle
Willkommen bei Server Fault! Im Allgemeinen möchten wir, dass die Antworten auf der Website für sich selbst stehen - Links sind großartig, aber wenn dieser Link jemals bricht, sollte die Antwort genügend Informationen enthalten, um weiterhin hilfreich zu sein. Bitte überlegen Sie, Ihre Antwort zu bearbeiten, um weitere Details zu erhalten. Weitere Informationen finden Sie in den FAQ .
SLM
Wo finde ich sshd_config auf einem Windows 7-System?
Ian Ringrose
@ IanRingrose Ich habe keine Ahnung, weil ich nur mit Linux
arbeite
0

Ich bin mit user48838 einverstanden - per definitionem wird das Magic Packet nur über das lokale Subnetz gesendet. Zuvor verwendete ich jedoch ein von jpo geschriebenes Skript, das über einen normalen Router von einem anderen Subnetz aus funktionierte. Versuchen Sie dies - YMMV

http://gsd.di.uminho.pt/jpo/software/wakeonlan/

Chaitan
quelle
0

Ich habe das getestet und die Antwort ist JA :)

Ich habe im Internet ein Tool gefunden, das das WOL-Paket als Unicast an den beabsichtigten Host sendet, wodurch vermieden wird, dass das Broadcast-Paket durch das Router-Problem geleitet wird.

Ein Punkt, den Sie bei dieser Lösung beachten müssen, ist, dass Sie den Eintrag Static arp auf dem Router ablegen müssen, da der Host ausgeschaltet ist und nicht auf die Router-ARP-Anforderung reagiert. Prost!

NeMO
quelle
Klingt so, als würden diese Pakete tatsächlich gesendet. Der ARP-Eintrag übersetzt nur von IP nach MAC. Dem Switch wird nicht mitgeteilt, an welchem ​​Port der MAC angeschlossen ist. Und wenn der Host offline ist, weiß der Switch wahrscheinlich nicht, wo sich dieser MAC befindet, sodass er gesendet wird. Zumindest wird keiner der Gastgeber eine Antwort senden, also sollte es in Ordnung sein.
Kasperd
Einige Informationen darüber, wie Sie das von Ihnen verwendete Tool finden, könnten diese Antwort verbessern.
Kasperd