Seekbrain.com

Brain Seeking at it’s Best

Home Network Setup, Part 1

Filed under: Home Networking, HOWTO Guides — Perlboy at 6:09 pm on Saturday, February 4, 2006

Hey there,

Well, every few years or so I’m charged (or at least, I charge myself) with the responsibility of setting up our new rental premises with the most cost effective, efficient and clean solution to our day to day I.T. activities. My way of thinking is that, by setting all this up in a planned and carefully implemented manner we will be able to rely on the infrastructure just as much as we would if it was a “mission critical” component. Realistically, given that I am required to be able to fix a server onsite I rely upon my home network being up and running in the most efficient manner possible.

Subsequently, I thought it’d be pertinent to outline (for anyone else also endevouring on the task) what I did (am doing) when setting up my home network.

Requirements Engineering

Firstly we need to define some requirements of the end product:

  • Reliable shared internet access with either automatic or manual failover to an alternate means of connectivity (ala iBurst Wireless or ick, !dialup!).
  • A method of handing out IP addresses to all “dynamic” clients on the network. That is to say, we’re looking for a DHCP server.
  • Optimisation of possible bottle necks associated with a home based broadband connection. DNS & HTTP caching come to mind.
  • Reliable, fast central mail storage. This will be pulled from the internet servers into which the mail comes into, stored into users mailboxes and accessed by IMAP/POP3.
  • Outbound SMTP relay setup as a smarthost relaying to the ISPs upstream SMTP server. This is mainly necessary because occasionally the upstream ISP may differ (if for instance the connection drops) and updating 1 smart host is much easier than updating numerous settings per machine.
  • Web based access to the central mail storage.
  • A large house wide storage system. This is primarily to accomodate a significant amount of “in development” stuff I work on (like PHP & MySQL RPMs for instance).
  • Local DNS zone for local hostname resolution. I find it difficult to remember IP addresses so a DNS server is fairly essential (and it looks nice).
  • Wireless internet access should be available throughout the house.

Ideally I’d also like the new setup to accomodate:

  • Centralised authentication. Ie. House wide username/password combinations.
  • Centralised home directories without risking long downtimes should a key server fail.
  • Internal Network monitoring. This is purely to keep an eye on general statistics (like for instance disk space usage etc.) to avoid any disruptions.

Available Resources

As with any project we need to take stock of the equipment we have to complete this project. I’ll do my best to supply some pictures when I get my hands on a camera.

Storage/Development Server (Tethys)

2RU Chassis
P4 3.0 Ghz
2048MB RAM
2 x 300GB IDE (in software RAID1)
2 x 300GB SATA with 3ware 4006-2LP Hardware RAID1 Card

Gateway/Auxillary Server (Dione)

3RU Chassis (IBM Netfinity 4500R)
Dual P3 1Ghz (Coppermine core)
1024MB RAM
4 x 17GB SCSI (U160 bus width) in 2 seperate software RAID1 arrangements

Thin Client Server (Levity)

Minitower Case
P4 3.0 Ghz
2048MB RAM
2 x 120GB SATA drives in Software RAID1

This is my girlfriends PC. I use it to route between the upstairs and downstairs subnet. It also serves my Sunray 150 thin clients.
Spare (ex Gateway) Server 1 (Enceladus)

Dual P3 500Mhz (Katmai core)
512MB RAM
1 x 9GB SCSI2 (I THINK it’s 2)

Spare (ex Mail Server) Server 2 (Janus)

Single P3 450Mhz (Katmai core)
256MB RAM
1 x 8.5GB IDE HDD
2 x 10GB IDE HDD in Software RAID1

This server currently has the mail archives for all users on it. One of the objectives will be to make this server redundant.
Other than this there’s also a number of other “client” or “spare” machines. For the sake of simplicity I won’t bother mentioning them. They play no signficant role in the “house network” itself.

Physical Limitations

A number of physical implementation hurdles exist.

  • The house is raised with all 24/7 server equipment to be kept downstairs. This is due to heat & noise reasons. Consequently, I’ve run 2 sets of CAT5 from the bottom of the house via an external wall cavity and into the study.
  • Cabling abilities are limited since our new premises has woodfloors. Consequently, it’ll be necessary to conceal as much CAT5 cable as possible and, if required, bridge gaps with wireless.

Implementation Plan

Given all these requirements along with available hardware & limitations one can create a network deployment diagram with which to work from.Home Network Layout

Effectively each machines role is as follows:

Dione

  • NAT Internet sharing
  • NIS authentication slave
  • DNS zone slave
  • Nagios Monitoring system
  • DHCP Server

Tethys

  • NIS Authentication Master
  • DNS zone master
  • Storage server
  • Open Virtuozzo Host

Telesto

This is a VPS located on Tethys. By keeping the two seperate it means I can migrate to a standard system if I require. It also means that the instructions I supply will match perfectly (since a VPS acts like a completely seperate server).

  • Mail Pull
  • IMAP/POP3 Services
  • SMTP Smart Host
  • Horde
  • Apache Virtualhost (for access to Horde)

Levity

As indicated this is a standard desktop machine. It does however have two ethernet interfaces which are used to route traffic from the downstairs subnet to the upstairs subnet.

  • Middle man router
  • DHCP server for .50 range (Upstairs subnet)

Conclusion

So there we have the overview of what I intend to complete within this guide. The next part will begin answering & implementing the plan as outlined above. Until next time, have fun! :)

7 Comments »

46

Pingback by Seekbrain.com » Home Network Setup, Part 2

February 4, 2006 @ 10:30 pm

[…] This is the second part of my guide on a home network setup. If you’ve only just dropped in I’d recommend you have a quick read over Part 1 . Throughout this guide I’ve exclusively used CentOS4 and I’ve assumed it’s a basic clean install. […]

48

Pingback by Seekbrain.com » Home Network Setup, Part 3

February 5, 2006 @ 9:00 pm

[…] This is the third part of a multipart series as I go through the process of setting up a home network. If you’ve just hit this article I’d recommend going through Part 1 & 2 first. I guess the first thing we should do is run through what we’ve achieved using the requirements we defined within the first of these articles: […]

54

Pingback by Seekbrain.com » Home Network Setup, Part 4

February 6, 2006 @ 12:00 pm

[…] This is the fourth part of a multipart series on how to setup a home/office using CentOS4. If you’ve just dropped in I’d recommend taking a squiz at parts 1, 2 & 3. Using the original requirements specified in Part 1 we can determine what we have left to achieve: […]

84

Pingback by Seekbrain.com » Home Network Setup, Part 5

February 12, 2006 @ 1:18 pm

[…] This is the fifth part of my guide on how to setup a home network. If you’ve only just dropped in I’d recommend you have a quick read over parts 1, 2, 3 & 4. Throughout this guide I’ve exclusively used CentOS4 and I’ve assumed it’s a basic clean install. […]

110

Comment by c0d3r

February 16, 2006 @ 3:43 pm

hey you are doin great I am gonna read the next parts :>

Comment by Bob Barry

June 4, 2006 @ 7:00 pm

Your first stated goal included “automatic or manual failover to an alternate means of connectivity (ala iBurst Wireless or ick, !dialup!).” I’m keenly interested in this, so I scoured all five installments of your article to see how you went about it, but could find no mention of it. Did you achieve this? How?

Comment by Perlboy

June 5, 2006 @ 8:24 am

Hi Bob,

This is queued in the next few parts which, due to heavy work commitments, I haven’t been able to get published yet. It’s coming, I promise, not sure when but soon! :)

Stuart

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>