Ask Leo! by Leo A. Notenboom

How can I connect to my home computer from work?

Search First! Then browse: Categories | Full Archive | By Date | Newsletter
Ask Leo! on Facebook

Home » Networking

Summary: There are several barriers to connecting to your home computer from work. We will look at four ways to do so.

I have a couple of computers at home, running Windows XP Home and XP Pro. They are connected to the internet using a broadband router. I'd like to connect to them from my place of work. How do I do that?

Well, it may be possible, but there are several barriers in your way. It could get complicated, but we'll look at each of the barriers in turn, and consider ways to overcome them, if possible.

First, I'm going to assume that you want to connect using Remote Desktop. Using that, when you finally do connect, you'll have access to the remote computer almost as if you were sitting in front of it. The bad news here is that Remote Desktop is a feature of Windows XP Pro, and is not present in XP Home. You'll only be able to access your XP Pro machines using Remote Desktop.

Our first barrier is your place of work. Depending on how they are connected to the internet, you simply may not be able to connect out. Larger corporations often restrict what protocols are allowed to access the internet. Quite often they restrict access to web surfing and email. If that's the case where you work, there's little recourse, other than pleading with your IT department to allow the Remote Desktop protocol (on port 3389) to reach the internet.

The next barrier, or at least point of confusion, is your IP address. The easiest scenario is if you have a static IP address at home. That way you'll always know what IP address to connect to. In fact, if you have a static IP, you can even register and assign a domain to it, so that you can access your home network by name - something like myhome.mydomain.com - rather than IP address.

"You'll only be able to access your XP Pro machines using Remote Desktop."

If you have a dynamic IP address, you can still get to your network. You simply need to know what the current IP address is. There are several approaches, however none of them are really elegant. For example, you can call home and ask someone to visit a site such as Plot IP, which will display your IP, and then have them read it to you over the phone. If you have access to a web server's access logs, you can have your computer at home visit a specific web page periodically and retrieve the IP address from the logs. And finally there are tools that you can use to map a domain name - like myhome.mydomain.com - to a dynamic IP. These tools do require that you install software on your computer to detect IP address changes, and when a change occurs, it may take up to 48 hours for the DNS changes to make their way across the internet.

The good news about a dynamic IP is that if your router stays connected continuously, the IP address is actually not likely to change often.

The next barrier is your router. A router acts as a firewall, and prevents most connections coming in from the internet. Most people only connect out, to surf the web, download files or read email, so that's not a problem for them. But connecting from a remote location to your home is a connection coming in from the outside. The router needs to be configured to forward port 3389 (the Remote Desktop Protocol port) to the computer you want to connect to. Unfortunately, exactly how that's done will vary depending on kind of router you have - you'll have to check the documentation.

Note that I said you need to configure it to forward to the computer you want to connect to. You can access only one of your computers directly through your router this way. (There are techniques where you can specify that Remote Desktop listen on ports other than 3389. Then by using a different such port for each computer, and forwarding each through the router to the appropriate computer, you can connect directly to each. That's beyond the scope of this article, and more complex than most folks will want to deal with.)

My approach, for what it's worth, is to allow external remote access to only one machine on my network. Once connected to that machine I can, if needed, use Remote Desktop on it to connect to any other machine on my network. It can be a little confusing from a UI perspective, knowing which of the three machines connected in sequence my keystrokes are actually going to, but in practice I don't do it often.

Our final barrier is your IP address on your LAN. Your IP address on the internet, whether static or dynamic, is assigned by your ISP and really identifies only one device: your router. Within your local network, the router then typically assigns local IP addresses to all of your computers. The router then handles making sure that all the data traveling between the computers on your local network and the internet all go to the right computers.

Those local IP addresses never leave your network - the internet sees only your router's IP address. So when you configure your router to forward port 3389 to a computer, you need to select one of your local computers, and configure its IP address as the destination for Remote Desktop. Then, when the router receives a Remote Desktop request from the internet, it forwards that request to the computer whose IP address you configured.

The "problem" is that your local network is, more than likely, using dynamic IP addresses. That means that the IP addresses that are assigned to each computer could change over time. If you leave your computers on all the time, the addresses won't change, and you're probably OK configuring the router with the current IP address of the computer you want to access remotely. If it ever changes, you'll need to update your router's port forwarding configuration for port 3389.

If that's unacceptable or inconvenient, the only real solution is to configure one of your computers to have a static IP address, and then configure the router to forward to that one as the Remote Desktop target. Depending on your router it can be as easy as:

  • Configuring the router to assign IP addresses from one range ... say 192.168.1.100 and up.
  • Configuring the TCP/IP properties of one of your machines to be a static IP, and defining it with a value out of that range - say, 192.168.1.2 (normally 192.168.1.1 is reserved for the router itself).

In many cases that's enough. In cases where other machines on your network cannot "see" this one machine, it may be necessary to add an entry to the "hosts" file on all the other machines that defines the static IP address for this one machine:

192.168.1.2 machinename

There's more on hosts in this article: Can I fake the DNS IP lookup to test my website?.

As you can see, things get fairly complex fairly quickly. There are other solutions, but I've not tried any of them myself so I'm not qualified to comment on their suitability or their ease of setup:

  • Commercial solutions such as PC Anywhere, or GoToMyPC.
  • VNC (Virtual Network Computing) solutions that operate much like Remote Desktop. RealVNC is one example.
  • VPN (Virtual Private Network) solutions that create a virtual connection to your entire local network. In recent years, some types of routers come with VPN support built in.

Perhaps some readers will chime in with their experiences with those, or other, solutions.

Article C2423 - September 18, 2005

Was this article helpful? «Yes» «No»

Recent Comments
42 Comments

These are obviously newbie-type questions, so I would appreciate your indulgence. Here goes: Let's say I've installed LogMeIn on my desktop home computer using WinXP Home Edition. I take my laptop, which is LogMeIn enabled, on vacation to Florida for a month, and initially I can successfully access my home computer from the laptop. Everything is good and I'm happy.

Questions: Must I leave my home computer running continuously for a month with no reboot? Is this realistic? Can LogMeIn reboot my home computer remotely and re-establish its connection? Let's say my home computer suffers a glitch and hangs, or has a BSOD, or a power outage. Question: Will LogMeIn be able to restart the home PC and recover? If so, great! However, if my home computer can't be rebooted and LogMeIn can't reconnect automatically, What are the options? Would there be a danger in leaving the home computer on but malfunctioning for a month? Are my fears realistic? Are there any other dangers or conditions where I wouldn't/shouldn't use LogMeIn? Am I missing something obvious?

I'd appreciate some guidance in this. Thanks!

Frank D

Utilities like LogMeIn require that software be running on your home computer, so if it's off or crashed, they simply cannot work. What I don't know (ironically) is if your machine reboots and requires that you login, will the LogMeIn software be running at that point so that you can, remotely. I would hope so, but I'm not sure.
Leo
22-Apr-2010

Posted by: Frank D at April 20, 2010 10:20 AM

Leo's response to my question:
"Utilities like LogMeIn require that software be running on your home computer, so if it's off or crashed, they simply cannot work. What I don't know (ironically) is if your machine reboots and requires that you login, will the LogMeIn software be running at that point so that you can, remotely. I would hope so, but I'm not sure.
Leo / 22-Apr-2010"

My response to Leo:
Thank you, Leo. I suspected that LogMeIn wouldn't be able to handle all those "if's" I threw at it. I appreciate your opinion.

Frank D

Posted by: Frank D at April 27, 2010 7:10 PM

As far as I'm aware Hamachi on its own will not offer full remote control. You can access the remote computer and the files/folders thereon but cannot control it.

For remote control I use a combination of Hamachi and RealVNC. Hamachi provides a secure, static, IP address. I then connect to the Hamachi-allocated IP address using RealVNC which provides full remote access.

Hopefully, someone will put me right if I'm out of touch with reality!

Remote Desktop, built into Windows Pro and better, works as well.
Leo
30-Apr-2010

Posted by: Bill Chubb at April 29, 2010 10:38 AM

I am using RealVNC at home on 5 systems with D-Link DI-624 extrem G. My rounter has a DMZ fuction that allows me to assign one ip onside the firewall of my router. My router is set to DHCP and remains on all time. I have set 3 of the 5 computers with a static IP address...one of them being the DMZ system. What I would do is connect to my routher and go the the status connection to find out what my modem (comcast) ipaddress is. I have 2 questtions. 1. Assignng on system outside the firewall..do I still need to forward port 3389 to that system. and 2. When I run RealVNC from work....what is the syntax i put in the ipaddress to access my home computer. I am assuming it is....modem ipaddress/compuer ipaddress. Or do I also need to include the router gateway ipaddress.

Posted by: Nick at June 13, 2010 7:28 AM

I have a network which is working OK. Then I add an old win2K3 server and after about 5 min, it crashes my internet connection. I have tried both static and DHCP IP addressing

Posted by: Baggy-shirt at July 23, 2010 9:09 AM

Post a comment on "How can I connect to my home computer from work?":



(Name will be included when your comment is published.)



(Email Address will not be published.)

Remember Me?

By popular demand...
my tip jar
Cuppa Joe
Buy Leo a Latte!

(you may use HTML tags for style)

RSS feed Subscribe to the RSS Feed specifically for comments on this article.

Before commenting, please...

  • Read the article at the top of this page. If your comment shows you didn't, it'll be deleted and ignored.

  • Comment only on this article. Use the Google search box at the top of the page if you have a question about something else.

  • Don't include personal information in the comment. No email addresses. No phone numbers. No physical addresses.

  • Don't spam. Excessive links to unrelated sites within a comment or across multiple comments will cause all such comments to be removed.

  • Don't ask me to recover lost passwords or hacked accounts. I can't, and those comments will be deleted.

  • I can't respond to every comment. And I can't vouch for the accuracy of others who do.

Please wait. Your comment is being processed ...


Question? Ask Leo!