Creating a Slave DNS Server (BIND9) in 6 easy steps*

* aaa.bbb.ccc.ddd is the IP address of ns1.yourdomain.com.
* named on ns1.yourdomain.com is already working, and has NS records for ns1.yourdomain.com and ns2.yourdomain.com.

1. In the global options block in /var/named.conf on ns1.yourdomain.com:
Make sure

notify yes;

is present. This will tell BIND to notify the other name servers listed for each zone when there is a change.

2. In the global options block in /var/named.conf on ns2.yourdomain.com:
Make sure

notify no;

is present. This will tell BIND NOT to notify anybody if there are changes made on this server. (The whole point of this is so that we only have to make changes on ns1, right?)

3. Edit /etc/named.conf on ns2.yourdomain.com:
In the global options block:
// Allow notifies from our master DNS server (ns1.yourdomain.com)
allow-notify { aaa.bbb.ccc.ddd; };
// Disable all zone transfer requests (this is just a slave server, so we don't need to send zones to anybody from here.)
allow-transfer { "none"; };
append zones for each domain these servers are authoritative for:
zone "yourdomain.com" {
type slave;
file "/var/named/slaves/yourdomain.com";
masters { aaa.bbb.ccc.ddd; };
};
zone "yourotherdomain.com" {
type slave;
file "/var/named/slaves/yourotherdomain.com";
masters { aaa.bbb.ccc.ddd; };
};
...and so on...

4. On ns2.yourdomain.com, restart named -> it should ask ns1 for some updates…

5. On ns1.yourdomain.com, restart named -> it should fire off some updates…

6. If it’s working, on ns2.yourdomain.com, you will see in /var/log/messages:
Feb 26 11:37:34 ns2 named[8880]: received notify for zone 'yourdomain.com'
Feb 26 11:37:34 ns2 named[8880]: received notify for zone 'yourotherdomain.com'

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *