BIND

Open-Source-Programmpaket für die Namensauflösung im Domain Name System
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. März 2004 um 23:01 Uhr durch LosHawlos (Diskussion | Beiträge) (Abschitt Bewertung entfernt. Bewerten ist das, was Wikipedia gerade nicht tut.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

BIND ist ein Open Source Software-Paket, mit dem auf Rechnern mit Standard-Betriebssystemen (z.B. UNIX, Linux, NT) ein Domain Name System Server implementiert werden kann. BIND kann kostenlos bezogen werden, der Source-Code ist veröffentlicht. Aufgrund seiner weiten Verbreitung und der zeitnahen Umsetzung der aktuellsten DNS-RFCs gilt BIND seit Jahren als DNS-Referenz-Software.

Geschichte

Bevor es DNS gab, wurde die Auflösung von Namen in IP-Adressen über Listen vorgenommen, die auf jedem IP-PC vorhanden sein mussten. Änderungen wurden zunächst manuell auf einem Masterserver durchgeführt und dann per Datei-Download an die einzelnen PCs und Server verteilt. Mit steigender Anzahl von IP-Teilnehmern wurde dieses Verfahren zunehmend unhandlicher.

1983 wurde von Paul Mockapetris das Domain Name System – DNS – spezifiziert. Im gleichen Jahr wurde die erste DNS-Software - JEEVES - auf einem DEC-Rechner implementiert. Wenig später gingen die ersten drei Internet Root-Server in Betrieb.

Anfang der 80er Jahre wurden an der Berkeley Universität an der Weiterentwicklung von UNIX gearbeitet. Einige Studenten begannen, für UNIX eine DNS-Software zu schreiben, die sie BIND (Berkeley Internet Domain System) tauften. BIND wurde ständig weiterentwickelt und die Version 4 wurde zum weltweiten Standard. Nachdem die Berkeley Universität die Weiterentwicklung der Software eingestellt hatte, wurde die Verantwortung für kurze Zeit von der Firma DEC und anschließend von Vixie Enterprises übernommen. Paul Vixie war zu dieser Zeit treibende Kraft hinter dem Projekt.

Ab der Version 4.9.3 ging BIND in die Verantwortung des Hersteller-unabhängigen ISC (Internet Software Consortium – ab 2004: Internet Systems Consortium ) über. Die Version 8 wurde 1997 fertiggestellt. 1999 beauftragte ISC die Firma Nominum Inc., die Version 9 zu entwickeln. BIND 9 ist heute (Anfang 2004) Standard. Die Version 8 ist noch weitverbreitet, Version 4 gilt als veraltet.

Konfigurierung

Bei BIND handelt es sich letzlich um ein normales Computerprogramm: Es wird gestartet, es tut etwas und es wird beendet (oder beendet sich selbst). Das Verhalten des Programms wird von manuell zu erstellenden Konfigurations-Dateien bestimmt, die bei Programmstart eingelesen werden. Es existiert eine globale Datei – meist mit dem Namen named.conf – und pro Zone eine Zonendatei, deren Name gewöhnlich aus dem Zonennamen und der Extension .db gebildet wird (es sind auch beliebig andere Namen zulässig).

Beispiel: Angenommen, der Nameserver soll Master für die Zonen example.com und test.example.com sein. Dann müssen folgende Dateien vorhanden sein: named.conf, example.com.db und test.example.com.db.

Die Master-Zonendateien enthalten mindestens einen SOA Resource Record, ein oder mehrere NS Resource Records und eine beliebige Anzahl weiterer RRs wie zum Beispiel A Resource Records oder PTR Resource Records. Die Master-Zonendateien definieren damit den Inhalt einer Zone. Die Slave-Zonendateien müssen nicht in jedem Fall manuell erzeugt werden. Bei Anwendung des Notify-Verfahrens (siehe Zonentransfer) werden sie automatisch erzeugt.

named.conf

Die Informationen sind in verschiedenen Bereichen untergebracht. Die wichtigsten sind:

  • Globaler Bereich
  • Server-Liste
  • Zonen-Liste

Im Globalen Bereich werden Zugriffssberechtigungen, Krypto-Keys und Optionen definiert (siehe DNS-Options). In der Serverliste sind Informationen über Partner-Server enthalten (z.B. ob ein Server inkrementellen Zonentransfer unterstützt). In der Zonen-Liste ist für jede Zone ein Eintrag enthalten, der den Name der Zone, den Namen des Zonenfiles, den Zonen-Typ (Master oder Slave), Zugriffsberechtigungen sowie Options enthält.

Beispiel:

         options {
           allow-transfer {
           localhost ;
           172.27.157.16 ;
           };
           host-statistics YES ;
           notify          YES ;
         };
         server 172.27.157.16 {
           bogus          no ;
           support-ixfr   yes ;
         };
         zone "example.com" {
           type            master ;
           file            "example.com.db" ;
           notify          YES ;
         };

Funktionsweise

Nach dem Einlesen der Konfigurationsdateien nimmt BIND alle Pakete entgegen, die am UDP-Port 53 und TCP-Port 53 eintreffen. Bei diesen Paketen kann es sich um DNS-Abfragen, Dynamische Updates oder Zonentransfers handeln. Liegt eine DNS-Abfrage vor, so versucht BIND sie an Hand der Einträge in den Zonendateien aufzulösen. Bei unbekannten Zonen wird zunächst der Cache überprüft und dann eine rekursive Auflösung versucht. Bei DNS-Updates wird die betreffende Zonendatei aktualisiert.

Installation und Betrieb

Bei UNIX- oder Linux-Systemen ist BIND im Lieferumfang enthalten. NeueVersionen werden aus dem Internet im Source-File-Format geladen und müssen vor Installation compiliert werden. Mittlere UNIX-Kenntnisse sind ausreichend zur Installation und Betrieb eines BIND-Servers. Bei Windows-NT wird ein komprimiertes Binär-File downgeloaded. Die Installation ist einfach.

Beim Betrieb ist zu beachten, dass nach manuellen Änderungen der Konfigurationsdateien BIND neu gestartet werden muss, um die Änderungen wirksam werden zu lassen. Bei Änderungen in Zonenfiles darf nicht vergessen werden, die Seriennummer zu inkrementieren. Es stehen eine Reihe von Logging- und Statistik-Funktionen zur Verfügung, mit denen die Arbeit der Software überprüft werden kann.