We have two DNS servers that are restarted frequently to update ACL lists. The two servers are independent, and we have the second DNS server set to update its ACL lists 5 seconds after the first one restarts. These servers are setup completely independent and we have them using the same data without issues. This is most definitely not the way to do things, but having two independent DNS Servers with the same settings/records seems to work fine. With the 5 seconds delay, we never see any outages. I included my reboot script below for an opinion as well - I fold all the TCP packets while it restarts... but with a second DNS server, do I need to even do this?
I am wondering if it would perform better if we made the second DNS server a slave and have it take its settings from the Master.
#!/bin/sh
/sbin/iptables -I INPUT -p tcp --dport 53 --syn -j DROP
/bin/sleep 1
# gracefully restart haproxy
/usr/sbin/service bind9 restart
# allow new requests to come in again
/sbin/iptables -D INPUT -p tcp --dport 53 --syn -j DROP
Just do a
rndc reload
after you update your configuration, and you will don't need anything : Bind will not kill its caches