Hallo,
ich nutze für mein KeyHelp auch einen Raspi in einem anderen Rechenzentrum als Slave DNS.
Den Allow-Transfer habe ich nicht in die einzelnen Domainzonen geschrieben sondern global in die named.conf.options (alternativ wäre auch die named.conf.local denkbar).
So kann sich der Slave-DNS dann alle Zonen holen und es muss nicht für jede Domain einzeln konfiguriert werden. Damit der Slave-DNS auch neu angelegte Domains kennt habe ich mir ein kleines Script geschrieben, welches alle 3 Stunden auf dem Slave ausgeführt wird.
Im Beispiel ist der Master 1.2.3.4 und der Slave 3.4.5.6, die Server selbst haben sich gegenseitig in der authorized_keys von root
Code: Select all
root@slave:/usr/local/sbin# cat slavedns-get-zonefiles
#!/bin/bash
## Manuell anzulegen:
# mkdir /etc/bind/keyhelp_domains/
# chown bind:bind /etc/bind/keyhelp_domains
#
## bind9 auf Master
# nano /etc/bind/named.conf.options
# // Erlaube Zonentransfer für Slave
# allow-transfer { 3.4.5.6; };
# transfers-out 100;
## bind auf Slave
# nano /etc/bind/named.conf.local
# // Include der Zonen
# include "/etc/bind/named.conf.slave";
## Apparmor
# nano /etc/apparmor.d/usr.sbin.named
# Einfügen unter "/var/cache/bind/ rw,
# ## Schreibzugriff zu /etc/bind/keyhelp_domains
## /etc/bind/keyhelp_domains/** rw,
## /etc/bind/keyhelp_domains/ rw,
## Speichern in cron.hourly (oder per Cronjob aufrufen)
MASTER=1.2.3.4
MASTERCONFIG=/etc/bind/named.conf.keyhelp
SLAVECONFIG=/etc/bind/named.conf.slave
scp root@$MASTER:$MASTERCONFIG $SLAVECONFIG
sed -i 's/master;/slave;\n masters { 1.2.3.4; };/g' $SLAVECONFIG
systemctl reload bind9