If you are using an enterprise grade switch or router you may want to look at the following two directives:
ip directed-broadcast
and
ip forward-protocol
These directives are mostly prevalent on Cisco or other vendors that adopt a Cisco-like CLI. The ip directed-broadcast
directive instructs the switch/router to forward any packets destined to a subnet's broadcast address as if it were a unicast packet. Meaning, your UDP packet destined for 192.168.1.255 (for subnet 192.168.1.0/24) would be forwarded along to the destination subnet 192.168.1.0/24 as if it were addressable. Once the packet reaches the hop (router/switch) that is directly connected to 192.168.1.0/24, your ip forward-protocol
directive will take over.
Since 192.168.1.255 is a broadcast address, there is no MAC address associated with it. Therefore, the switch will have to explode the destination MAC address to FF:FF:FF:FF:FF:FF. Meaning, the switch/router will have to send the packet to all the operational ports on the switch (i.e. layer 2 broadcast). The ip forward-protocol
directive does just that. This eliminates the need to store static ARP entries in your router/switch's ARP table. Note, you do not want to use the ip helper-address
directive (unless you need to) because it is limited to forwarding a few common udp protocols like NTP, NetBIOS, etc. Wake-on-LAN is not one of them.
Furthermore, we have been experiencing problems in our workplace with BIOS settings on machines, and different NICs. In some cases, WoL will work only once and then fail subsequent times. Completely disconnecting the PC from the wall (network & power cable), allowing the capacitors on the motherboard to discharge, and then reconnecting these PCs appeared to remedy the issue. However, this is no solution. We are currently in the process of investigating these anomolies with our vendor (Dell). Hope this helps.