Installation
Unter Ubuntu installieren wir zunächst die Pakete bind9 und dnsutils.
sudo apt-get install bind9 dnsutils
Konfiguration
Die Konfiguration des Nameservers findet größtenteils im Verzeichnis /etc/bind statt.
Um Anfragen bearbeiten zu können müssen wir dem DNS Server die sogenannten Root Server hinterlegen.
Kann der DNS eine Anfrage nicht bearbeiten, leitet er diese an die weltweit verteilten Root Server weiter und speichert sich das Ergebnis im Cache.
Root Server aktualisieren
Zuerst aktualisieren wir die Datenbank mit den Root servern.
sudo dig @A.ROOT-SERVERS.NET > /etc/bind/db.root
Root Zone hinzufügen
Nun wird die Zone in der Datei /etc/bind/named.conf.local hinterlegt.
sudo nano /etc/bind/named.conf.local
zone "." {
type hint;
file "/etc/bind/db.root";
};
Aktualisierung per Cronjob
Die Root Server Adressen ändern sich von Zeit zu Zeit. Daher empfiehlt es sich eine Aktualisierung der Datenbank per Cronjob vorzunehmen.
Hierzu erstellen wir ein kleines Skript welches automatisch jede Woche ausgeführt wird.
sudo nano /etc/cron.weekly/bind-root-update.sh
#! /bin/bash
#
# Aktualisierung der db.root
#
# Aktuelle Liste generieren
dig @A.ROOT-SERVERS.NET > /etc/bind/db.root
# Konfiguration Laden
/usr/sbin/service bind9 reload
Anschließend wird das Skript noch ausführbar gemacht.
sudo chmod +x /etc/cron.weekly/bind-root-update.sh
Abschluss
Zum Abschluss starten wir den Bind Nameserver einmal neu.
sudo service bind9 restart
Damit der Nameserver unter Ubuntu auch nach einem Neustart aktiv ist, fügen wir diesen in den Autostart hinzu.
sudo update-rc.d bind9 defaults
Fazit
Die Konfiguration eines Bind9 Nameservers als DNS Cache ist im Vergleich zur Konfiguration mit eigenen Zonen für das interne Netzwerk sehr einfach.
Einen Geschwindigkeitsvorteil besitzt man allerdings erst nach einiger Zeit, da sich der Cache erst füllen muss.
Leave a comment