0

I am having trouble enabling WOL over the internet.

WOL from within my network (LAN) works just fine - I am able to send a packet to UDP 9 and the machine wakes up.

The problem is waking the computer outside the LAN. Using WireShark I cannot see any packets enter the network. Port 9 is port forwarded to 192.168.0.127 (broadcast IP, my subnet is 255.255.255.128).

I have read that some have suggested setting up a DHCP reservation on the broadcast IP 192.168.0.127 to FF:FF:FF:FF:FF:FF, however my router does not give me an option for that (.127 is outside the allowed range..).

Any suggestions?

  • There can be several reasons. Some things to try are, try subnet 255.255.255.255. Your ISP might have blocked UDP port 9 Try some other higher port like UDP 3000. Relax firewall settings in your router to lowest. What tool are you using to send magic packets? I assume you are entering correct MAC address of your LAN card. Test from other Internet network. How is you port forwarding configuration set in your router? – patkim Feb 19 '17 at 1:07
  • 2
    It is a very bad idea to open up your network broadcast to anyone on the Internet. Basically, anyone can send packets to every host on your network. The correct way to do this is to set up a WoL server on your LAN. – Ron Maupin Feb 19 '17 at 1:11
3

It's unclear if your NAT actually honors the mapping to the broadcast address. Instead, put the machine you want to wake on a static IP address (either by manually configuring it for an IP address within the NAT subnet but outside the DHCP lease pool, or by configuring the DHCP server to reserve a particular IP for that machine's MAC address (or other DHCP Client ID).

Then add a static ARP mapping your router's ARP table. For best results, make sure to do it in a way that survives reboots. Some routers don't expose a way to do this in their web-based administration UI. You may have to do it via the shell, if your router gives you a way to get to the shell. If your router doesn't give you either option, you could install an aftermarket open source firmware distro on it, such as OpenWrt or DD-WRT.

The most common reason remote WoL doesn't work is because while the target machine is sleeping, its default gateway router times out its ARP table entry for that machine, and then when the WoL packet comes in, the router can't forward it onto the LAN because it doesn't know what destination MAC address to put in the Ethernet headers. A static ARP mapping (ARP table entry) is one way around this, but many home gateway router products don't provide a way to do this.

  • It's worth to mention that having OpenWrt or DD-WRT installed on the router, OP can use it as a WoL server. – Kamil Maciorowski Feb 19 '17 at 7:30
  • This was the problem - the router did not allow access to modify the ARP table. I resolved the issue via a rasberry pi server. – Alex Feb 26 '17 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.