Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a master slave DNS server setup with bind. The secondary DNS server is working correctly and resolves any queries sent to it.

However, when the primary DNS is down, it seems that the secondary DNS also goes down (Using pingdom to monitor both servers). This is something I don't want to happen, I want the secondary to continue to resolve queries until the master is back up.

I think I am missing a configuration setting of some sort, but my google searches haven't turned up what that is yet. Any help would be appreciated.

Slave Config

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        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";
        allow-query     { any; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;

zone "." IN {
        type hint;
        file "named.ca";

include "/etc/named.rfc1912.zones";

In named.rfc1912.zones

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };

zone "" IN {
        type master;
        file "named.loopback";
        allow-update { none; };

zone "" IN {
        type master;
        file "named.loopback";
        allow-update { none; };

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };

zone "0.168.192.in-addr.arpa" IN {
        type slave;
        file "/var/named/slaves/0.168.192.rev";
        // allow-update { none; };
        allow-transfer {; };
        masters {; };
include "/var/named/slavezones.conf"; is replaced with the master servers actual IP.

I wonder though. The slavezones file is copied from the master (With changes to allow it to run on the slave) on an interval and then the slave is reloaded (/etc/init.d/named reload) to update the config with new zones. Could the reload cause a problem with handling failover?

share|improve this question
Please provide more informations, like configuration. –  Thomas Berger Aug 21 '11 at 20:00
Do you have a glue record for the slave? –  John Gardeniers Aug 21 '11 at 21:57
I will add the configuration of the slave shortly. Both servers have a glue record. –  datasage Aug 21 '11 at 23:17
Please specify what you mean with "secondary DNS also goes down". Does it stop listening to port 53? Does it give wrong answers when you query with dig... or what? Are you sure the external connection to the secondary does not go through the primary box? –  snap Aug 21 '11 at 23:49
I don't see there any slave configuration in the slave part? What do you want to archive with this slave as you dont't have any master zone? –  Thomas Berger Aug 21 '11 at 23:59
show 1 more comment

1 Answer

DNS has no concept of "failover"; it is redundant by design.

If you have two authoritative nameservers for zone X, then both nameservers are independently responsible for providing name resolution for zone X.

For this to happen, both nameservers must have NS records for zone X in the global namespace.

That said, it is hard to see why you have slave zones at all, since there is nothing in your post to indicate that anything is being slaved.

Also consider that public authoritative nameservers should never allow recursion.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.