WOL per remote ssh

Started by bforpc, July 19, 2023, 12:05:25 PM

Previous topic - Next topic
Hallo,

auf der OPNsense ist das WOL Paket installiert und funktioniert auch.
Ich möchte mich aber nicht auf der Oberfläche anmelden müssen und mich durch die Menus zu hangeln um dann den "Wake" Button zu drücken.
Kann ich den (hinterlegten) WOL auch per ssh ausführen oder gibt es eine andere Möglichkeit das mit einem Klick auszulösen?
Hintergrund: Benutzer ohne Rechte auf der FW sollen in unserem Intranet einen "Button"  haben, um einen entsprechenden PC auf zu wecken. Dieser Button kann ssh ausführen oder whatever notwendig ist.

Bfo

Ganz einfach:

wol --help

Usage: wol [OPTION] ... MAC-ADDRESS ...

Moin,

wie ich oben schrieb: WOL der hinterlegten Adressen ...


Bfo

Naja, du schreibst ein Powershell-Skript, das "ssh user@opnsense wol ... irgendwas mit hinterlegter Adresse" ausführt.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ich glaube das "Problem" ist die dann statisch hinterlegte MAC, daher soll dee "Alias" bzw der Name verwendet werden, der in der WOL Konfig für die jeweilige MAC angegeben ist, damit die MAC zentral in der Sense angepasst werden kann.
Ich glaube aber auch, dass das kompliziert wird, da ist eils sicherlich einfacher bei Bedarf ein neues Script mit angepasster MAC zu verteilen...
i am not an expert... just trying to help...

Oh, es ist ja nichtmal ein Name / Alias, sondern nur eine Beschreibung, dessen Hilfstext da lautet:

QuoteYou may enter a description here for your reference (not parsed).
i am not an expert... just trying to help...

Man kann mit

"wol --file=<filename>"

eine Datei nutzen, wo die MACadresse drin steht.

Dann macht man eben.

"wol --file=server1.txt"

Allerdings funktioniert bei mir wol auf der shell nicht, da es wohl keine Möglichkeit gibt, das Interface anzugeben, woraus wol geschickt wird.  Per WebGUI geht es, da stellt man auch das Interface ein.

Hallo Tuxtom007,

wenn man dem wol kein Interface mitgeben kann, dann sendet es die magic Packets über alle Interfaces, oder nur das LAN?

Bfo

Statt einem Interface kannst Du ihm mit der Option -i den Adressbereich bzw die Broadcast IP mitgeben, dann nimmt er das entsprechende Interface.

So sieht es aus, wenn man nur wol und MAC (und Port 9) angibt:

WAN
igb1 2023-07-20
11:06:50.875429 00:xx:xx:xx:xx:xx
AAEON Technology Inc.
xx:00:00:xx:xx:xx
***
ethertype IPv4 (0x0800), length 144: (tos 0x0, ttl 64, id 7484, offset 0, flags [none], proto UDP (17), length 130)
    100.113.196.237.21584 > 255.255.255.255.9: [udp sum ok] UDP, length 102


... und so sieht es aus, wenn man die Broadcast IP des LAN (hier 10.13.12.255) angibt:

LAN
igb0 2023-07-20
11:06:54.956455 00:xx:xx:xx:xx:8e ff:ff:ff:ff:ff:ff
***
ethertype IPv4 (0x0800), length 144: (tos 0x0, ttl 64, id 11069, offset 0, flags [none], proto UDP (17), length 130)
    10.13.12.2.35564 > 10.13.12.255.9: [udp sum ok] UDP, length 102



i am not an expert... just trying to help...

Quote from: tiermutter on July 20, 2023, 11:11:26 AM
... und so sieht es aus, wenn man die Broadcast IP des LAN (hier 10.13.12.255) angibt:

Was anderes wird  wol beim Aufruf über die GUI sicherlich auch nicht machen, habs aber heute morgen nicht weiter getestet. weil ich nutze WOL nicht mehr von der OPNSense, sonder lasse das einen Ablaufplan in meiner Smarthome-Steuerung machen, weil ich damit noch mehrere Aktionen nacheinander starte.

Das ist bei mir leider nicht möglich, weil der aufzuwekende Rechner extern hinter der OPNsense liegt. Und nur diese ist aktiv in dem Netz. Von daher muss ich es über ssh machen, welches per VPN zur FW verbunden ist.
Habe das gerade getestet mit einem weiteren User-account auf der FW.
Das klappt auch, allerdings muss der User in der Admin Gruppe sein, damit ein Login mit Keys automatisch möglich ist.
Kann man das noch einschränken?

Bfo

Quote from: bforpc on July 20, 2023, 12:00:28 PM
weil der aufzuwekende Rechner extern hinter der OPNsense liegt.
Das verstehe ich jetzt nicht ganz...
Im Endeffekt sollen also non-admins von ihren Rechnern über das VPN einen oder mehrere Rechner hinter der Sense wecken? Dann wäre es mit der Sense ja ein Leichtes, es so umzusetzen, dass die User direkt auf ihrem Rechner ein wol Tool verwenden...
i am not an expert... just trying to help...

Ich verstehe nicht...

An einem remote Platz steht letztendlich nur eine OPNsense, eine Kamera und ein Rechner. Der Rechner ist idr. aus.
User sollen über eine (Intranet) Web Seite den Rechner wecken dürfen (diese Seite ist nicht von extern verfügbar).
Eine VPN Verbindung zu der entfernten FW ist immer gegeben (weil diese immer online ist). Das Netz hinter der FW ist aber ein ganz anderes, als das Intranet.

Ich habe das jetzt temporär so gelöst, das der Intranet-Webserver eine shell ausführt, welche per ssh ein shell script auf der entfernten FW ausführt. Das funktioniert soweit.

Mir geht gerade durch den Kopf, ob es möglich wäre, einen WOL aus dem Intranet durch die VPN in das entfernte Netz zu senden und somit kein Befehl per SSH auf der OPNsense ausführen zu müssen?
Bfo

Quote from: bforpc on July 20, 2023, 01:18:43 PM
Mir geht gerade durch den Kopf, ob es möglich wäre, einen WOL aus dem Intranet durch die VPN in das entfernte Netz zu senden und somit kein Befehl per SSH auf der OPNsense ausführen zu müssen?
Bfo
Das wird nicht funktionieren, da WoL-Pakete eine Besonderheit sind und nicht über Routergrenzen in andere Netzwerke gehen. Gleiches gilt für VPN, das funktioniert meistens nicht - kannst aber gerne probieren.

Der Rechner etc. welches WoL auslöst, muss daher im selben Netzsegment hängen wie der zu startende Rechner

Das geht bestens:
https://www.heimnetz.de/anleitungen/firewall/opnsense/opnsense-wake-on-lan-ueber-vpn/

Einfach mal in den Raum geworfen, ich steige durch den Aufbau nicht ganz durch, oder es hört sich komplizierter an als es ist. Ich gehe bislang davon aus, dass ein Rechner in LAN A über das Internet via VPN einen Rechner in LAN 2 wecken soll. Das geht direkt vom Rechner aus ohne Umwege über die Shell der Sense...
i am not an expert... just trying to help...