Nowadays DNS has become the name resolution of choice in a variety of operating systems including Windows and Mac. So what is DNS exactly? DNS enables computers to be able to communicate with each other via the use of IP addresses. Without it, it would be hard to network computers. Initially, operating systems like Windows used other communication mechanisms between computers; most notable was the Windows Internet Name Service (WINS).

Here’s a quick guide on how to configure a new DNS server on a windows machine;

Note: Before you start the configuration, you’ll first have to install the new DNS server software onto your machine. We will be installing the Windows Server 2016-based DNS server.

Software Installation

1. In order for you to install the DNS server, you can either use the server manager or the windows PowerShell console. For the PowerShell you have to start it with elevated rights.

2.You should then run the command Install-WindowsFeature -Name DNS -IncludeAllSubFeature – IncludeManagementTools.

Once installed, you can now proceed to configure the server.

Server Configuration For Lookup Zones

You’ll have to use the PowerShell in order to configure your server software. You’ll find it easier and you can also run the following command “Get-Command -Module DNSServer | Select-Object -Property Name” to retrieve a list of 130 functions that can be helpful to you.

For example if you want to transfer configuration data from server A to server B you can use the command Get-DnsServer -CimSession ‘serverA’ | Set-DnsServer -ComputerName ‘serverB’.

One of the main jobs of a DNS server is to host look up zones. However, some people simply use the DNS server for name resolution requests and caching. It all depends on your needs.

The first objective when creating look up zones is to create a simple forward lookup zone for a domain of your choice. It can be xyz.local. A forward lookup zone is used to map domain names to IP addresses hence the need of the domain name.


  • In order for you to do this, you’ll have to go to the DNS manager, and then right click on Forward Lookup Zones.
  • Select New Zone from the shortcut menu that appears. This will launch a New Zone wizard.
  • In this wizard you’ll have to specify Zone Type, Zone Name, Zone File Name and Dynamic Updates.
  • In Zone Type choose primary. Ensure that you deselect the Active Directory integrated option.
  • Next go to Zone Name and specify your domain name which in our case happens to be xyz.local. (Change xyz for any value).
  • Go to the Zone file name and accept the default which will be indicated as xyz.local.dns.
  • Finally, you will have to configure the Dynamic updates. Let the configuration be set to the default which is disallow dynamic updates. However, if you are configuring the server for a work environment, you’ll have to enable this option because DNS clients need to be able to update their own DNS records.

Your new zone will be created and by default it will have two DNS records; the SOA (start of Authority) and NS (Name Server). The former specifies the authoritative server for the zone while the latter specifies the server which hosts the zone’s records.

When you right click the new zone, there are a number of records that will appear, these include; the A record (Host (A)), Alias (CNAME) and the MX (Mail Exchanger). Each of these records has their own specific work.

  • A record will allow you to identify a single host in your server
  • CNAME will enable you to map out different hostnames (especially in a work environment) to one specific IP address.
  • MX on the other hand handles all your server’s mail requirements and maps to your current DNS domain so as to handle mail.

Setting Up The A Record

A simple way to add the A record is by using the PowerShell script. Let’s say that we want to add an A record for a host named ‘xyzclient’. You can use the following command: Add-DnsServerResourceRecordA-Name’xyzclient’-ZoneName ‘xyz.local’-IPv4Address172.16.1.100

In order to confirm that the A record has been set, you can also run the command Get-DnsServerResourceRecord to get xyzclient’s A record.

You will now be able to view the new client’s A record in the DNS Manager.