Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Caching-only-NS

[ Caching-only-NS ] Primärer-NS ] Sekundärer-NS ] Client Konfiguration ]


Die Funktion eines 'caching-only'-Nameservers besteht nur im Entgegennehmen und Durchführen von Abfragen, Zwischenspeichern der Antworten und Zurückgeben der Ergebnisse. Ein 'caching-only'-Nameservers verfügt nicht über Domänen-Autorität, d.h., Zonen-Daten werden nicht lokal gespeichert. Für Systeme ohne permanente Netz-Anbindung an das Internet ist oft ein Primärer- oder auch Sekundärer-Nameserver viel zu überdimensioniert. Beim Einsatz in kleineren Firmen oder im privaten Umfeld mit 'Dial-on-Demand'-Internet-Anbindungen ist dieses auch nicht grundlegend notwendig. Auch ist die Installation eines 'caching-only'-Nameservers erheblich schneller zu realisieren und einfacher zu administrieren.

Im Verlauf dieser Seite wird der Betrieb eines 'caching-only'-Nameserver mit 'BIND 8/9' vorgestellt.

Installation/Konfiguration

Zunächst ist das Programmpaket: 'bind9' zu installieren, welches unter Debian am einfachsten mittels 'apt-get install bind9' zu realisieren ist. BIND9 beinhaltet denn eigentlichen Nameserver: '/usr/sbin/named'. Weiterhin kann das Paket: 'bind-doc', welches die Dokumentation enthält, installiert werden.

Die Hauptkonfigurationsdatei von BIND ist die Datei: '/etc/bind/named.conf', sie wird bei jeden Start neu eingelesen. Daneben gibt es bei der Installation von BIND9 unter Debian noch die Konfigurationsdateien 'named.conf.options' und 'named.conf.local', die einfach in die Hauptkonfigurationsdatei via 'include' eingebracht sind.
Weiterhin sind schon vorgefertigte Zonen-Dateien, deren Namen alle mit 'db.' anfangen vorhanden. Die vorhandenen Zonen-Dateien brauchen in der Regel nicht angepasst werden. Der genaue Aufbau und Bedeutung der einzelnen Dateien sollte im Folgenden in etwa klar werden.

Da zunächst als Beispiel nur ein 'caching-only'-Nameserver realisiert werden soll, ist es am übersichtlichsten nur die Datei 'named.conf' ohne 'include' zu verwenden. Im folgenden Beispiel findet die Konfiguration nur in der Datei 'named.conf' statt:

/etc/bind/named.conf

#
# /etc/named.conf (with BIND9)
#
# This configuration works as a caching-only-nameserver
#

options {
        directory "/var/cache/bind";
        forward first;
        forwarders {
                62.225.253.9;
                194.25.2.129;
        };
        notify no;
};


// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};


// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};


zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};


zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};


zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

Die Konfigurationsdatei unterteilt sich grob in zwei Bereiche, dass ist zum einen der Abschnitt: 'options' (gelbe Markierung) für allgemeine Einstellungen und zum anderen sind dass die zone-Einträge (grüne Markierung).
Im Bereich 'options' wird mit der directory-Zeile angegeben wo sich die Zonen-Dateien befinden. Der Eintrag: 'forward first' bewirkt, das zunächst eine DNS-Abfrage an den unter 'forwarders' angegeben Server gestellt wird, bevor versucht wird, diese über die Root-Namenserver aufzulösen. Unter 'forwarder' trägt man die Nameserver des eigenen Internet-Providers ein (in diesem Bsp. die Nameserver von T-Online). Indem man, forwarder-DNS-Server benutzt kann man die Antwortzeiten auf Anfragen erheblich verkürzen und die Netzwerkbelastung niedrig halten. Die Option: 'notify no' besagt, dass keine anderen Nameserver benachrichtigt werden, wenn Zonen-Dateien geändert werden oder der Nameserver neu gestartet wird.
Als Zonen sind fünf angegeben (grüne Markierung). Die erste Zone enthält enthält die Haupt-Nameserver des Internet; auch Root-Nameserver genannt. Die folgenden vier Zonen dienen dazu, dass die Anfragen: 'localhost' bzw. '127.0.0.1' und Anfragen auf '0' bzw. '255' beantwortet werden. Das 'type master' legt fest, dass diese Zone auf diesem Nameserver verwaltet werden.

Eine weitere wichtige Datei für den Betrieb als Nameserver ist die Datei: '/etc/hosts.conf', die bei der Basis-Installation unter Debian angelegt wird:

/etc/host.conf

order hosts,bind
multi on

In der Datei: '/etc/host.conf' wird festgelegt, wie Namen aufgelöst werden. Zunächst wird in der Datei: '/etc/hosts' nachgeschaut und falls dort nichts treffendes gefunden wird, wird der Nameserver: 'bind' befragt. Der Eintrag: 'multi on' bewirkt, dass zu einem Rechnernamen in der '/etc/hosts' mehrere IP-Adressen angegeben werden dürfen. Wichtig ist hier der Verweis auf: 'bind' (gelbe Markierung).

Als weitere wichtige Datei für die korrekte Namesauflösung ist die Datei: '/etc/resolv.conf' zu nennen:

/etc/resolv.conf

search eusterholz.tld
nameserver 127.0.0.1
nameserver 217.237.149.161

In der Datei 'resolv.conf' wird festgelegt welche Domäne durchsucht werden und welche Nameserver verwendet werden.
Hinter dem Schlüsselwort: 'search' befindet sich eine Suchliste mit Domänen-Namen zum Auflösen von Host-Namen. Die Liste wird normalerweise durch den Domänen-Teil des lokalen Host-Namens festgelegt (in diesem Fall: 'eusterholz.tld'). Unvollständige Host-Namen werden durch Anhängen der Domäne vervollständigt.
Hinter dem Schlüsselwort: 'nameserver' ist die IP-Adresse des zu befragenden Nameservers einzutragen, in diesem Fall der 'localhost'. Es können dabei bis zu drei Eintrage existieren, die dann der Reihenfolge nach abgefragt werden.

Zum Schluss der Konfiguration ist der 'caching-only'-Nameserver zu starten mit:

/etc/init.d/bind9 start bzw. mit: /etc/init.d/bind9 restart

Danach sollte der Nameserver für Anfragen bereitstehen.

Anmerkungen

Damit die korrekte Funktion des Nameservers gewährleiste ist, sollten folgende Tests sollten mit dem Tool: 'nslookup' bzw 'dig' durchgeführt werden: Sollte 'nslookup' bzw. 'dig' auf dem System nicht vorhanden sein so kann die Installation mittels: 'apt-get install dnsutils' nachgeholt werden.

  • Auflösung von: 'localhost'
    experimental:~ # nslookup -sil localhost
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    Name: localhost
    Address: 127.0.0.1

    experimental:~ #
  • Auflösung der IP-Adresse: '127.0.0.1'
    experimental:~ # nslookup -sil 127.0.0.1
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    1.0.0.127.in-addr.arpa name = localhost.

    experimental:~ #
  • Auflösung mit einer Adresse im Internet z.B.: 'www.haxterberg.de'
    experimental:~ # nslookup -sil www.haxterberg.de
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    Non-authoritative answer:
    www.haxterberg.de canonical name = haxterberg.de.
    Name: haxterberg.de
    Address: 213.191.4.253

    experimental:~ #
  • Auflösung mit einer IP-Adresse aus dem Internet z.B.: '213.191.4.253'
    experimental:~ # nslookup -sil 213.191.4.253
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    Non-authoritative answer:
    253.4.191.213.in-addr.arpa name = www1.trans-it.de.

    Authoritative answers can be found from:
    4.191.213.in-addr.arpa nameserver = ns1.trans-it.de.
    4.191.213.in-addr.arpa nameserver = ns2.trans-it.de.
    ns1.trans-it.de internet address = 213.191.0.10
    ns2.trans-it.de internet address = 193.41.252.139

    experimental:~ #

In der Zeile 'Server:' bzw. 'Adress:' kann der befragte Nameserver bzw. Port entnommen werden. 'Non-authoritative answer' besagt, dass die folgenden Angaben aus einem Cache kommen, d.h. es wurde im Netz nicht nachgefragt.

Weitere Infos

Homepage: ISC BIND http://www.isc.org/index.pl?/sw/bind/index.php
DNS HOWTO http://www.linuxhaven.de/dlhp/HOWTO/DE-DNS-HOWTO.html
The ISC BIND Nameserver http://www.bind9.net/
Manualseiten zu: bind; named man bind; man named
System-Dokumentation: bind9 /usr/share/doc/bind9

Home ] Nach oben ] [ Caching-only-NS ] Primärer-NS ] Sekundärer-NS ] Client Konfiguration ]

letzte Änderung: 04. Dezember 2008

 

Copyright © 2004 Norbert Eusterholz