Wake-on-lan via WAN
I’ve been using Moonlight for game streaming, and one thing I’ve learned about recently is wake-on-lan: the ability to wake up your machine by sending a magic packet to a device.
I regularly use wake-on-lan on my local network to start up my gaming desktop, but I began to wonder if it’s possible to wake my machine up from the public internet (The “WAN”)? And here is how I got to successfully accomplish a wake-on-wan.
Background #
My existing setup already enables me to stream Moonlight over wan. I accomplished that by:
- Port forwarding for all of ports recommended by moonlight.
- Using a dynamic DNS provider (I use tplink, but there’s also noip).
How wake-on-lan works #
Wake on lan works by sending an ethernet frame with the contents of the MAC address. This is often send to the broadcast IP of a network, ensuring that all devices connected to the network will receive it.
Configuring wake-on-wan #
I originally tried to do direct port forwarding of the UDP 7 through 9 ports, but I found out that my internet provider (Comcast) sometimes does not allow their modem to forward the packet.
As such, I ended up doing a separate port forward from an arbitrary port and mapped it to port 7. And that was it!
Troubleshooting #
If you have issues, try the following:
- verify that the computer wakes if you send it the WOL request directly.
- verify that the computer wakes if you send the broadcast IP (e.g.
255.255.255.255
) the request directly.