To get WOL to work over the Internet (through a router), you need to create a forwarding rule that directs UDP packets at the machine you wish to wake. Note TCP will not work because the connection can never be formed without an active TCP stack on the receiving machine (which is powered off!!).
i.e. external port X on your router directs to port X on the machine on your network. Low level hardware detects the ‘magic packet’ in hardware and generates a wake up event.
Unfortunately, you can’t just use a “SpeedTouch 780” for this out-of-the-box. Tinkering is required.
Following taken and corrected from http://bbs.adslguide.org.uk/showthreaded.php?Cat=&Board=beunlimited&Number=2984217&page=3&view=expanded&sb=1&o=0
1.) Telnet 192.168.1.254 (or wherever it lives) and login with your normal username and password.
2.) Type ip.
3.) Type arplist, this should print out your routers current arp table which should contain an entry for your machine.You need to delete this dynamic entry and add a static one so you need to take a note of the Interface, IP-Address and Mac address.
3b) Physically disconnect the machine you’re trying to set up the route to and continue following these instructions from another computer. Otherwise you’ll not be able delete the entry, it will keep appearing.
4.) Type arpdelete, enter “LocalNetwork” for intf, your machine’s ip for ip and your machine’s mac address for [hwaddr].
5.) Type arpadd and enter the same parameters above.
6.) Type arplist again, your machine should be back in the table but the entry in the type column should now read static instead of dynamic.
7) Reconnect the target machine