Mail servers must talk directly to each other on the internet and to do this, they use domain names - not IP addresses, so a domain name is mandatory if you run a mail server.
If you are reading this at http://www.acacialt.com.au then you are seeing this project in action.
But, if you don't want to spend too much effort, you might like to get your hands on Smoothwall which provides a fairly complete firewall environment just by booting from a CD - cool!
Hardware
Hardware is pretty straight forward.
- You just need a Linux box which can be based on an old 486 lying around in your shed. Indeed a 486 can act as a proxy server, firewall, DHCP, caching DNS and web server without breaking into a sweat for most small networks.
Services
This project relies on a number of services including:
- Dial up or (preferably) a broad band connection to your ISP.
- Purchase of a domain name from http://www.ausregistry.com.au in Australia.
- Subscription to a dynamic DNS service such as www.no-ip.com which works brilliantly for me.
Software
You need to get the following software:
- Linux - download it from http://www.redhat.com or better still, get it from the News Agents for about $10.
Configuration
Follow the steps set out below to set it all up. I have provided links to reference sites, but if you are an experienced in Linux user, it is reasonably straight forward to use the GUI to configure all of these services.
A good master index of HOWTO's if you need more.
- Find an old PC to use. The more memory and disk the better, but a 486 with 32MB of RAM, a network card and 1GB of disk is about the minimum.
- Download Linux using these Notes
- Install and configure Linux using these Notes
- Configure networking including cards, drivers, DHCP and FTP using these Notes
- Clamp down security using these Notes
- Configure your firewall using these Notes
- Optionally implement masquerading to put web and mail servers inside your firewall using these Notes
- Configure DNS using these Notes
- Configure your web server using these Notes
- Purchase a domain name to use or get a free one from No-IP.com.
- Sign up to your dynamic DNS provider.
- Complete the domain delegation to your dynamic DNS provider. After a day or so, you should be able to ping your site by domain name.
- Test it all. You will find that it is useful to see you network from the internet side rather than inside your network to test web and email services. For this, make use of some of the free anonymous proxy services on the Web.
Ideas
Don't stop here. You now have most of what your ISP has so think about extending to:
- Host web sites for you friends. Apache can host many virtual sites on a single server and you can delegate many domains to a single site.
- Set up your business on the Web. Many businesses are purely web based these days.
- Aggregate emails from hotmail and other sites into a single real account. Make money doing it for others!
- Add some modems and become an ISP to reduce your costs.
- Link your XBox via a VPN.
- Duplicate your implementation and link branches of small business via a VPN.
- ....tell me what you have done!
Code
The following provides a working example of /etc/dhcpd.conf:
#--------------------------------------------------
# Global setting for this DHCP server
#--------------------------------------------------
# Define our domain
option domain-name "mydomain.com.au";
# Ensure that single hosts cannot grab too many addresses
one-lease-per-client true;
# We are the authoritive DHCP for the LAN
authoritative;
# DNS on aphrodite
option domain-name-servers 192.16.16.156;
# WINS on gweniver and hera
option netbios-name-servers 192.16.16.13;
# Default lease is 1hr 20 min
default-lease-time 4800;
# Leases for a max of 1 day
max-lease-time 92000;
#--------------------------------------------------
# Define a set of DHCP addresses
#--------------------------------------------------
subnet 192.16.16.0 netmask 255.255.255.0
{
# Allocate 1 to 99
range 192.16.16.1 192.16.16.99;
# Class C network mask
option subnet-mask 255.255.255.0;
# All broadcasts on the network go here
option broadcast-address 192.16.16.255;
# Path to the internet
option routers 192.16.16.156;
}
Click here to check out the list of other projects.
You may also like to click here to check out the list of Artificial Intelligence projects.
If you would like to get any further information on this or any of the other projects shown on this web site, please send an email to Acacia Lateral Technologies. or place a comment in our Guest Book
You might also like to submit your idea to our Free Ideas page for the benefit of other like-minded soles.