Setting up your own DNS part 1: Getting started

I have been playing with Linux for the last 15 years, but lately I have taken it to a whole new level. On my laptop I have set up a dual boot with Windows XP and Kubuntu, and after almost half a year of running this combination, I am amazed at how few times I have actually booted into Windows XP. Had it not been for the video editing, the second part with Windows XP would not have existed. There are a few other programs I am using under Windows XP, but they are happy to run in VirtualBox without any need for rebooting.

I have had a server in the house on and off over the years, but after moving to Brazil, it became a real need. The server is used for developing websites, testing different installations, caching updates for the workstations in the house, sharing files and sharing our laser printer as well as a number of other small things. It is also a way for me to learn more about networking, Linux servers etc.

Learning is also one of the reasons why I would like to set up a small caching DNS that also resolves the stuff I have on my local network. This task has been a challenge, but with the help of a lot of different online documentation, friends that have given me tips about this and that, I have managed to get it to a point where I can truly say it is working. So I thought I would try to gather the information here, both to help others and for me to remember what I actually have done.

One thing has to be said loud and clear: This server is not exposed on the internet. It sits behind a firewall and is only used by us locally. No ports have been opened up for access from the outside and there is no need to update the rest of the world with the stuff running on our local network.

Before I started, I had to make a few decisions. One of them was that I wanted to use a real domain for this, so I chose to use a subdomain off my wisnaes.com domain – lan1.wisnaes.com . This way, if I ever need to set up a lan at another site, I can simply name it lan2.wisnaes.com and avoid any conflicts. But for the examples, I have substituted this with lan1.domainname.com so that nobody by accident uses my domain.

Other things I decided on either at the installation of Ubuntu server or before the configuration of the DNS:

Name of server: argoz
IP of server: 10.11.12.100
IP of gateway: 10.11.12.1
DNS1: 208.67.222.222 (OpenDNS)
DNS2: 208.67.220.220 (OpenDNS)

There are a few DNS packages to choose from, but I chose to go for bind9 as this seems to be the most common one and it can do everything from small stuff to really big stuff.

Installing it is as easy as typing

sudo apt-get update
sudo apt-get install bind9

on the command line. Follow the prompts, and you have the basic install with a standard configuration. Note that the install has to be done with sodu/root privileges. Either use sudo or become root temporarily.

I will get into the configurations in the other two parts:
Part 2 : Basic configuration

Part 3 : Configuring bind9

The photograph of the phonebook is copyright Egil Sundal and used by permission.

About Svein

After living in Norway for over 40 years, I have moved to Brazil. I still sometimes travel to Norway to work, but aim at making those trips shorter and shorter. My worklife has been spent in the professional broadcast area. I have been doing regular production, both recorded and live shows. And I have been working for one of the major suppliers of editing systems, Avid Technology. The last few years I have done a lot of training and teaching. It is a very rewarding kind of work and no two days are the same. I also spend some time hacking together websites and tell people about the benefits of having websites with content management systems - CMS and lately also about the advantages of Linux. My preferred flavour is called Kubuntu.