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!
|