I just did this on my system. I have a DSL connection, so I am connected in PPPoE through my D-Link DGL-4300.
If your router has the ability, I would register for a Dynamic DNS and have the router update its IP address regularly. I used dyndns.org (DLink has their own also). Once this is registered it helps ensure that you can always reach your devices even if your WAN IP changes. I set it to refresh every 24 hours, it also refreshes if the router reboots.
Here is a picture of the setup in the D-LINK DGL-4300:

Then, under the virtual server settings (Port forwarding) I told it to forward public port TCP 8081 (8080 is used already for my router remote admin) to a local TCP 80 on the ip address of my DNS-323. Here is a screenshot of that:

Now your router might be different, but hopefully this will help explain it and easily translated to your device.
Once this is done, all I need to do to access my DNS-323 is go to a URL like this:
http://whatever.dyndnsorg.gaveme:8081/
Have a nice day!