WOL packets across subnets?
-
@dstarr3 said in WOL packets across subnets?:
Can you go into more detail about that?
Not really, as I haven't done that. A relay agent receives the Ethernet frame and transmits it on another network. DHCP relay agents are available with routers from Cisco etc., but I haven't heard of one for WOL. As mentioned above, your only option would be to have WOL originate on pfSense, as it can see all networks.
-
Yes you would need some type of relay or proxy. For example:
https://community.cisco.com/t5/small-business-switches/wake-on-lan-wol-across-different-vlans-on-sg-300-10/td-p/2013610I don't think anything included in pfSense by default can do that.
Steve
-
Come on, WOL is not that complicated and it's well documented.
- https://en.wikipedia.org/wiki/Wake-on-LAN
- AMD: Magic Packet Technology Whitepaper Rev. A (1995) (englisch, PDF; 37 kB)
The "Magic Packet" is sent on OSI L2, usually as UDP to the subnet's broadcast address and might be directed at one of a few ports. I typically use port 7. IMHO p:0 and p:9 work as well.
So if you are on 192.168.1.0/24 and want to wake a machine on 192.168.2.0/24 you sent the Magic Packet to:
UDP 192.168.2.255:7
I did that from a dedicated Crestron control system but have no experience doing so from a phone.The Magic Packet itself is darn simple. It is 6x FF followed by 16x the MAC address of the sleeping host. No spaces or whatsoever in between.
From a mobile phone your best bet might be to use the WOL page of your local pfSense.
-
Yeah, I just spent a while playing around with things in pfSense to see if I could reply/proxy it without installing anything else. But either I'm missing the right incantation or, quite likely, it is blocked somewhere I'm missing.
Steve
-
@stephenw10
Where did you sent the Magic Packet from?The rule I was using is pretty simple an allow from host "Control System" to UDP other subnet's broadcast address with destination port :7
That's on an ALIX with 2.3.2 nano IIRC, but I doubt things have changed in this regard. -
I was using the pfSense WoL client which appears to use port 40000 and also doesn't, from the GUI, allow you to specify a target IP.
More testing needed obviously...Steve
-
Mmm, yeah it won't forward traffic to the broadcast address and that seems like the correct thing to do.
I wonder if that was tightened up since 2.3.X....
-
Not necessarily ... that's Subnet Directed Broadcast.
Try a translator for this page:
https://decatec.de/software/magicpacket-unterstuetzt-nun-wake-lan-andere-subnetze/
which features a Windows .exe to WOL in other subnets. I'm on a Mac so it's not for me. -
Yeah FreeBSD doesn't do that AFAIK and hasn't for some time.
As of March 2007, FreeBSD 7.0 WILL NOT forward directed broadcasts to directly attached local networks. This behaviour is compliant with RFC 2644.
Unless I'm misreading that. It is late here and I lost an hour of sleep last night!
But that's the behaviour I'm seeing.
[2.4.4-RELEASE][root@7100.stevew.lan]/root: wol -i 192.168.126.255 -p 9 00:0e:8e:24:cd:0a Waking up 00:0e:8e:24:cd:0a...
That packet arrives at the pfSense interface the 7100 is in but never leaves the 192.168.126.X interface.
It is passed by the firewall rules and opens states but only on the incoming interface.Running that same command on the firewall between the subnets wakes the client as expected.
Steve
-
Wow horrendous workaround here: https://forum.netgate.com/post/525988
Haven't tried that. Not going to!
-
Mmm, just to confirm attempting to send those increments the counter
packets not forwardable
shown innetstat -s -p ip
.I can't see any way to enable forwarding directed broadcasts either.
This is the expected, and correct, behaviour as far as I can see.
Steve
-
@jahonix said in WOL packets across subnets?:
Come on, WOL is not that complicated and it's well documented.
From that link:
"it could be sent as any network- and transport-layer protocol, although it is typically sent as a UDP datagram to port 0,[6] 7 or 9, or directly over Ethernet as EtherType 0x0842."
Take a look at what's sent on the wire, using Packet Capture or Wireshark. If it's bare Ethernet, then it definitely won't be routed. If UDP, with a broadcast address, then you'll have to figure out how to get pfSense to route it to the correct interface, when there's no network address to route with. There's a reason why broadcasts are not routed.
BTW, when I used WoL, a few years back, it was bare Ethernet.
-
@jahonix said in WOL packets across subnets?:
The "Magic Packet" is sent on OSI L2, usually as UDP
UDP is layer 4. IP is 3 and Ethernet, 2.
-
@stephenw10 said in WOL packets across subnets?:
Yeah FreeBSD doesn't do that AFAIK and hasn't for some time.
...
It is late here and I lost an hour of sleep last night!Strange, I have it working this way, client uses is frequently with this video switcher.
Don't worry about your sleep, same with me. Just 1 hour ahead...
-
@JKnott said in WOL packets across subnets?:
@jahonix said in WOL packets across subnets?:
The "Magic Packet" is sent on OSI L2, usually as UDP
UDP is layer 4. IP is 3 and Ethernet, 2.
Correct, I was wondering how long I could get away with writing it this way.
I am using a UDP frame directed at the other subnet's broadcast address as mentioned before. No need to wireshark. And I'm not there often anymore. -
Welp, I guess the solution is just to put my WiFi on the same subnet as my LAN. I was hoping to keep them separated, just for the sake of organization, but it's just causing too many problems. Oh well!
-
I don't get the problem why you need some App when pfSense can do the job.
Just create some User named "wol" or anything you want, give the privileges only to access Services > WOL
Now when logging in with User "wol" you are redirected to Services > WOL without to need clicking anything in the WebGUI.
Depending on your smartphone/browser you can even save the pfSense Login to your Homescreen and autologin User "wol".
Now you have your selfmade pfSense WOL App and anything working...deal?-Rico
-
yup @Rico method is how I would do it if ever need such a thing... But just not a fan of wol at all... If you want to get to so something leave it on..
Its just too much of a pain doing wol for a few devices... What cost you like 2 bucks a month to just leave them on..
I could see if you in the enterprise and had 1000 machines going into standby at night and every now and then you wanted to wake them up to do updates or something..
What exactly are you trying to wake up? While your there on the network with your phone? Just go click the button on it ;) Are you in a 15K square foot mansion and can not be bothered to walk from the west wing to the east? Have the butler go hit the space bar ;)
-
@johnpoz said in WOL packets across subnets?:
yup @Rico method is how I would do it if ever need such a thing... But just not a fan of wol at all... If you want to get to so something leave it on..
Its just too much of a pain doing wol for a few devices... What cost you like 2 bucks a month to just leave them on..
I could see if you in the enterprise and had 1000 machines going into standby at night and every now and then you wanted to wake them up to do updates or something..
What exactly are you trying to wake up? While your there on the network with your phone? Just go click the button on it ;) Are you in a 15K square foot mansion and can not be bothered to walk from the west wing to the east? Have the butler go hit the space bar ;)
I'd personally like to find some kind of work around. I dont live in a mansion or anything either but id like to just say "Hey Siri, Goodnight" and my tv shuts off with everything else homekit shuts down. Maybe thats what he wants too? Simple automated convenance.
I hate it when people do this to other people seeking help. Ridiculing them for something they want to do. I mean sure you could go find a remote and shut it off, you could also unplug the TV and put it away in a box or take it back to the store and buy a new one each time too. Theres lots of different things you could do but not all of them are smart or make sense to do but theres some more options to toss at him/her when they ask again.
For me I am trying to find a way to do this too because I have my IoT devices on one subnet but would like to have homebridge send the WoL packet to my TV thats on my LAN subnet to shut it off when I say "Siri Goodnight". I dont have a mansion myself but I just want simplicity of automation and this WoL issue is the last hurdle to clear.
-
WOL does not work over subnet... Do you understand how WOL works? You send specific packet to the mac address (layer 2).. If you want to wake up something on another layer 2 network, then you need something on that other layer 2 to send the packet.
Now it is possible - but you need something that has access to both the sender and the receiver. And you have to tell the guy between (router) to wake up dest device. This router needs to know the mac address of this dest device.. static arp entry can help with that, etc.
Going to say this again - its not worth the hassle.. But sure go ahead and help them ;) You can always log into the pfsense web gui and if you have setup static arp, dhcp reservation for this device as example you can send the wol packet from there.. So sure there are work arounds - awaiting your code changes to pfsense to allow for such a thing...
Get with your homebridge forum on how to have it send wol to different devices on different subnets.. Is that not a standard feature where you can say Wake Up X? Sure alexa and stuff can send the wol messages to device - but they have to be in the same layer 2 network!!