Skip to content

Inter-VLAN Wake on LAN

I was trying to get Wake on LAN (WOL) working across VLANs, and across WAN links. I found this Cisco article on the subject to be the most helpful, but it didn’t spell everything out as I’d hoped. This post aims to be a little more specific.

 

The first thing to do is to find out what port you need to open. If you’re using SCCM, you have the opportunity to specify the port, but if you’re using a standard WoL client (and there’s no shortage of clients out there) you’ll have to know which one it uses. The fastest way to do that is with Wireshark:

WOL Capture

Wireshark capture filter for WOL

I saw lots and lots of tips and tricks for filtering wake-on-LAN traffic, and they were all very complicated. Only one page finally referenced what I’d hoped was true all along; All you need is to type ‘wol’ into the filter box to filter for WoL traffic.

 

Once you have your filter set and a capture is in progress, you just need to induce some WoL traffic with your client. This example uses a command line client I found online:

WoL Client
Sending a WoL packet with a command line client

Now take a look at your Wireshark buffer. You should see some WoL traffic, and the lower pane will tell you what port the traffic is headed for:

Finding WoL UDP Port

Finding WoL UDP Port

Now that we know the port (in this case, 12287) we can configure our L3 device. In my environment, I’ll be sending WoL packets from a segment that uses a Cisco 3550 Layer 3 Switch to route. On this device, the command to forward UDP traffic is as such:

Layer3Switch(config)#ip forward-protocol udp 12287

4

The last trick to getting WoL working is to set up helper addresses on the VLAN that houses the source traffic. The purpose of these helper addresses is to forward broadcasts to other segments. Since this is technically broadcast traffic, we need to enter the broadcast addresses of the destination segments:

Layer3Switch(config)#int vlan1
Layer3Switch(config-if)#ip helper-address 172.16.138.255

5

In this example I’m forwarding WoL Packets from VLAN1 to the broadcast IPs of a few other networks. If you provisioned your VLANs originally, you might remember helper-address from DHCP configuration requirements for servers delivering DHCP addresses to clients on different VLANs. This is a very similar use of the feature, except that in this case we’re using the broadcast address of a network segment as the helper address, instead of a DHCP server.

That’s it! As I mentioned earlier, many sites listed far more steps to the process. After some troubleshooting, I found that only the ip forward and the helper address were necessary to send WoL packets to the other side successfully.