Hi guys, I've been struggling a while to get my setup working as i like... In the old setup i had 2 webservers with ISPConfig installed on it. Server 2 was the slave DNS for server 1 and viceversa. This was getting a bit out of hand so i needed a new solution. I've got two servers (vmware instances) with a new linux installation and only bind installed on the two of them. Below is a plan that i've used for this solution to work. Hopefully it can do good for you too. If you see anything that's off or that could be done better, please respond! I'm always in for a bit finetuning. Oh yeah, i've used public key authentication for the scp to work... 1. Copy all of the zone files to the primairy DNS Code: Webserver 1: scp /etc/bind/pri.* [email protected]:/home/dns/zones Webserver 2: scp /etc/bind/pri.* [email protected]:/home/dns/zones 2. Import zone files in master dns server and copy the zonelist to the slave server. Add the following line to named.conf to make bind look into the zones.conf file: Code: Include /etc/bind/zones.conf Code: #/bin/bash mv /home/dns/zones/pri.* /etc/bind/ rm /home/dns/zonelist echo > /etc/bind/zones.conf for a in $(ls /etc/bind/pri.*); do echo ${a#/etc/bind/pri.} >> zonelist; done for i in `cat /home/dns/zonelist`; do echo "zone \"$i\" {" >> /etc/bind/zones.conf echo " type master;" >> /etc/bind/zones.conf echo " file \"/etc/bind/pri.$i\";" >> /etc/bind/zones.conf echo "};" >> /etc/bind/zones.conf echo >> /etc/bind/zones.conf done /etc/init.d/bind9 force-reload > /dev/null scp /home/dns/zonelist [email protected]:/home/dns/ 3. Import the slave zones on the slave DNS server. add the following line in named.conf to tell bind. Code: Include /etc/bind/slave-zones.conf Code: echo > /etc/bind/slave-zones.conf for i in `cat /home/dns/zonelist`; do echo "zone \"$i\" {" >> /etc/bind/slave-zones.conf echo " type slave;" >> /etc/bind/slave-zones.conf echo " file \"slave.$i\";" >> /etc/bind/slave-zones.conf echo " masters { 11.22.33.44; };" >> /etc/bind/slave-zones.conf echo " notify no;" >> /etc/bind/slave-zones.conf echo "};" >> /etc/bind/slave-zones.conf echo >> /etc/bind/slave-zones.conf done /etc/init.d/bind9 force-reload > /dev/null rm /home/dns/zonelist You can alltime this with cronjobs hopefully it will do good Ok guys, i've been testing a bit and this here isn't working quite yet... I'm having troubles with inserting the zones into the master DNS... I will adjust the code when it does work. If anyone of you got it right, please post it! *update* I've got it working! above is how i've done it.
Looks good. Only change I'd make is to not delete the files before re-creating them, but instead make a backup of 'em all into a tar file that is time/date stamped, so should something Go Wrong you can always recover. Maybe back up the actual zone files as well at the same time...