Proper way to setup DNS cluster
I want to learn more about how DNS works so I'm setting up my own DNS cluster of two servers to serve my website on a third server.
1.Type of software
Which dns software should I choose? I'd like to hear hands on experience opinion, BIND, djndns, NSD, powerDNS and most importantly why?
2.Authoritative vs Recursive?
Which one to server me better? I still don't quite understand the difference between these two.
So how should I go about it? I don't want complete solutions such as automated scripts or complete solutions such as cPanel DNSonly, I want to learn so I need to setup master and slave manually. So as I see it, my website server (18.104.22.168) has many domains hosted on it and I want to set up two different nameservers to server my website. One DNS server is master (22.214.171.124) and another one is a slave (126.96.36.199). Each time a query is made, the DNS server looks it up on the master, a slave is only a copy.
Every guide I've read so far is confusing, I don't know how to set them up properly. Is anyone willing to go help me with this one? I was thinking of either OpenBSD or CentOS for server software.