Lightweight DNS Server for VMware Lab

0

For those of you who are building and working with your own VMware labs and using either physical home lab hardware or maybe using VMware workstation to setup your nested VMware lab, you most likely will be in need of a DNS server, especially since the new VCSA 6 appliance basically requires DNS records to be in place or it will not deploy correctly.  I wanted to post for you guys how to spin up your own lightweight DNS server for VMware lab purposes.

The DNS server runs on Ubuntu Server.  I went out and downloaded the latest version of Ubuntu Server which in current trim is version 15.04.  The thing I like about Ubuntu Server is that especially if you are not running many services and only running something like BIND DNS which is what we will spin up, you can get away with just allocating around 512 MB of memory for the VM as well as minimal disk space.

BIND DNS has been around forever, so there are lots of resources out there to help with configuration.  What I don’t like about it is that it is very finicky with syntax and file configurations.  If you don’t have those just right, you will run into problems.  However, hopefully with the file examples below, you can easily spin up a lab DNS server in no time.

Network Configuration

I am using a 192.168.5.0/24 network in my host only network config of VMware workstation.  So all the records and values below are based on that.

Installation

As mentioned above, you can either install BIND during the Ubuntu Server install, by selecting DNS Server as the option you want to include when you come to the packages screen, or you can simply install BIND after the fact, via the command line.

After you have installed BIND you can get started configuring.  Most everything that has to do with your BIND configuration will be found under the directory /etc/bind and the files that need editing will be found here.

Below are examples of the files that I edited and their contents to get my esxlab.local zone up and running on my Ubuntu Server.

named.conf.local

To create the zone files

esxlab.local.db

rev.5.168.192.in-addr.arpa

/etc/resolve.conf

Make sure you have the server’s IP address in the resolve.conf file as you can see I have the domain and IP of the Ubuntu server populated.

After you finish with configuring your zones and any other configurations you need to make, you need to restart BIND

Troubleshooting

To troubleshoot any issues, look in the /var/log/syslog file to see any BIND related issues.  Also use the command named-checkzone esxlab.local /etc/bind/esxlab.local.db replacing the names with your appropriately named zones and DBs and it will tell you whether or not the zone file has any issues or will load correctly.

Final Thoughts

After spinning up the lightweight BIND DNS server on Ubuntu Server, you will have a useful tool in your VMware lab environment and get some hands on experience with Linux DNS technologies.