20.3 djbdns
Das djbdns-Paket besteht aus mehreren DNS-Servern, die jeweils einen eigenen Aufgabenbereich betreuen.
Zu diesen Servern zählen:
- dnscache
ein Caching DNS Resolver (den wir im folgenden Abschnitt beschreiben werden) - tinydns
ein kleiner DNS-Server - pickdns
ein DNS-Server mit Load Balancing - walldns
ein Reverse-Lookup-Server, der nur IP-Adressen in Domains übersetzt - axfrdns
ein Server für Zone-Transfers
Außerdem beinhaltet djbdns noch DNS-Clients sowie diverse kleinere Tools zum Auffinden von Konfigurationsproblemen.
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.
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 stattdessen den Caching-Server. Dieser kennt keine eigenen 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.
Listing 20.9 dnscache konfigurieren
# dnscache-conf dnscache dnslog /etc/dnscache
Für die Daemontools 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:
Listing 20.10 Prüfen, ob dnscache läuft
# svstat /service/dnscache
/service/dnscache: up (pid 23196) 24 seconds
Das Funktionieren lässt sich mit dem Programm nslookup überprüfen, das wir in Abschnitt nslookup noch beschreiben werden.
Listing 20.11 Prüfen, ob der lokale Caching-Server arbeitet
$ 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
Zudem sollten Sie bei allen Clients, die den Caching-Server benutzen sollen, konfigurierte IP-Adressen des DNS-Servers entsprechend auf jene des Caching-Servers abändern (unter Linux in /etc/resolv.conf).
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.