A Wake on LAN packet is usually targetted at a specific MAC. The problem with doing this remotely is that you can't target a MAC address from a non-local network.
Normally, when a packet is destined for an IP address, the router on the same network as the device being targetted will say "Who has IP address x.x.x.x", and the device that owns the address replies "It is me, send it to mac address xx:xx:xx:xx:xx:xx". This is an arp request. Once answered, the router will forward the packet to the mac address.
The problem with forwarding a packet to a machine that is off is that it cannot respond to the arp address. However, if you use the ARP binding feature of the router, you can say IP address x.x.x.x is mac address xx:xx:xx:xx:xx:xx and so the router doesn't need to do an ARP request - it already knows the mac address for the IP address, it has it in its ARP binding table.
So you need to do three things:
- Issue the PC you want to WOL a static address (this is still best done by dhcp)
- Find out the mac address of the PC and set up an ARP Binding entry with the MAC and the static IP you selected
- Set up a port forwarding rule for udp/9 to the static IP address
So the WOL packet would be targetted at the public IP address of the router, and natted to the internal address. The router would then see it has a MAC address stored in its ARP binding table, and so forward the packet to the MAC address (even though the machine is off) without attempting an ARP request.
The WOL feature will see the packet arrive on its network card, with the correct MAC and turn on the PC.
Your dyndns name should resolve to the public IP of your router, so this shouldn't be a problem.
If you can use the dyndns address to connect to the router than this makes even less sense.
You should try to resolve the dyndns address:
nslookup yourname.dyndns.org
It should resolve to the same IP address as the one you pull from your router. If it doesn't than sometime is wrong with the dyndns setup (although I can't imagine what it is, unless you have multiple public IP addresses).
Usually, the name would be resolved to an IP address before any package is sent. So this shouldn't make any difference as long as the dyndns entry is updated.
Best Answer
You could try going into 'Network and Sharing Center'
click on your connection
Click 'properties' in the dialog box
in the dialog box that pops up, click configure
Untick "only allow a Magic packet to wake the computer"
Click ok