Wer kennt die Namen?
pdnsd als lokaler Nameserver
Konfiguration
Damit pdnsd funktionieren kann, gilt es, ihn in der Datei /etc/pdnsd.conf mit den nötigen Konfigurationsangaben zu versorgen (Listing 1). Die erste Sektion global beschreibt allgemeine Server-Einstellungen wie Cache-Größe und Cache-Verzeichnis: perm_cache setzt den Platz für die Zwischenlagerung von DNS-Informationen auf 512 kB. cache_dir legt das Verzeichnis fest, in dem diese Daten abgelegt werden. max_ttl definiert die maximale "Haltbarkeit" eines Cache-Eintrags in Sekunden. run_as gibt den Namen des Benutzers an, mit dessen Rechten pdnsd laufen soll. Die Option verbosity schließlich wird vor allem zur Fehlersuche benötigt: Bei einem Wert von 3 protokolliert Syslog sehr viele Daten, bei 0 nur sehr wenige.
In server-Abschnitte wie in Zeile 9 trägt man Nameserver ein, die abgefragt werden sollen, wenn der lokale Server keine Antwort auf die Anfrage kennt. Deren IP-Adressen erhalten Sie meistens von Ihrem Internet-Provider und tragen Sie als ip ein. Unter timeout legen Sie fest, wieviele Sekunden auf eine Antwort gewartet wird. interval gibt an, wie oft die Erreichbarkeit des Nameservers zu prüfen ist. Mögliche Optionen sind ein Wert in Sekunden oder onquery, also nur bei einer anliegenden Anfrage. Die interessantesten Werte für den uptest-Eintrag heißen if und ping. Ersteres empfiehlt sich für Modem- und ISDN-Einwahlen: Damit erkennt pdnsd die Erreichbarkeit des Nameserver nur am Status des Einwahl-Interfaces. Den zweiten Wert, ping, sollten alle Benutzer ohne zeitlich tarifierte Einwahl verwenden.
Die DNS-Records für die zu verwaltenden Rechner trägt man in rr-Sektionen ein. Welche Record-Typen pdnsd unterstützt, erfahren Sie mit pdnsd-ctl list-rrtypes. Ähnlich funktionieren auch die source-Abschnitte (Zeile 35). Die unter file eingetragene hosts-Datei behandelt pdnsd dann wie eine DNS-Zone: Alle Einträge aus dieser Datei werden in den Nameserver eingefügt. Von zentraler Bedeutung sowohl in rr als auch in source sind die Einträge ttl (die TTL für diese Sektion) und owner (der Name des lokalen Nameservers).
rr-Abschnitte enthalten als name zudem noch den aufzulösenden Namen. Beachten Sie dabei das besondere Format für Reverse Lookups: Notieren Sie die IP-Adresse in umgekehrter Reihenfolge, und fügen Sie .in-addr.arpa an, ein Überbleibsel vom Vorgänger des Internets. Die IP-Adresse 192.168.0.10 wird so im Reverse-Lookup-Eintrag zu 10.0.168.192.in-addr.arpa.. Hier wie auch an allen anderen Stellen müssen Sie Namenseinträge immer mit einem Punkt abschließen!
Ist die Antwort auf die Abfrage von name ein A Record, folgt jetzt die Zeile a="IP-Adresse"; (Zeile 21). Bei einem PTR Record steht stattdessen ptr="Hostname."; (Zeile 29). Jeder rr-Abschnitt enthält zudem einen SOA ("Start of Authority") Record (Zeile 22). Dieser beinhaltet einige administrative Angaben, durch Komma getrennt in folgender Reihenfolge:
- Domain-Name des Domain Name Servers.
- E-Mail-Adresse des Administrators, wobei das @ durch einen Punkt substituiert wird.
- Seriennummer der Zone (bei lokaler Installation beliebig).
- Refresh Timeout: Aller wieviel Sekunden soll der Cache aktualisiert werden?
- Nach wieviel Sekunden soll ein erneuter Refresh versucht werden, wenn der vorige misslang?
- Expire-Wert: Nach wieviel Sekunden erlischt ein gecachter Eintrag?
- Erneute Angabe der TTL.
Über das Startskript der jeweiligen Distribution (beim Booten) gestartet, nützt der beste Nameserver nichts, wenn er nicht gefragt wird. Daher editiert man die Datei /etc/resolv.conf der ihn nutzenden Rechner: Listing 2 verwendet den lokal gestarteten Nameserver. (Für weitere zu befragende Nameserver fügen Sie je eine Zeile nameserver IP-Adresse-des-Nameservers an.) Der Parameter search legt die Domains fest, die nach einem Computer-Namen durchsucht werden sollen, wenn kein Eintrag gefunden werden konnte.
Listing 2
/etc/resolv.conf
search killesberg.org nameserver 127.0.0.1
Glossar
IP-Adressen
Weltweit eindeutige Zahlenkombination zur Adressierung von Netzwerkkomponenten im Internet (siehe auch [4]). Die Abkürzung IP steht für "Internet Protocol". Es wird heute zumeist in der klassischen Version 4 eingesetzt, in Zukunft wird IPv6 für einen größeren, zur Verteilung bereitstehenden Adressbereich sorgen.
Nur der für die angefragte Domain zuständige Nameserver liefert sogenannte authorisierte Antworten zurück. Andere Nameserver, die die Antwort unter Umständen zwischengespeichert haben, liefern Unauthorative Answers zurück. Diese können durch gezielte Angriffe teilweise gefälscht werden.
Syslog
Logging-Daemon, der System- und Kernelaktivität mitprotokolliert. pdnsd-Fehler landen normalerweise in der Datei /var/log/messages.
Infos
[1] RFC 1035: http://www.ietf.org/rfc/rfc1035.txt
[2] ISC BIND: http://www.isc.org/products/BIND/
[3] PDNSD-Homepage: http://home.t-online.de/home/Moestl/
[4] Frederik Bijlsma: "Vernetzte Welt", LinuxUser 03/2002, S. 24 ff., http://www.linux-user.de/ausgabe/2002/03/024-netzwerk/grundlagen-5.html



