Hello.
I was willing to post this in the home network community, but it is not active at all… So I hope this is the right place, as I use a self hosted wireguard and pihole.
I’m just a hobbyist whose first language is not English, so please, bare with me :)
So I use Wireguard Easy to create a tunnel to my home network to use pihole on my phone and access my services from outside.
I have an app to wake my home computer on LAN that is working fine when I’m home. I’d like to be able to wake it from outside and I don’t know how.
A few things are bugging me. If I’m connected to my home network, shouldn’t I be able to WoL my computer as long as I use my tunnel ?
And, on some occasions, I was able to WoL my PC when I wasn’t home (I remember doing it once when I was visiting my parents).
Can someone ELI5 this please ?
Thanks for your help :)
WoL works as Ethernet¹ broadcast, while Wireguard routes IP, one level above that. So for the purpose of WoL the two ends of the Wireguard tunnel are in two different, not connected networks. In theory you might be able to make it work using subnet directed broadcasts - though creating some means to trigger the WoL packet on where you’re terminating your Wireguard might be easier to manage.
Simple option would be just logging in via SSH to trigger it (you could script that - define a host in your SSH client config that just executes a command on connection), or something like a simple web frontend which will then trigger the WoL event.
¹ it is probably fair to assume nowadays that you’re using Ethernet, and not something like Token Ring. In case you do it still works the same, just the terminology is different.
Thanks for the explanation. I ended up remotely installing UpSnap. Works like a charm :)
This is a very strong explanation of what’s going on. And as a follow-up, I believe that ZeroTier present a single Ethernet broadcast domain, and so WoL tricks are more likely to work naturally there than with Wireguard. I haven’t used ZeroTier, and I do use Wireguard via Tailscale/Headscale. I’ve never missed the Ethernet features of ZeroTier and they CAN result in a very chatty wan if you’re not careful. But I think ZT would make this straightforward.
Though as other people note… the simplest/least-disruptive change is probably to expose some scripty thing on the rpi that can be triggered via be triggered over a routed protocol and then have the rpi emit the Ethernet broadcast packets from the physical network.
If I understand your post correctly, you have 2 PC’s at home: one running wireguard, and one you want to wake using WoL. This is similar to my setup, where I have a server and a personal desktop. When I want to wake my PC remotely, I just ssh to the server and use the server to wake the desktop. Connecting to the server and telling it to wake your PC seems easier than trying to redirect your phone’s WoL app over wireguard.
You understood correctly.
I have a RPi running Wireguard, and a PC.
How would you use the RPi to wake the PC ? What is your method ?
My RPi runs Debian and docker.
You can use the command ‘wakeonlan x’ where x is your MAC address of the pc you are trying to wake.
I use WireGuard on a pi and then use wakeonlan from my phone to start my pc.
Awesome, thanks :)
Removed by mod
Thank you !
I use the “wakeonlan” package. Simply install it, ssh to your server, and run “wakeonlan xx:xx:xx:xx:xx:xx”, where “xx:xx:xx:xx:xx:xx” is the Mac-adres of the PC you’re trying to wake.
Thanks for your help :)
https://wiki.archlinux.org/title/Wake-on-LAN
You need the Mac address, but the easiest way is to ssh to your rpi and run wol there.
I don’t know any wol apps for a phone, but I’m sure they exist.
Thank you :)
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters IP Internet Protocol RPi Raspberry Pi brand of SBC SBC Single-Board Computer SSH Secure Shell for remote terminal access
[Thread #143 for this sub, first seen 17th Sep 2023, 17:45] [FAQ] [Full list] [Contact] [Source code]
Can be done with simple port forwarding too