In our school we are extensively using Wake on LAN to wake desktop computers:
daily scheduled task to wake computers in classrooms before the start of the first lessons
monthly scheduled task to wake computers at night to install software updates
ad hoc wake computers for e.g. software maintenance
The WoL magic packets are sent from management servers in our server vlan to desktop computers in two locations in multiple vlan's separated by one or two L3 switches.
At present we have cisco Catalyst L3 switches. For the WoL packets to reach the desktop computers, we have configured the following commands:
ip directed-broadcast 150
ip helper-address 10.1.x.255 (broadcast address for each desktop vlan)
access-list 150 permit udp 10.1.1.0 0.0.0.255 any eq 12287 (10.1.1.0 server subnet address)
ip forward-protocol udp 12287 (udp port number of WoL magic packets).
This month we have acquired new MS250 and MS210 L3 switches to replace our old Cisco Catalyst L3 switches.
However, the Meraki switches are missing the ip directed broadcast feature. I have contacted Meraki support and they have confirmed the absence of this feature: "We do not currently support IP Directed Broadcasts, therefore, there is not an option to configure this."
This is a big disappointment for us because now we cannot use the new Meraki switches for their intended L3 purpose.
We have considered several work arounds such as adding a network interface for each desktop vlan to our management servers and using an "always on helper pc" in the vlan's in our remote location. However, these work arounds cannot fully replace the present functionality and would mean a significant amount of additional work and complexity.
I have submitted a request for the ip directed broadcast feature to the development team.
I've never tried it, but what happens if you send it to the all-hosts multicast address 224.0.0.1? On the Meraki side you would probably enable the "Flood all unknown multicast".
In fact, I'm guessing if you enable "flood all unknown multicast" you could probably send it to any multicast address, just as long as the switches didn't know that it existed,
I just did a quick Google and found a Python script that does exactly this - uses multicast (actually this is its default mode - you have to override it not to use multicast).
https://pypi.org/project/pywake/
Wake up a MAC with default settings (IPv6 UDP packet to “all nodes” multicast address ff02::1 and port 9 - discard):
pywake 00:11:22:33:44:55
@PhilipDAth Thank you for your reply.
We use 2 different W0L executables from two different servers:
1. wol.exe included in Lansweeper:
wol.exe /?
WOL.exe 2.1 - Wake-On-LAN Utility - www.Gammadyne.com
Copyright (C) 2000-2017 by Greg Wittmeyer - All Rights Reserved
Usage: wol.exe mac_address [adapter_ip] [port] [/pwd password] [/d subnet]
Example: wol.exe 3c7f45d9e56a
Example: wol.exe 7A-2C-74-EE-19-F3 192.168.0.1
Example: wol.exe f1:dc:84:e6:2a:c9 192.168.0.1 12287
Example: wol.exe 7363be847f12 9 /pwd sesame
Example: wol.exe 45F7BA186E4D /pwd 16a34d28f4c3
Example: wol.exe E682B634D7A6 /pwd 2A:E3:64:DD:59:3F
Example: wol.exe 13-A4-99-1F-C4-8E /d 192.168.2.255
From a Wireshark packet trace we see that IPv4 WoL packets are sent to the broadcast address 255.255.255.255, port 12287.
2. wolcmd.exe included in ConfigMgr Console Extensions:
wolcmd.exe /?
Wake On Lan Command Line...
Usage: wolcmd [mac address] [ipaddress] [subnet mask] [port number]
i.e. wolcmd 009027a322fc 195.188.159.20 255.255.255.0 7
or wolcmd 009027a322fc depicus.com 255.255.255.0 7
Copyright www.depicus.com (Brian Slack) 1966-2005
The scheduled tasks (daily/monthly) use a script with the following command: "C:\Program Files (x86)\ConfigMgr Console Extensions\wolcmd.exe"" $($ComputerMAC.Replace(':','')) 255.255.255.255 255.255.255.255 12287"
The right-click Wake on LAN option in SCCM (Microsoft Endpoint Configuration Manager) sends IPv4 magic packets to the subnet broadcast address of the pc we want to wake.
The problem we are facing with the Meraki L3 switches is that the WoL IPv4 broadcast packets cannot be forwarded from our server vlan to the pc vlan's. I do not understand how pywake can solve this. Could you explain this?
> I do not understand how pywake can solve this. Could you explain this?
Because it uses multicast instead of broadcast.
One point of note is that since we went beyond about 12.12 on our MS210 stack, even WoL within a VLAN has stopped working. Due to Covid we aren't actually at the site so I haven't been able to do a packet capture but nothing else changed and it did work when we first installed them.
Did you happen to find a workaround to this?
We have decided to buy Cisco L3 switches. Our Meraki MS250 and MS210 L3 switches are configured and in use as L2 switches.