or how to access your home machine(s) whilst away from home you should checkout this article from the Wired How-To Wiki:
Set Up Dynamic DNS
If you have a home broadband connection, odds are you have a dynamic IP address -- one that changes every so often. This is fine until you feel the need to connect to your home computer from somewhere outside your house. Without a constant, static, never-changing IP address, you don't have a reliable way to find your home computer on the internet.
Why would you want to do such a thing? There are many possibilities. Maybe you want to make a Remote Desktop connection to your grandma's computer to help her find a document she lost. Or maybe you want to stream music from your home media server to your office across town. Using Dynamic DNS, you can do anything that would normally require a static IP address without paying the extra monthly fees your broadband provider would usually charge for such a service.
A Little Explanation
In order to communicate with a server on the Internet, you can either memorize its IP address or use a convenient domain name, like Wired.com. The Domain Name System (DNS) maintains a constantly updated database of which names correspond to which numeric addresses. Any query to Wired.com checks first with a DNS server to find out Wired.com's IP address.
That works well for servers that keep the same IP address forever, but it's a problem for servers hosted on a home broadband connection, which typically get new "dynamic" IP addresses frequently -- some as often as once per hour, but most get a new address at least once per day. That makes your home server a moving target and messes up the normal one-to-one mapping between domain names and IP addresses. If Wired.com's IP address changed like that, the site would disappear from the web after every change, since the central DNS database would not be informed about the new IP address.
The solution to that is dynamic DNS, a setup whereby your server itself keeps an eye on what its current IP address is, and notifies the DNS provider when it changes.
Dynamic DNS is a service offered by a variety of third-party providers. The provider keeps track of its clients' frequently-changing IP addresses, and updates their central DNS records for them whenever necessary. A small piece of software on the user's computer checks at regular intervals whether the computer's dynamic IP address has changed, and if it has, gives the new address to the dynamic DNS provider, which updates its status.
To avail yourself of this, you'll need to register with a free provider of dynamic DNS, such as DynDNS. There are many other dynamic DNS providers, and a list is maintained at http://www.technopagan.org/dynamic/.
How To Set It Up
1. Create an account with a provider. Go to DynDNS.com, create a username and password, wait for the authentication email, and log in.
2. From DynDNS's Account Services page, select Add Host Services, then Add Dynamic DNS Host.
3. DynDNS gives you a choice from several dozen domain names, like homedns.org and is-a-geek.net. Pick one of these, and then come up with your own subdomain, so you have a unique hostname like bobby.is-a-geek.net or nowive.gotdns.com. This will be the hostname that the world will know you by. You can leave the IP address field blank, since it'll be filled in automatically later.
Tip: If you select Wildcard, then any arbitrary prefix -- i.dont.agree.that.bobby.is-a-geek.net, for instance -- will point to your server as well.
4. A tool running on your server will keep DynDNS apprised of its IP address. Download and install one that's appropriate to your server's operating system from https://www.dyndns.com/support/clients. You'll have to configure it with the name of your server and a method of checking for changes to the IP address. Keep it running in the background, and you'll always have access to your computer's services.