Go to OzTechnologies.com

Remote Access (How to run a Home Server)


  • Overview
  • IP Addresses and Domain Name Servers
  • Dynamic DNS
  • Direct Update
  • Domain redirection
  • Remote Control
  • Web Serving
  • FTP Serving
  • VPN
  • Hosting your own email


  • Overview

    Ever thought about how handy it would be to be able to buzz in and control your PC at home from the office or another location to check a document left behind or send yourself a file?
    Perhaps you develop Web pages or other software and would like the ability to run your own Server to quickly and easily give your clients access to the project?
    Maybe you've considered these things and decided it was too fussy because you don't have a permanent (static) IP address so no one would be able to find you easily on the WWW, or couldn't afford to shell out most of your life savings on the necessary software to run a Server.
    Well this guide, while not intending to be a step by step walk-through, will hopefully get you started with some background knowledge to give it a go and demonstrate that it can be done quite easily, and all by using free services and software.


    IP Addresses and Domain Name Servers

    I'll start off here with a bit of boring background info, which although not completely necessary to achieve an end result, will help towards an understanding of what is happening behind the scenes.

    The Internet as such is basically just a huge computer network. Each computer on the WWW Network (including yours) has a unique identity tag (Mac Address) and a unique numerical address (IP address).

    What concerns us most here is the IP address. To connect to another PC on the Internet, you first have to find its IP address.

    IP Addresses are grouped into categories depending on the size of the Network they need to function on. Some IP address ranges are reserved exclusively for private Networks, while others are "public" and can be accessed by almost anyone (if set up that way) via the Internet.
    For more about IP addresses, see How Stuff Works.

    Human beings have a tough time remembering long strings of numbers so the concept of a domain name came about. e.g. www.domain.com
    This meant that another bunch of computers had to come into existence to translate these Domain names into numerical IP addresses that other computers could understand.
    These "translating" computers are called Domain Name Servers and they form the backbone of the World Wide Web. They are the "Street Directories" of the Internet that tell all the other computers where to find the PC they are looking for by name and how to get there.
    Which brings us to a slight problem with running a home server on an Internet Connection that doesn't have permanent (static) IP address. How can a Domain Name Server find you if you keep changing your address?

    The solution is a Dynamic DNS Service.


    Dynamic DNS

    Most Internet Servers (.coms etc.) are generally run from a permanent (static) IP address, so how can we run a server on a non-permanent (dynamic) IP address like most of us get on home Broadband plans and still have people find us?

    The solution is a Dynamic Domain Name Service (DDNS).

    Dynamic Domain Name Service providers redirect traffic looking for your domain name (.com etc.) to your current IP address, whatever it may be. When someone types your .com address into their web browser (Internet Explorer etc), the request goes to the DDNS provider's Name Server which then queries their records for your latest IP address and sends that person to your PC. (You need to tell the DDNS provider whenever your address changes but this process is easily automated using many available DDNS clients explained further in the next section)
    There are dozens of DDNS providers (with many free) available.
    I use one run by fellow BigPond Cable User Alan Yates at www.ddns.nu.
    Alan provides a free service if you use one if his "sub domains". i.e.. anything@cable.nu, @optus.nu, @bpa.nu and has quite a few others to choose from. He also has lots of FAQs about what he provides and how to sign up etc.

    Some other DDNS providers:-

    Be aware that I have not personally used the majority of these, so I am unable to vouch for their integrity and/or reliability.


    Direct Update

    The next thing we need to do is to automate the process of updating the DDNS provider whenever the IP address changes.
    What we need is an application that can automatically detect if and when our IP address changes and then automatically update the records with the DDNS provider.
    Easier said than done?
    Not really. Others have already done the hard work and there are many such applications to choose from. The one I like the most is DirectUpdate.
    The reason for my fondness for this one is that it works perfectly from behind a Router* as well as a normal Internet Connection, and it's free (Well, sorta. Registration is optional).
    *Most Routers have built-in DDNS clients anyway, but they may not necessarily support your particular DDNS provider.

  • The first step (once downloaded and installed) is to double click the new icon in your system tray.
  • On opening, select the Engine Connection tab and for security reasons, specify a password to <localhost>
  • On the Status tab , up the top, click on "create" and select your DDNS provider from the pulldown menu and add your DDNS username & password.
  • Next, click on the "Edit IP detection Settings" button and change the "Check IP every..." to something sensible.
  • Below that, you'll see a bunch of services that will check your IP from outside. Not all of these work, and you probably don't need that many anyway. Best bet is to pick just one or two and make sure they work by typing their addresses into Internet Explorer.
  • If you've got a Router, you can get the Direct Update client to check the IP from the Router's Status page (Don't forget to supply the Router's username & password)
  • To test it, click on the "Check IP now" button on the Status Page
  • If the "Select the Right IP" button begins flashing, click on it and tick the box with the right IP address and untick the others.

  • The rest of the Direct Update tabs can stay at their default settings, and are fairly self explanatory anyway.

    Note: regular and unnecessary forced updates to the DDNS provider is generally frowned upon and in extreme cases will get your account terminated. The reason for this is if too many people are hitting it constantly, it will have a detrimental impact on the performance of the DDNS Server, and can cause it to crash and take down everyone's service.


    Domain Redirection

    Already got a .com you want to use and don't want to use someone else's "sub-domain"?

    Well, it is possible to get these hosted by DDNS providers (usually for a fee), but an alternative method is to have your .com redirected to your free DDNS account.

    There are heaps of providers that will do this. The one I used is ZoneEdit (free) who have a variety of other redirection services available as well as being a DDNS provider.

    For more information on how to get your own .com or .com.au etc., see the Creating and Publishing a Website FAQ.


    Remote Control

    Ever forgotten the details of an email, or left a file at home and need to get hold of it?
    The solution is all too easy with the assistance of the DDNS account you've just set up and some remote control software. This will allow you to view and control your PC from a remote location as if you were right there in front of it.

    There's a variety of applications to choose from (as usual). Some of the more popular ones are:-

    Symantec's PCAnywhere
    Radmin
    Netopia's Timbuktu
    RealVNC
    TightVNC

    Windows XP also has Remote Desktop Sharing (a variation of Terminal Services) built-in. Open Windows Help and click the link that says "Invite a friend to connect to your computer with Remote Assistance" to learn more about it. And there's a few others like MSN Messenger as well.

    I'll use the free and simple TightVNC as an example.

  • First, download the "Installer" (exe) installation package and install it on the PC that is to be controlled.
  • Next, click on your Windows Start button > Program Files > TightVNC > Administration > Install VNC Service. (This will ensure that the VNC Engine runs on Startup and will allow you to also reboot the PC remotely)
  • Once the service starts for the first time, you'll be prompted to set a password.
    Be sure to make it a good one as it's the only protection you have from other people "VNCing" into your PC.

  • Next download and install the VNC Viewer and place it on the PC that is to do the controlling.
  • When you run the Viewer, simply type in the DDNS Host name or IP address of the PC you want to connect to.
  • Once you enter the password, you'll be looking at the Desktop of the other PC and you can control it as if you were right there.

  • A couple of drawbacks with VNC are:-
    (1) It is not totally secure and there is at least one known exploit for it, so don't install it on any PC in a Network exposed to the Internet unless the risk is acceptable. i.e. There isn't sensitive data and/or your life won't be over if you get a hacker in there.
    (2) It can't transfer files between the remote host and the client, but it can copy & paste small amounts of text. The workaround is to run an FTP Server or VPN as well, or just email the files to yourself.

    If you have a Router or Firewall in front of the VNC Server PC, you will need to forward port 5900 to the IP address of that PC. For PCAnywhere the ports are (TCP) 5631 & 5632, and (TCP & UDP) Port 22. (See this example on a Linksys Router)
    Update: PCAnywhere ports vary depending on the version you're running. See Symantec for particulars for your version.


    Web Serving

    The benefits of running a home Webserver are many.
    Perhaps you'd like to show off the family holiday snaps in thumbnail fashion rather than emailing huge attachments all over the place?
    Perhaps you're a Web designer/developer that works from home and would like to give your clients sneak preview?
    Whatever.
    If you've considered the benefits of running a Web Server but decided that Windows 2000 Server and Internet Information Services software or a Unix platform and associated Hardware costs were too restrictive, then think again.
    I had www.oztechnologies.com running on an old Compaq Pentium 166 with 64 Mb RAM and Windows 98 for almost a year, and no I'm not kidding. This PC sat neglected and gathering dust under a desk here and didn't even have a monitor, keyboard or mouse. It stayed up for months at a time and only crashed on me when it's ancient Hard drive finally called it quits.

    The key to it all is a small Web Serving application from AnalogX called Simple Server:WWW, and simple is just what it is.
    Just 187k to download (mere seconds on Broadband).
    Once installed, click on the bottom centre button to point it at your default home page (index.html), click "Start" and you're live!

    See also DSLWebserver.com

    For more about creating your own Web pages, see my guide on creating and publishing a Website.

    If you have a Router or Firewall in front of the Web Server PC, you will need to forward port 80 to the IP address of that PC. (See this example on a Linksys Router)


    FTP Serving

    File Transfer Protocol.
    FTP serving is useful for uploading and downloading files, particularly files that are too large to be emailed.
    In essence the FTP Server software will have a folder or folders on your hard drive that can be accessed by the general public, or you can place restrictions on who can individually access what and how.

    Some common FTP Server applications:-

    ArGoSoft FTP Server
    Avirt Gateway
    Bulletproof FTP
    Serv-U
    WS_FTP

    And there are many more to choose from and the odd free one as well. See Google.

    For people to access your FTP Server, they'll need an FTP Client, and there are several to choose from with most available for trial.
    The most common is Cuteftp but I use flashfxp which is very similar, but I like the interface better.
    It can even be done with DOS. There is a basic rundown of DOS FTP commands and "how-to's" at tucows.

    If you have a Router or Firewall in front of the FTP Server PC, you will need to forward port 21 to the IP address of that PC.


    VPN

    Virtual Private Networking is a way for Computers to Network together using the Internet as the connection medium rather than a hub or switch with conventional patch cables linking them together. Naturally there are security precautions that need to be implemented for this to be successful and worthwhile.
    Anything that can be achieved on a standard Local Area Network (file sharing, data bases, printing) can be achieved using a VPN over the Internet.

    Windows has come with it's own VPN client built-in since Windows 98, but for a VPN Server you'll need Windows 2000 or XP (Instructions are in Windows Help). There are also many private, non-Microsoft VPN Server and client applications on the market.
    There are also many Routers that come with their own secure VPN Servers and clients too, making the task all too easy. See OzTechnologies.com for some nice ones.

    If you have a Router or Firewall in front of the VPN Server PC, you will need to forward certain ports to the IP address of that PC.

    L2TP is UDP Port 1701
    PPtP is TCP Port 1723
    IPSec (IKE) is UDP Port 500
    (See this example on a Linksys Router)

    For other proprietary VPNs, you will need to consult the relevant application's help or FAQs.


    Hosting your own email

    This is one area where the novice needs to be very careful. It is possible and involves using a DDNS provider that can update MX Records, but it's risky. Apart from possible reliabilty issues, should you inadvertently create an open mail relay, it could end up costing you in a big way in excess data charges when some spammer discovers it and relays several gigabytes of spam through your unsecured mail server and Internet connection.
    Not a chance you think? I've seen it first hand more than enough times now. Open Mail relays are often discovered within hours of being online. One poor chap was even hosting streaming porn and a dozen email addresses without knowing it, but that's another story...

    My recommendation if you want your own domain email addresses is to pay the small fee for professional hosting and save yourself a lot of headaches.

    The best way to run an Internal mail server (if need be) is to set it up to retrieve from already established remote pop accounts, and send via your ISP's SMTP Server, and put the whole lot behind a small router. (The router will cover a multitude of mis-configurations and will be money well spent. See the Router Review page for more about Routers.)

    Alternatively you can use a redirection service like ZoneEdit to redirect your Domain email to an already established pop email address.

    Happy Hosting!