Bind testen und in Betrieb nehmen
Bevor unser DNS-Server den Betrieb aufnehmen kann, müssen wir sicherstellen, daß nicht versehentlich die falsche Version aufgerufen wird. Dazu ergänzen wir die globale Pfad-Umgebungsvariable in der Datei /etc/profile
:
cp /etc/profile /etc/profile.bak
sed 's#^\(export PATH\)$#PATH="/usr/local/bind9/sbin:/usr/local/bind9/bin:$PATH"\n\1#'\
/etc/profile > /tmp/profile.tmp
mv -f /tmp/profile.tmp /etc/profile
Startskript modifizieren
Die Pfade im Debian-Bind-Init-Script sind hartkodiert und zeigen auf die „offizielle“ Version. Wir klonen das Script deshalb – direkt mit mit ein paar kleinen Änderungen – in eine neue Datei:
cd /etc/init.d
sed 's#/usr/sbin#/usr/local/bind9/sbin#g' bind9\
| sed 's#^PATH=#PATH=/usr/local/bind9/sbin:/usr/local/bind9/bin:#'\
| sed -r 's~^(test -f /etc/default/bind9)~#\1~'\
| sed 's#/etc/init.d/bind9#/etc/init.d/bind9custom#g'\
| sed 's#/var/run/named/#/usr/local/bind9/var/run/named/#g' \
- > bind9custom
chmod a+x bind9custom
Konfigurationsdateien übernehmen
Bei unserer manuellen Bind-Installation wurden keine Konfigurationsdateien erstellt. Wir kopieren deshalb einfach die der vorherigen Installation und machen sie für den Benutzer root
und die Gruppe bind
lesbar. Der symbolische Link auf /usr
erleichtert uns dabei die Anpassung der Pfade aus den existierenden Skripten:
cp -u /etc/bind/* /usr/local/bind9/etc
chown -R root:bind /usr/local/bind9/etc
ln -s /usr/local/bind9 /usr/local/bind9/usr
AppArmor anpassen
Unser neuer Bind-Server muss jetzt noch in die Anwendungssicherheitskonfiguration integriert werden. Auch hier können wir auf die schon existierende alte Version zurückgreifen:
cd /etc/apparmor.d
sed 's#/etc/bind/\*\*#/usr/local/bind9/etc/**#g' usr.sbin.named \
| sed 's#/usr/sbin/named#/usr/local/bind9/usr/sbin/named#g' \
| sed 's#/{,var/}run/named/#/usr/local/bind9/{,var/}run/named/#g' \
- > usr.local.bind9.sbin.named
Debian-Bind deaktivieren
Die nicht mehr benötigte Version stoppen und deaktivieren wir jetzt, um Konflikte zu vermeiden. Das alte Init-Script archivieren wir im Home-Verzeichnis als bind9.bak
um. Danach aktivieren wir die neue Version und starten den Pi neu:
service bind9 stop
update-rc.d -f bind9 remove
mv /etc/init.d/bind9 ~/bind9.bak
update-rc.d bind9custom defaults
reboot
Neue Konfiguration prüfen
Nach dem Neustart können wir prüfen, ob alles nach Wunsch funktioniert und jetzt der „richtige“ Bind in Betrieb ist:
which named; named -V; service bind9custom status
Das sollte in etwa folgende Ausgabe erzeugen:
Webmin anpassen
Um Bind auch mit Webmin administrieren zu können, öffnen wir das entsprechende Modul unter Server > BIND DNS Server:
In der Modulkonfiguration passen wir die Pfade entsprechend unser neuen Konfiguration an:
Abschließend bitte das Speichern nicht vergessen!