On this third and final blog post regarding my new BIND DNS setup, I’ll be describing how I do the maintenance to my two local master and slave DNS servers. It’s nothing really ingenious. For the host OS and package updates, I use yum-cron to send me any update notifications, and to keep track of the changes that I’m making to my local zones files, I use git.
The CHECK_ONLY and MAILTO options were updated in /etc/sysconfig/yum-cron on both master and slave servers :
CHECK_ONLY=yes
MAILTO=youremailaddress.com
With git, on the master server along with the master branch, I created separate branch called “staging” in the location where my config and zone files are located (/var/named/chroot/etc) in.
cd /var/named/chroot/etc
git init
git checkout -b staging
With the staging branch set in place, all changes and commits are done trough the staging branch, and once I see my updates don’t kill BIND, I merge the changes to the master branch.
Optional: Since I’m lazy, I’ve set aliases to simplify reloading and checking the status of BIND
alias dstat='rndc -p 955 status'
alias dreload='rndc -p 955 reload'
Conclusion: After couple of hours of my time and a couple of frustrations later, I thoroughly understand how to manage and administer a BIND DNS server.