Verwante Seiten

Installation und Konfiguration

Diese Angaben berufen sich auf Ubuntu 8.04 Server. Es sollte auch auf anderen Debian basierenden Systemen und Unix laufen.

Installation

# apt-get install bind9
# /etc/init.d/bind9 stop

Erklärung: 1. Installieren; 2. Dienst stoppen, da eh nichts gescheites läuft.

Konfiguration

Da sich alles im Ordner '/etc/bind' abspielt wechseln wir hinein uns sehen uns mit 'ls -asl' mal alles an. In den Dateien, die mit 'named.' beginnen wird die allgemeine Funktion des Servers konfiguriert. Die 'db.'-Dateien sind dagegen die sogenannten Zonendateien, in denen die eigentlichen DNS-Daten abgelegt werden.

Weiterleitung

Dein DNS kann nicht alles wissen. Darum editieren wir die Datei 'named.conf.options'. Das Ergebnis sollte etwa so aussehen:

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you might need to uncomment the query-source
        // directive below.  Previous versions of BIND always asked
        // questions using port 53, but BIND 8.1 and later use an unprivileged
        // port by default.

        // query-source address * port 53;

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forwarders {
        //      0.0.0.0;
                192.168.1.1;
        };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Zone Datei

Wir erstellen uns also einen neue Zone und nennen sie zum Beispiel 'intern'.

# nano db.intern

In die Datei kommt dann folgender Inhalt:

; db.intern
; Forwardlookupzone für intern
; Der lokale Host heiss gruft.intern und hat die IP 192.168.1.2
$TTL 2D
@	IN	SOA	gruft.intern. root.localhost (
	2008072204	; Serial
	8H		; Refresh
	2H		; Retry
	4W		; Expire
	1D )		; TTL Negativ Cache
;
@	IN	NS	gruft.intern.
@	IN	A	192.168.1.2
gruft	IN	A	192.168.1.2
;
fileserver	IN	A	192.168.1.3
router		IN	A	192.168.1.1
;

Besonders wichtig an dieser Stelle ist eine Leerzeile am Ende der Datei!

Das TTL (time to live) gibt an, wie lange Informationen im Cache gültig bleiben und danach neu angefordert werden (in unserem Fall 2Days also 2 Tage).

Als nächstes kommt dann der SOA (start of authority resource records), welcher folgende Werte für den Bereich unserer Domäne festlegt:

  • zone-origin ist der vollqualifizierte Domainname (FQDN) des primären DNS-Servers. (In diesem Fall server.domainname., der Name des Servers, den wir gerade konfigurieren.) Der Punkt am Ende ist übrigens wichtig!
  • zone-contact ist die Mail-Adresse des DNS-Verwalters. Das “@“ wird hier jedoch durch einen Punkt ersetzen, somit müssten wir „mail.domainname.“ hier eintragen. Auch hier den Punkt am Ende nicht vergessen!
  • serial ist eine Seriennummer, die der Administrator nach seinen Vorstellungen vergeben kann. Allerdings muss die Seriennummer bei jeder Änderung erhöht werden, da diese Nummer sekundären DNS-Servern als Indiz dafür dient, dass sich was geändert hat. Nach allgemeiner Konvention benutzt man deswegen die Form YYYYMMDDSS, mit YYYY=Jahr, MM=Monat, DD=Tag und SS=zweistellige Seriennummer, die bei mehreren Änderungen an einem Tag jeweils um eins erhöht wird.
  • Die folgenden Einträge des SOA-Abschnitts befinden sich für die meisten Fälle schon auf vernünftigen Voreinstellungen und müssen im Allgemeinen nicht angetastet werden.
  • refresh gibt die Zeit in Sekunden an, die ein sekundärer Server wartet, bis er beim primären Server nachfragt, ob sich die Zonendateien verändert haben.
  • retry gibt die Zeit in Sekunden an, die ein sekundärer Server wartet, bis er eine Anfrage an den primären Server wiederholt, wenn dieser auf die vorherige Anfrage nicht geantwortet haben sollte (z.B. weil er offline war).
  • expire gibt die Zeit in Sekunden an, die ein sekundärer Server auf einen erfolgreichen Kontakt zum primären Server wartet, bevor er die Zonendatei für ungültig erklärt.
  • minimum ist die minimale Zeit, die ein Eintrag im Cache gehalten wird.

Local Datei

Im Moment ingnoriert bind unsere neue Konfigurationsdatei. Darum ergänzen wir die Datei 'named.conf.local'. Das Ergebnis:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "intern" {
	type master;
	file "/etc/bind/db.intern";
	//notify no;
};

Wird bind jetzt neugestartet, funktioniert die Namensauflösung.

Reverse Zone

Für einen richtigen DNS braucht es aber noch mehr. Darum hängen wir noch folgendes an die Datei 'named.conf.local'an:

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

Die Datei 'db.192' kannst du entweder von hier oder von '/etc/bind/db.127' kopieren. Ich empfehle letzteres.
Wichtig: Das Format der IP ist umgekehrt und ohne das erste Oktett! Aus '192.168.1.1' wird '1.1.168'.

;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	gruft. root.gruft. (
			2008071206	; Serial
			604800		; Refresh
			86400		; Retry
			2419200		; Expire
			604800 )	; Negative Cache TTL
;
@		IN	NS	gruft.
2.1.168		IN	PTR	gruft.
3.1.168		IN	PTR	fileserver.
1.1.168		IN	PTR	router.

Jetzt muss man bind nur noch starten und Testen

# /etc/init.d/bind9 start
dig @localhost

Clients

Zwar hast du jetzt einen wunderbaren Nameserver aufgesetzt, aber er wird noch nicht benutzt. Um den Clients beizubringen, den neuen Dienst zu nutzen bearbeitest du entweder bei allen Clients die Auflösungsdaten (unter Linux '/etc/resolv.conf') oder richtest deinen DHCP-Server ein, dann sagte er den Clients wo sie nachfragen sollen.

Für die Zukunft

Es ist wichtig, das zu jedem neuen A Eintrage auch ein passender Eintrag in der Reverse-Zone erstellt wird.

Was noch kommen wird

Die meisten Administratoren kennen es von Microsoft's AD: Das dynamische Update. Wer nicht warten will und französisch kann, einfach auf den Link klicken.

Quellen

 
infos/netzwerk/bind.txt · Zuletzt geändert: 2010/10/06 00:13 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Noncommercial-No Derivative Works 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki