DNS Master/Slave Advice

I currently have two servers, at two different data centers, each with different sites on them. I want to eventually get setup so that both have copies of the DNS zones and later on (if/when I decide to buy Pro) setup both to act a backup MX servers to each other.

Would it be better to just setup both servers as a slave to each other (i.e. use Webmin Servers Index > Register and then BIND DNS Server > Cluster Slave Servers on both, so that there is a mix of Master and Slave zones on both severs) or would it be better (or even possible with Virtualmin) to dedicate them so that one the Master DNS server, with only master zones, and the other the Slave DNS server, with only slave zones?

If the former is possible and/or recommended? If so, would it be doable in GPL, or require Pro?

Yes, this is absolutely possible, as long as you don’t try to host the same master domain on both systems. And it is supported in both Virtualmin Pro and GPL (or even a mixture of them).

But is a single master to 1+ slaves recommended over a mixture (though of course the zones will not be masters on more than one server)? If so, what settings should be modified?

I believed setting “Default master server for master zones” and “Default master server(s) for slave zones” to the master and slave IPs would do the trick, but it did not work as I expected. There is no explanation for those settings in the UI like many of the other settings, and I wasn’t able to find anything relating to them in the docs.

Have two masters which are slaves for each other seems reasonable to me. Actually, in some ways it is better than having a single master and slave, as the slave system wouldn’t be well utilized in that case…

Tecnically, the idea was that the master and slave NS records be hosted in a place that is not only geographically separated from each other, but from the server hosting the actual content, be that content web, mail, ftp, whatever. The idea being that in times of disaster such as war or earthquake, at least one name server and one content host would survive.

In reality of course, the typical setup I’ve seen in your situation would be to use a master record on the box hosting the content, and a slave record on the distant machine. Your mileage may vary, and I’m sure arguments can and have been made for either approach to the issue, but in my 25+ years of experience, this is the norm that I’ve seen.

I’m new to this software, but I’ve been getting the BIND records I expected by adding the typical “A” or “cname” record for each host in the zone on the master server. Then go to the slave server, create a slave zone, enter the ip address of the master server, and click on “Apply Zone” and the records were imported. Make sure that both machines have permission to query each other. I can’t remember if I had to add the reverse pointers by hand or not, but if I did it was trivial.

mrwilder that worked for me. Thanks very much!