Install and configure DNS Server in Windows Server 2008

What is DNS?

DNS stands for Domain Name System. To know more about DNS visit Wikipedia DNS. In short DNS maps complex 32-bit IP addresses to human readable and rememberable domain names i.e. gopalthorve.com. DNS consists of a very large globally distributed database which hold zones for domains and consequently these zones hold various resource records of the domain. As we all know every device connected with the global internet is identified by a logical 32-bit number. This IP address is further divided into 4 octal numbers separated by dot (.) i.e. 192.168.0.1 (dotted decimal format). It is DNS due to which we don’t need to remember those complex 32-bit IP addresses. Say thanks to DNS due to which we only need to enter say www.wordpress.com and DNS takes care of resolving this name to respective IP address. To know how DNS Server works and for detailed description about each and every term associated with DNS Server you may find DNS on Windows Server 2003 interesting. I learned a lot of stuffs about DNS Server from DNS and BIND (5th Edition).

Install DNS Server in Windows Server 2008

  • Launch Server Manager by clicking Start > Administrative Tools > Server Manager. Click Roles and then Add Roles.

Install DNS Server in Windows Server 2008 - Step 1

  • Select DNS Server from the list and then click Next button.

Install DNS Server in Windows Server 2008 - Step 2

  • A little introduction to DNS Server and a few useful links for further details as shown in below image. Click Next to move on.

Install DNS Server in Windows Server 2008 - Step 3

  • Click Install button.

Install DNS Server in Windows Server 2008 - Step 4

  • DNS Server has been installed successfully as per below snapshot. Click Close to finish the Add Roles Wizard.

Install DNS Server in Windows Server 2008 - Step 5

Creating Forward Lookup Zone

  • Launch DNS Manager by clicking Start > Administrative Tools > DNS or type dnsmgmt.msc in Run window (Press Windows Key + R) and press Enter.
  • Expand Server (e.g. WIN2008) > Right click Forward Lookup Zones > New Zone which will launch New Zone wizard.

Configure DNS Server in Windows Server 2008 - Step 1

  •  Click Next on Welcome to the New Zone wizard.

Configure DNS Server in Windows Server 2008 - Step 2

  • Since this is our primary DNS Server for the zone select Primary zone. Then move on by clicking Next button.

Configure DNS Server in Windows Server 2008 - Step 3

  • Enter the domain name for which you want to create the zone for e.g. gopalthorve.com. Say you want to build up DNS Server for your own Windows Server 2008 based hosting server then enter your registered domain name here otherwise if it is for intranet only it can be anything (domain naming conventions must be followed). The zone can also be created for subdomain e.g. us.gopalthorve.com.

Configure DNS Server in Windows Server 2008 - Step 4

  •  Zone File Options:
    • Create a new file with this file name: Enter the physical zone file name where all zone information will be stored for this domain/subdomain. This file will be created under %systemroot%\system32\dns. Follow standard zone file naming convention e.g. gopalthorve.com.dns.
    • Use this existing file: If you already have a zone file for this domain/subdomain then select this option and specify zone file name here. You need to put this zone file under %systemroot%\system32\dns folder

Configure DNS Server in Windows Server 2008 - Step 5

  • Dynamic Update: Here you can specify if this DNS zone will accept secure, nonsecure or no dynamic updates from client.
    • Allow only secure dynamic updates (recommended for Active Directory): This is available only for Active Directory integrated zones. This setting allows Active Directory client machines to register their name as resource records pointing towards their dynamic/static IP address.
    • Allow both nonsecure and secure dynamic updates: This should never be enabled because it allows all clients secure and nonsecure both to update from all clients.
    • Do not allow dynamic updates: This should be the preferred setting if you are setting up this zone for your own hosting server. This denies dynamic updates to zone resource records from all client and you will need to change them manually whenever required. We will choose this option and then move on.

 Configure DNS Server in Windows Server 2008 : Dynamic Update

  • Forward lookup zone has been created successfully for gopalthorve.com and shows the summary as in below image. Click Finish to close the New Zone Wizard.

Configure DNS Server in Windows Server 2008 - Zone Created

Configure Forward Lookup Zone

  • Right click on gopalthorve.com (forward lookup zone recently created) and then click Properties.

Configure DNS Server in Windows Server 2008 - Name Servers

  • Name Servers: Here we can configure nameservers for the zone gopalthorve.com.
    • Remove the default entry from the list.
    • Click Add… button to add new nameserver record.
    • Tye fully qualified domain name (FQDN) of the nameserver for your domain. I am configuring my own live DNS Server and hence I entered ns1.gopalthorve.com.
    • Enter the IP addresses to which ns1.gopalthorve.com will resolve to. I am entering private IP address of my computer here for example purpose only. Please replace it by your Public IP Address allotted by your ISP or dedicated or VPS hosting provider.
    • Similarly create another nameserver record. I created it as ns2.gopalthorve.com pointing to 192.168.0.99 (Please replace it by your Public IP Address allotted by your ISP or dedicated or VPS hosting provider.). Second nameserver record is required because your domain name registrar will require atleast two nameservers for pointing your domain to the DNS server we are configuring. We are configuring both nameservers pointing to the same DNS Server configured with multiple IP Addresses. (ns1.gopalthorve.com >> 192.168.0.98 and ns2.gopalthorve.com >> 192.168.0.99).
    • Click Apply to save changes.

 Configure DNS Server in Windows Server 2008 - New Name Server 1

Configure DNS Server in Windows Server 2008 - New Name Server 2

  • Start of Authority (SOA)
    • Serial number: This is the serial number for the zone. This should be set to YYYYMMDDNN where YYYY is the year, MM is the month, DD is the day and NN is the count is the count indiciating how many times the zone modified on that particular day. Whenever you change zone data occurs this serial number must be incremented by one. When slave nameserver contacts master for zone data it compares its own serial number with master’s serial number and its less than masters serial number then slave nameserver updates its zone data from master.
    • Primary server: This is the FQDN of nameserver which you want to set as primary nameserver for this zone. In my case its ns1.gopalthorve.com.
    • Responsible person: Specify the email address of the administrator who is responsible for maintaining this zone. Here email address must be specified in dotted format e.g. hostmaster@gopalthorve.com must be specified as hostmaster.gopalthorve.com. This is required when other webmasters wants to contact the maintainer of the zone in case of any issues.
    • Refresh interval: This value instructs the slave nameserver how often to check that the data for this zone is up to date. Set this to 1 day if zone doesn’t change frequently. For the DNS server for hosting purpose 1 day is idle.
    • Retry interval: In case slave nameserver failed to connect to master after Refresh interval (in case master is down or unreachable), slave tries to connect to master every interval specified here. Generally Retry interval is shorter than Refresh interval but its not compulsory. Enter 2 hours here.
    • Expires after: If the slave fails to connect master for this much time, the slave expires the zone. Expiring the zone means it slave stops responding to queries for this zone because the zone data that slave is having is very old. Enter 7 days here.
    • Minimum (default) TTL: TTL stands for Time To Leave. This applies to all negative responses from the authoratative nameservers. Enter 1 day here.
    • TTL for this record: TTL for SOA record.
    • Click Apply to save changes.

Configure DNS Server in Windows Server 2008 - SOA Configuration

  • Zone Transfers: Zone transfer is the process of transferring entire zone to the requesting server/client. The best practice is to not allow every one to connect and transfer the zones. You can allow only specific server for zone transfers i.e. the slave nameserver for the zone. We can setup to notify the servers if any zone updates happen on this zone.
    • Allow zone transfers: Enables/disables zone transfers.
      • To any server: All server/clients will be allowed to transfer zones. Not recommended.
      • Only to servers listed on the Name Servers tab: Zone transfers will only be allowed to the nameservers specified under Name Servers tab (ns1.gopalthorve.com, ns2.gopalthorve.com). Highly recommended for DNS Servers for web hosting servers.
      • Only to the following servers: If you want to enter IP/FQDN to which zone transfers will be allowed select this option and then click on Edit button and list all IP/FQDN allowed for zone transfers.

Configure DNS Server in Windows Server 2008 - Zone Transfers

    • Notify…:
      • Automatically notify: Enables/disables automatic notification of zone changes to either nameserver listed on Nameservers tab or specified IP addresses/FQDN names.
      • Servers listed on the Name Servers tab: Selecting this will only zone update notification will only be sent to nameservers listed under Name Servers tab. This is the recommended setting.
      • The following servers: You can specify list of other name servers to whom you want to send automatic notification of zone updates.

Configure DNS Server in Windows Server 2008 - Zone updates notify

Configure DNS Server Properties

  • Open DNS Manager by clicking Start > Administrative Tools > DNS.
  • Right Click on the DNS Server for which you want to configure Properties for and click Properties.
  • Interfaces: You can configure DNS Server to listen on specific interfaces/IP Addresses or all IP addresses. If the server has multiple interfaces then you can configure DNS Server to listen on specific interface. If the server is having only single interface with multiple IP addresses configured then you can configure it to listen on specific IP addresses. By default it is configured to listen on all interfaces and all IP addresses.

Configure DNS Server level Properties - Interfaces to listen on

  • Forwarders: You can add other DNS Servers provided by your ISP to forward DNS queries to in case this server doesn’t hold zones for the domains. These forwarder addresses are only used recursion is enabled. Forwarders are required if you are having an intranet/extranet DNS server serving a few zones and want to allow same server to resolve other DNS queries too.

Configure DNS Server level Properties - Forwarders

  •  Advanced: You can configure some advanced aspects of DNS Server here. A very important options I want to discuss here is Disable recursion (also disables forwarders). If you are setting up this DNS server to serve zones for domains hosted on your DNS server (dedicated server, VPS Server, Cloud VPS Server) then enable “Disable recursion” which also disables forwarders, doing this will only allow the zones hosted on this server to be served.

Configure DNS Server level Properties - Advanced

  •  Root Hints: This is the list of root name servers.

Configure DNS Server level Properties - Root Hints

  • Debug Logging: For debugging purpose the debug logs can be enabled from here.

Configure DNS Server level Properties - Debug Logging

  • Event Logging: DNS Server events can be enabled for troubleshooting purpose.

Configure DNS Server level Properties - Event Logging

DNS Server listens on TCP and UDP port 53, so make sure to allow traffic on these ports in Windows Firewall. Also make sure that if you are having any router or firewall device and DNS server is behind any of these device, do necessary configuration to allow connection to DNS Server.

Register Name Servers at Domain Name Registrar

If you have a registered domain name and want to host DNS services for the domain on the DNS Server you recently configured then you have to create child name server at your Domain Name Registrar. If you have administrative control of your domain you can do this with the help of your domain name registrar otherwise ask them to do this for you. Create child name server like this:

ns1.gopalthorve.com >> 192.168.0.98
ns2.gopalthorve.com >> 192.168.0.99

Create Child Name Servers at Domain Name Registrar

Replace private IP addresses with public IP addresses on which DNS Server will listen on.

Update Name Servers at Domain Name Registrar

After creating child name servers you have to update name servers for your domain at Domain Name Registrar. If you have administrative control of your domain you can do this with the help of your domain name registrar otherwise ask them to do this for you. Update name servers as below:

Name Server 1: ns1.gopalthorve.com
Name Server 2: ns2.gopalthorve.com

Update Name Servers at Domain Name Registrar

To learn how to create various DNS Resource records (A, NS, CNAME, SPF, TXT, MX) visit this link.

Related Posts

22 thoughts on “Install and configure DNS Server in Windows Server 2008

  1. Dear Gopal Sir,

    i am Muthukumar from Trichy, Tamilnadu, i have learned your post its very useful for me, give some basic idea for website hosting, i am working on Private tourism company, i have one IBM server with 8Mbps leased line connection and 4 static ip is there so could please advice me how to host one of our web site with windows hosting. its veryyy helpful for me .

    thank you !!! Sir

    Muthukumar

  2. gopalthorve 

    ok.

    I tried installing websitepanel but i cant add dns records from the panel. I need a step by step guide. I didnt find it anywhere on the internet  for configuring websitepanel on windows server 2012 r2.

  3. I want to install website panel on my windows server 2012 r2. Is it necessary to install active directory services on the server? if yes how to install? i installed AD and now i cant browse websites from the server. and what is the installation order first dns or active directory?

  4. pateakshay3 gopalthorve 
    Sorry for the delays. Hope you might have figured out the issue.

    If not can you check windows event log generated while adding SYSTEM service. I have too never faced this issue.

    If you found the solution please post here so that others can get benefit from the same.

  5. Hi imagineivan 

    If you want to create a reverse DNS entry for public IP, you can’t do it in your DNS server. You need to contact the party who allotted you the public IP and ask them to do this for you. This party might be your dedicated server provider, VPS provider, ISP etc…

  6. gopalthorve

    I have installed  WebSitepanel in my machine today. i have formatted the machine install NIC drivers , SQL , IIS FTP , hMailserver. and then i have installed website panel its installed successfully but when i goes configuration –> Server –> Add service like SYSTEM it get added successfully but when i press update to final it gives error

    Error while installing service on the remote serverTechnical DetailsPage URL:http://192.168.0.49:9001/Default.aspx?pid=Servers&mid=137&ctl=edit_service&ServiceID=7&ServerID=1Logged User:serveradminWork on Behalf:serveradminHosting Space:0Stack Trace:System.Web.Services.Protocols.SoapHeaderException: System.Web.Services.Protocols.SoapHeaderException: Microsoft.Web.Services3.Security.SecurityFault: The signature or decryption was invalid —> System.Security.Cryptography.CryptographicException: WSE523: The CipherData contents are invalid. 
    at Microsoft.Web.Services3.Security.Cryptography.SymmetricEncryptionFormatter.Decrypt(Byte[] data) 
    at Microsoft.Web.Services3.Security.EncryptedData.Decrypt(XmlElement encryptedElement) 
    — End of inner exception stack trace — 
    at Microsoft.Web.Services3.Security.EncryptedData.Decrypt(XmlElement encryptedElement) 
    at Microsoft.Web.Services3.Security.EncryptedData.Decrypt() 
    at Microsoft.Web.Services3.Security.Security.LoadXml(XmlElement element) 
    at Microsoft.Web.Services3.Security.Security.CreateFrom(SoapEnvelope envelope, String localActor, String serviceActor) 
    at Microsoft.Web.Services3.Security.ReceiveSecurityFilter.ProcessMessage(SoapEnvelope envelope) 
    at Microsoft.Web.Services3.Pipeline.ProcessInputMessage(SoapEnvelope envelope) 
    at Microsoft.Web.Services3.WseProtocol.FilterRequest(SoapEnvelope requestEnvelope) 
    at Microsoft.Web.Services3.WseProtocol.RouteRequest(SoapServerMessage message) 
    at System.Web.Services.Protocols.SoapServerProtocol.Initialize() 
    at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 
    at WebsitePanel.Providers.ServiceProvider.Install() 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 
    at WebsitePanel.EnterpriseServer.esServers.InstallService(Int32 serviceId) 
    at WebsitePanel.Portal.ServersEditService.btnUpdate_Click(Object sender, EventArgs e)

    I Cant Understand why this is happening i have installed fresh copy of server2008R2.

  7. pateakshay3 gopalthorve 
    Best of luck for the task on hand.

    I have done that many times in past. If you need any help let me know.

  8. gopalthorve 

    Thank you so much for quick reply. i got new task to make server like one our hosting provider is providing to us. They have DNS , hmailserver sql iis and http://ftp. 
    and use website panale to manage all.

    now i am building same server as they have in there datacenter.

    Once again many thanks for such helpful info.

  9. You are welcome pateakshay3,
    Now a days mostly all the routers support port forwarding even most basic ones. I have done that with D-Link, Linksys too. No need to have costly firewalls or routers.

    To know how to configure port forwarding on your particular make and model of router http://www.portforward.com might help you. port forward.com is specifically to help configure port forwarding on various models of routers and firewalls.

  10. gopalthorve Many thanks for reply .

    Can you please tell me how to “Configure port forwarding”???. is i need some kind of router like Cisco 1800 or more advance or normal router like linksys or belking is ok for this. As i never Configure port forwarding.

  11. Hi pateakshay3, imagineivan

    Yes you can. That is what the article is about. Replace all the private IP Addresses with your public IPs on which your DNS servers will function. Configure port forwarding for TCP DNS port 53 or access rules in your firewall to allow traffic from WAN to the DNS server located on your LAN.

    Thanks!!!
    Gopal Thorve

  12. Hi its nice article can i point my domain which is hosted in US to my local dns server to manage all records and other services like mail ftp sql iis ??????

Leave a Reply