Hosting your own internet domain

Scott Harney


Table of Contents
Introduction
DNS Conceptual Overview
Hosting DNS

This document is an overview explaining how to host your own domain name on your own internet connection using Linux. If you have Cable or DSL connectivity and a static IP, you can host your own web site and email domain as well as other services. I use the NOLUG domain, nolug.org, as an example throughout. This document is not a standalone cookbook explanation. Rather, it is an overview of the concepts involved so that the reader will understand how to adapt these concepts to their specific environment.

Warning

Note that the concepts described herein may very well violate the terms of your ISP's User agreement. If you use your domain for commercial purposes it almost certainly will. And adding yourself to the worldwide DNS system is a very public act which may be noticed by your provider. However, it is much easier to learn by actually doing. As with everything in life, you'll have to judge the risks versus the benefits.

You should also be aware of the security implications of hosting network services on your computer. Every service you host represents a potential avenue for attack should a security hole be discovered in the software you are using. Users should keep a close eye on general and vendor security resources for the software they are using to keep up-to-date. You should be comfortable with your own ability to protect your system. I will make comments on security throughout, but don't trust me -- decide for yourself.

Introduction

So you're lucky enough to have a decently fast internet connection and a static IP. You probably noticed that nolug.org has a website hosted via Hunter's personal DSL connection and the email list is hosted through my personal DSL connection. You'd like to be able to do the same or at least know how it is done. That's what I intend to explain in this document.

There are very few pre-requisites needed to make this work. Of course you need to be running Linux or another unix-like OS. You really need to have a static IP and a decently quick, always-on connection. I will explain how you can handle your own DNS or you can have a friend handle that portion for you.

Understand that I will only be as specific as I need to be so you can understand the overall steps to take. I will not delve to far into the specifics of configuring BIND for example. You'll need to read the relevant man pages and RFC's should you decent to implement the concepts I describe. I will utilize common tools and unix commands in examples to make things clearer, however. Again, you are encouraged to read man pages for those commands to understand more fully what is going on.