Link to home
Start Free TrialLog in
Avatar of jasonsfa98
jasonsfa98

asked on

How to setup internal DNS failover with BIND 9?

I have 2 low-power appliance servers running Ubuntu for DHCP and DNS services for my internal network. I've always had 2 in case of failure but today I decided to test the setup and it failed. All my clients are given two DNS server IPs when they grab an address via DHCP. Both of these servers are identical with the exception of one is a master for internal DNS names and the other holds slave records. All the master/slave functions are working just fine. There is no Active Directory here, FYI.

What I want to see happen si that when one of these servers drops offline, I want my clients to be able to resolve both internal and external DNS. As of right now that works just fine with the "master" because I have forwarders setup with my ISP. However, if I bring it down my clients cannot resolve internal or external names.
named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the 
// structure of BIND configuration files in Debian, *BEFORE* you customize 
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
 
include "/etc/bind/named.conf.options";
 
// prime the server with knowledge of the root servers
zone "." {
	type hint;
	file "/etc/bind/db.root";
};
 
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
 
zone "localhost" {
	type master;
	file "/etc/bind/db.local";
};
 
zone "127.in-addr.arpa" {
	type master;
	file "/etc/bind/db.127";
};
 
zone "0.in-addr.arpa" {
	type master;
	file "/etc/bind/db.0";
};
 
zone "255.in-addr.arpa" {
	type master;
	file "/etc/bind/db.255";
};
 
include "/etc/bind/named.conf.local";
key rndc-key {
	algorithm hmac-md5;
	secret "xxxxxxxxxxxxx";
	};
controls {
	inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
	};
 
 
 
named.conf.options
options {
	directory "/var/cache/bind";
 
	// If there is a firewall between you and nameservers you want
	// to talk to, you might need to uncomment the query-source
	// directive below.  Previous versions of BIND always asked
	// questions using port 53, but BIND 8.1 and later use an unprivileged
	// port by default.
 
	// query-source address * port 53;
 
	// If your ISP provided one or more IP addresses for stable 
	// nameservers, you probably want to use them as forwarders.  
	// Uncomment the following block, and insert the addresses replacing 
	// the all-0's placeholder.
 
	// forwarders {
	// 	0.0.0.0;
	// };
 
	auth-nxdomain no;    # conform to RFC1035
	forwarders {
		207.207.0.3;
		206.127.0.3;
		};
	notify yes;
	allow-query {
		key intview; localhost; 172.16.0.0/16;
		};
	allow-recursion {
		172.16.0.0/16;
		};
 
};

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Point-In-Cyberspace
Point-In-Cyberspace
Flag of Italy image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jasonsfa98
jasonsfa98

ASKER

Used nslookup to diagnose second DNS server and it failed. Looked closer and found that there was no default gateway setup.

Wow.

Thanks for showing me the path ...
Sometimes an exact fix isn't needed, just a path to follow ...
You're welcome. Btw you are right about the path to follow.


Redundant DNS and redundant DHCP .... awesome!