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!
Kommentare
Orhan (nicht überprüft)
25. November 2014 - 21:59
Permalink
Startscript modifizieren
Hallo David,
immer wenn dich versuche den Startscript zu Modifizieren (siehe unten)
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
bekomme ich immer die Folgende Fehlermeldung
-bash bind9custom: Keine Berechtigung
was mache ich bloß nur falsch
Gruß
Orhan
DH
25. November 2014 - 22:05
Permalink
sudo oder root
Was sich nur aus dem Screenshot ergibt, den du mir gemailt hast. Du musst entweder root sein oder mit sudo arbeiten. Viel Erfolg!
Orhan (nicht überprüft)
25. November 2014 - 22:21
Permalink
Super..mit sudo -s hat es
Super..mit sudo -s hat es geklappt...
danke dir für die tolle Hilfestellung :))
Thomas Drebert (nicht überprüft)
5. August 2015 - 1:08
Permalink
Bind9 Update über Webmin.
Hallo,
ich hatte über das Webmin das Upgrade gestartet, Webmin benutzte daraufhin den Befehl apt-get -y install bind9 und beendete dies mit einen Fehler. Seit dem habe ich bei jeden Upgrade diesen Fehler. Kann man den wieder beseitigen?
Das bind9custom funktioniert weiterhin.
Fehlermeldung beim Upgrade:
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up bind9 (1:9.8.4.dfsg.P1-6+nmu2+deb7u6) ...
invoke-rc.d: unknown initscript, /etc/init.d/bind9 not found.
dpkg: error processing bind9 (--configure):
subprocess installed post-installation script returned
error exit status
100
Errors were encountered while processing:
bind9
E: Sub-process /usr/bin/dpkg returned an error code (1)
Und kann man Webmin bei bringen apt-get update und apt-get upgrade zu benutzen?
Schöne Grüße
Thomas