20.3 djbdns 

Das djbdns-Paket besteht aus mehreren DNS-Servern, die jeweils einen eigenen Aufgabenbereich erledigen.
Zu diesen Servern zählen:
- dnscache
ein Caching DNS Resolver (den wir im folgenden Abschnitt beschreiben werden)
- tinydns
ein kleiner DNS-Server
- pickdns
ein Load-Balancing-DNS-Server
- walldns
ein Reverse-Lookup-Server, der nur IP-Adressen in Domains übersetzt
- axfrdns
ein Server für Zone-Transfers
Außerdem beinhaltet djbdns noch diverse kleinere Tools zum Auffinden von Konfigurationsproblemen sowie DNS-Clients.
Zur Installation eines Servers genügt meist nicht die Installation des entsprechenden Packages oder Ports. Unter Debian müssen Sie beispielsweise erst djbdns-installer sowie daemontools-installer installieren und anschließend build-daemontools und build-djbdns aufrufen. Für die meisten Distributionen gibt es aber viele gute Anleitungen im Internet.
20.3.1 Der djbdns Caching-only-Server dnscache 

Wir werden im Folgenden einen Caching-only-Server mit dnscache aufsetzen. Das Prinzip eines Caching-Servers ist einfach zu erklären: Die DNS-Clients im lokalen Netzwerk (das sind üblicherweise alle mit dem Internet verbundenen Rechner) greifen nicht mehr direkt auf den DNS-Server eines Providers oder auf einen anderen Nameserver zu, sondern verwenden als DNS-Server den Caching-Server. Dieser kennt keine eigenen DNS-Records und leitet die Anfragen der Clients nur an die eigentlichen DNS-Server weiter. Die erhaltenen Antworten »merkt« er sich allerdings für eine gewisse Zeit. Greifen DNS-Clients nun auf bereits erhaltene Antworten zu, so muss der Caching-Server keine neue Anfrage an den zugehörigen Nameserver stellen, sondern kann die gespeicherte Antwort an den Client weiterleiten. Wozu das gut ist? Es erhöht die Performance! Einen solchen Server setzt man sehr häufig sowohl in privaten als auch in Unternehmensnetzwerken ein.
dnscache-conf
Die Konfiguration von dnscache erfolgt mithilfe von dnscache-conf. Dem Programm gibt man in dieser Reihenfolge folgende Informationen: den Accountnamen, unter dem dnscache laufen soll, den Eigentümer der Logging-Informationen, das Verzeichnis, in dem dnscache arbeiten soll, sowie (optional) die IP-Adresse, auf der der Dienst (auf Port 53 UDP und TCP) Verbindungen entgegennimmt.
Unter Debian (und den meisten anderen Distributionen und Derivaten) werden für die djbdns-Dienste automatisch entsprechende Benutzer (hier dnscache und dnslog) angelegt.
# dnscache-conf dnscache dnslog /etc/dnscache
Listing 20.9 dnscache konfigurieren
Für die Dämontools muss nun im Verzeichnis /service ein Link zu /etc/dnscache erstellt werden, damit dnscache gestartet wird.
Ob der Service läuft, erfährt man durch ein svstat:
# svstat /service/dnscache /service/dnscache: up (pid 23196) 24 seconds
Listing 20.10 Prüfen, ob dnscache läuft
Die Funktionalität lässt sich mit dem Programm nslookup feststellen, das wir in Abschnitt 20.4.2 noch beschreiben werden.
$ nslookup > server 127.0.0.1 Default server: 127.0.0.1 Address: 127.0.0.1#53 > google.de Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: google.de Address: 66.249.93.104 Name: google.de Address: 216.239.59.104 Name: google.de Address: 72.14.221.104 > exit
Listing 20.11 Prüfen, ob der lokale Caching-Server arbeitet
Zudem sollten Sie bei allen Clients, die den Caching-Server benutzen sollen, die Konfiguration des DNS-Servers entsprechend auf die IP-Adresse des Caching-Servers abändern (unter Linux in /etc/resolv.conf).