Master and Slave DNS zone update BIND9
Ако ви се налага да направите нов secondary dns сървърили просто да ъпдейтвате с нови зони съществуващ такъв , новите зони се налага да ги описвате на ръка . Ето едно решение за динамичен ъпдейт (не DDNS) на конфига на secondary (slave) dns сървъра, което копира конфигурационня файл на primary сървъра и след това прейменува зоните на slave.
Ще трябва да си направите и ключ за ssh за да може скрипта да влиза без парола , ще пиша и за това , но в друга статия.
master dns : 192.168.0.1
slave dns : 192.168.0.2
И самия скрипт (нищо сложно) :
#!/bin/sh
# Script to copy slave dns zones from master dns
# release 1.0
# b2 (at) playtime.bg
# first we need master dns zone config local to make changes on it
# this is how we do it
scp user@192.168.0.1:/etc/namedb/named.conf /root/work/named_master.conf
# now we need to change some things in the config and save it as slave
for domain in `grep ^zone /root/work/named_master.conf |awk ‘{print $2}’ |sed ’s/\(.*\)./\1/’ |sed ’s/.\(.*\)/\1/’`
do
/usr/bin/printf “
zone \“$domain\“ {
type slave;
file \“/etc/bind/slaves/$domain\“;
masters { 192.168.0.1; };
};\n“
done > /root/work/slavefile.conf
# now it is time to (smoke some weed and) move it on /etc/bind && reload our server
cp slavefile.conf /etc/bind/named.conf.local && /etc/init.d/bind9 reload
# let’s do some checks to be sure bind daemon is up & running
bind_status=`/etc/init.d/bind9 status`
status_ok=“bind9 is running.“
if [ "$bind_status" = "$status_ok" ];
then
# all done – mail admins and go to sleep ![]()
echo „MASTER/SLAVE ZONES SYNCRONIZATION COMPLETED – YOU CAN GET DRUNK NOW !“ |mail -s „ZONES SYNCRONIZATION COMPLETED“ admin ( at ) playtime.bg
else
# fuck , something wrong here !
echo „SLAVE DNS SERVER NOT RUNNING ALTER SYNCRONIZATION – DO SOMETHING NOW !“ |mail -s „SLAVE DNS DOWN AFTER SYNCRONIZATION“ admin ( at ) playtime.bg
fi
exit 0
също и в crontab-а на root вмъкнете :
0 4 * * * /path/to/script
всеки ден в 4 часът през нощта скрипта ще се изпълнява.
Това е !
Mnogo dobro!!!!
Bravo, vurshi chudesna rabota!