Linux DNS Server

Posted on 2009-04-06
Last Modified: 2012-05-06
I'm running a windows 2003 server and linux server on my network, and trying to move everything from the windows one to the linux one.

DNS has got me stuck - it looks hard on a linux machine!

the DNS manager in windows server 2003 has no reverse lookup zones configured, but several in the forward lookup zones.

They look like:

(same as parent folder)     Start of Authority(SOA)     [18],, hostmaster.
(same as parent folder)     Name Server (NS)   
(same as parent folder)     Name Server (NS)   
(Same as parent folder)     Host (A)                  
www                                 Host (A)                   
subdomain                          Host (A)                   

.....and I'd like to replicate this setup on the linux machine in the easiest and most robust way possible.


Question by:phil8258
  • 2
  • 2

Accepted Solution

kakchiquel earned 250 total points
ID: 24079844
You need to have Windows allow DNS replication to the Linux box. Right click on the zone, and go to Name Servers and add the Linux DNS IP address on there.

Now on the Linux you have to have your named.conf configured to allow the zone to be created. The following entry would go in your named.conf file (obviously suited to your dns name)

zone "" IN {
      type slave;
      allow-query { any; };
      file "slaves/";                  (i personally have a /slave file for all zones)
      masters { X.X.X.X; };                                  (X.X>X.X is your windows current master)

Author Comment

ID: 24080871

Thanks for the comment. Following your first point (add the linux DNS IP address to the zone), I don't think i've made my question completely clear... I want to get rid of the windows server currently running DNS, and move that function to the linux server.

I'll try adding to named.conf and see what happens.



Expert Comment

ID: 24081127
Ok, the tip i gave is to allow replication to Bind on the Linux machine. This would get any zones transfered to the Linux machine then you could remove DNS services from the Windows server. Once it replicates you would just change "type master;" and remove the last line unless you have any secondary DNS servers.

Author Comment

ID: 24237557
Sorry i've been a while to come back to this...

I've modified the file /etc/named.caching-nameserver.conf and it looks like the code attachment. (where is the domain and is the windows server running DNS)

From what I understand, if I point the router to forward port 53 to the new server, it will lookup from the old windows master. Therafter once it has recorded the details from the master I can change the type of this one to master and get rid of the windows dns server.

Should it just work?? So far it has not. Do I need to manually create a file in the /var/named/slaves directory - and if so, what am I supposed to put in it?
Was restarting the service with /etc/init.d/named restart sufficient?



// named.caching-nameserver.conf
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver 
// (as a localhost DNS resolver only). 
// See /usr/share/doc/bind*/sample/ for example named configuration files.
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on 
// caching-nameserver package upgrade.
options {
        listen-on port 53 {; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;     
        // query-source-v6 port 53;
        allow-query     { localhost; };
        forward first;
        forwarders {;;; };
logging {
        channel default_debug {
                file "data/";
                severity dynamic;
view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
zone "." IN {
        type hint;
        file "";
zone "" IN {
        type slave;
        file "slaves/";
        allow-update { none; };
        allow-query { any; }; 
        masters {; };

Open in new window


Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Intel fortran compiler (ifort) 5 38
How to change the nameserver on Ubuntu Server 6 50
Reverse DND setup 6 38
Unix Help with:  mailx -s 17 25
Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question