Wake on LAN over different subnets

subnetwake-on-lan

I have 3 IP blocks and 3 Cisco Switches. Each switch has its own IP block – 10.45.100.0/24, 10.45.101.0/24 and 10.45.102.0/24

I have got a PC on 10.45.100.0/24 block. I can wake up whole computers (with IP Address, Mac Address, Subnet, Port) in this IP block from C#.

But when I try to wake up another machine from a different IP block it does not work.

This is a Network Problem or code problem? How can I solve it?

Best Answer

This is a fundamental problem: WOL only works inside a subnet, because a WOL magic packet isn't a valid IP packet and therefore is not routable beyound the local LAN.

The wikipedia entry outlines a solution for this problem (subnet directed broadcasts), but I've never seen this in action. Another way around the problem might be to create a WOL proxy agent that forwards WOL packets into other subnets (i.e. as a UDP packet).