Aus LinuxUser 05/2002

pdnsd als lokaler Nameserver

Wer kennt die Namen?

Viele kleine Netzwerke verwenden zur Namensauflösung die hosts-Tabelle. Dabei hat der Einsatz eines Nameservers viele Vorteile und muss gar nicht kompliziert sein.

Um die in Netzwerken allerorten verwendeten Hostnamen in die zur Adressierung benötigten IP-Adressen aufzulösen, kommt bereits seit über zehn Jahren ein standardisierter Verzeichnis-Dienst zum Einsatz: der „Domain Name Service“ (DNS, [1]).

DNS-Grundlagen

Die Hauptaufgabe von Domain-Nameservern besteht im Auflösen von Namen und IP-Adressen sowie in der Delegation des Mailverkehrs. Dazu arbeiten sie mit sogenannten Records, speziell formatierten DNS-Einträgen.

Ein A Type Record (kurz: A Record; bei IPv6 spielt der AAA Record dieselbe Rolle) enthält die Information, welcher Hostname auf welche IP-Adressen definiert ist, während ein MX Type Record einen „Mail Exchanger“, also den für eine Domain zuständigen Mail-Server festlegt.

Ebenfalls wichtig sind die PTR Records. Diese werden für sogenannte Reverse Lookups ausgewertet, bei denen der Nameserver nach einer IP-Adresse gefragt wird und den zugehörigen Hostnamen zurück liefert.

Jeder Record enthält eine TTL („time to live“, Lebensdauer). Diese definiert, wie lange die entsprechende Information zwischengespeichert werden darf, nachdem die Anfrage einmal vom zuständigen Nameserver beantwortet wurde (Authorative Answer).

Langer Rede, kurzer Sinn: Über das DNS-System kann man vielfältige Informationen verbreiten. Provider tun das für ihre Kunden und setzen dabei meist die Software bind[2] ein, die sehr viel kann, aber alles andere als einfach zu konfigurieren ist, weshalb viele Admins kleinerer Netzwerke lieber auf einen zentralen Nameserver für ihr Netz verzichten. Stattdessen bringen sie einen Teil der Informationen, nämlich die Zuordnung von Hostnamen zu IP-Adressen, in Dateien mit dem Namen hosts (unter Linux /etc/hosts) unter, die dann aber immer auf allen Rechnern des Netzwerks aktuell gehalten werden müssen.

Vorteile von pdnsd

Ein mühseliges Geschäft der Turnschuhadministration, sodass sich die Frage stellt: Gibt es nicht eine Nameserver-Software, die einfacher zu konfigurieren ist? Die Antwort heißt pdnsd[3]. Damit hält man die Adressen-Hostnamen-Zuordnung für das gesamte LAN an zentraler Stelle auf einem lokalen Nameserver vor.

Aber auch, wer öfter mit einem Notebook ohne Netzwerkanbindung unterwegs ist, profitiert von pdnsd, der viele Nameservice-Informationen in einem Cache lokal zwischenspeichert. So können DNS-Abfragen von Programmen auch offline beantwortet werden, was oft deren Startzeit verkürzt.

Ob Sie pdnsd selbst kompilieren oder als Binär-Paket (erhältlich für Debian und Red Hat) mit dem Paketmanager dpkg oder rpm einspielen, bleibt Ihnen überlassen. Wenn Sie die Heft-CD unter /mnt/cdrom ins lokale Dateisystem einbinden, entpackt der folgende Befehl das Quelltextarchiv im aktuellen Verzeichnis:

tar xjf /mnt/cdrom/LinuxUser/pdnsd/pdnsd-1.1.7.tar.bz2

Wechseln Sie nun mit cd pdnsd-1.1.7 ins neu angelegte Quell-Verzeichnis. Mit

./configure && make

passen Sie den Quelltext an das lokale System an und kompilieren die Software.

Ein make check ohne Fehlermeldung zeigt, dass der Kompiliervorgang erfolgreich war. Zur Installation beschaffen Sie sich nun mit su und Ihrem root-Passwort Schreibrechte für die Ziel-Verzeichnisse. Wechseln Sie ins Quell-Unterverzeichnis src/rc, und folgen Sie den Anweisungen im README. SuSE-, Red-Hat und Debian-Nutzer haben es noch einfacher: Sie wechseln einfach ins passende Sub-Directory (für SuSE nach src/rc/SuSE) und geben make install ein.

Listing 1

/etc/pdnsd.conf

01  global {
02        perm_cache=512;
03        cache_dir="/var/cache/pdnsd";
04        max_ttl=604800;
05        run_as="nobody";
06        verbosity=3;
07 }
08
09 server {
11        ip="194.162.162.194";
12        timeout=30;
13        interval=onquery;
14        uptest=if;
15 }
16
17 rr {
18        ttl=86400;
19        owner="killesberg.org.";
20        name="killesberg.org.";
21        a="192.168.0.10";
22        soa="killesberg.org.","root.killesberg.org.",42,86400,900,86400,86400;
23 }
24
25 rr {
26        ttl=86400;
27        owner="killesberg.org.";
28        name="10.0.168.192.in-addr.arpa.";
29        ptr="killesberg.org.";
30        soa="killesberg.org.","root.killesberg.org.",42,86400,900,86400,86400;
31
32 }
34
35 source {
37        ttl=86400;
38        owner="killesberg.org.";
39        file="/etc/hosts"; // Position der zu verwendenden Hosts-Tabelle
40 }
LinuxUser 05/2002 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: