Open the Router web configuration interface, and switch to the “Advanced” tab.
Go to Network » DHCP server » Address reservation, assign a static IP to machine you want.
Go to Security » IP & Mac Binding. Find your machine in the “ARP list”, and click the link icon on the far right. It should then show up in the “Binding list” below, and be listed as “Bound” in the ARP list.
Go to NAT Forwarding » Virtual Servers and create a new service called WakeOnLan:
Set external port to anything (say 9999)
Set internal port to 9
Set internal IP to the static address of your machine.
Create a service for SSH, whatever other services you need. (Changing the external SSH port to something other than 22 reduces the number of brute force attacks on your router by a lot.)
Go to Network » Dynamic DNS and enable one of the many services.
Now you can wake your computer remotely by:
wakeonlan -p 9999 -i router.tplinkdns.com <Mac Address>
and then connect to it by
ssh -p XXXX router.tplinkdns.com
For multiple computers, just assign different external ports for each computer.