Bind

Aus Linupedia.org
Version vom 7. Juni 2007, 08:05 Uhr von Yehudi (Diskussion | Beiträge) (Zonefile (Forward Mapping): Verbessert, Danke an Carsten)
Wechseln zu: Navigation, Suche
BIND (Berkeley Internet Name Domain)

ein open Source DNS Server
Basisdaten
Entwickler: ISC (Internet Systems Consortium)
Aktuelle Version: 9.4.1
letzte Veröffentlichung: 30. April 2007
Betriebssystem: UNIX, BSD, Linux, Mac OS X, Windows NT, z/OS
Kategorie: DHCP und DNS
Lizenz: BSD-Lizenz
Deutschsprachig: Nein
Webseite: http://www.isc.org/index.pl?/sw/bind/

Autor: Yehudi

nbkr und baumpaul haben mich sehr stark unterstützt, und ihre Infos sind hier mit eingeflossen.

Gebraucht wird diese Installation/Konfiguration, um als Server/Router mehreren Clients das Internet zur Verfügung zu stellen, und um auf einem eigenen Webserver ein Intranet mit einem eigenen Domainnamen bereitzustellen.

Die Installation

Folgende Pakete (inkl. eventueller Abhängigkeiten) müssen installiert sein:
  • bind
  • bind-chrootenv
  • bind-libs
  • bind-utils
  • bind-debuginfo -
  • bind-devel
  • bind-doc
  • bind-lwresd -

(unter openSUSE 10.2 sind die mit einem - versehenen Pakete nicht verfügbar, auch nicht unbedingt nötig)


Diese Beschreibung wurde mit folgenden Distributionen getestet:
  • openSUSE 10.2 mit bind 9.3.2
  • SuSE 10.0 mit bind 9.3.1-8


Unter SuSE 10.0 und openSUSE 10.2 sollte man den Namensserver nicht mit YaST konfigurieren. Weiterhin ist es nicht unbedingt zu empfehlen, mit include Dateien zu arbeiten, da diese gerade in diesem Zusammenhang eher zu einer Unübersichtlichkeit führen.

Szenario

  • PC-Client: G4 Name: apple IP:192.168.3.8
  • Linux und Windows Clients werden noch zugefügt.
  • PC-Server: AMD 1,8GHz Suse 10.0 Name: linux IP: 192.168.3.1

Zonefile (Forward Mapping)

/var/lib/named/heim.netz

; /var/lib/named/heim.netz
$TTL 86400
@		IN SOA	heim.netz   root.heim.netz. (
				142		; Serial
				8H		; Refresh 8 Hours
				2H		; Retry   2 hours
				1W		; expiry  1 Week
				1D 		; minimum 1 Day
                )
                        IN NS	linux.heim.netz.			
localhost 		IN A		127.0.0.1
linux   		IN A		192.168.3.1
heim.netz		CNAME	linux.heim.netz.
www.heim.netz		CNAME	linux.heim.netz.
apple   		IN A		192.168.3.8

Hier wird CNAME als Alias eingesetzt, um die Seite statt mit http://192.168.3.1 mit http://heim.netz oder http://www.heim.netz aufzurufen.

Zonefile (Reverse Lookup)

/var/lib/named/db.192.168.3

$TTL 86400

@	IN	SOA	linux	postmaster.linux.heim.netz. (
	1999010902 10800 1800 3600000 259200 )

@		IN      NS      linux.heim.netz.
 
 8  IN PTR apple.heim.netz. 
 1  IN PTR linux.heim.netz.

wechseln in das Verzeichnis:

cd /var/lib/named


root.hint ist eine Datei. Da stehen die IP Adressen der Rootnameserver im Internet drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft keine DNS. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der dig Befehl genutzt:.


dig @a.root-servers.net . ns > root.hint

Konfigurationsdatei /etc/named.conf

Hier müssen lediglich die forwarders an die eigenen angepasst werden. Wird eine andere Domain, als heim.netz benutzt, ist dieses zu ändern. Bei der IP ist genauso zu verfahren.

 # /etc/named.conf
options {
	directory "/var/lib/named";
	forwarders { 213.191.92.86; 213.191.74.18; };
	notify no;
};

zone "." in {
	type hint;
	file "root.hint";
};

zone "0.0.127.in-addr.arpa" in {
	type master;
    file "named.127.0.0";
};

zone "heim.netz" in {
    type master;
    file "heim.netz";
};

zone "3.168.192.in-addr.arpa" in {
	type master;
    file "named.192.168.3";
};

DNS starten

Nun in YaST2 System, den Runlevel Editor im Expertenmodus wählen, und in der Liste den Dienst named 3 und 5 einschalten. Darauf hin folgend im Klappmenü "Anwenden/Zurücksetzen" Dienst aktivieren, und in "Starten/Anhalten/Aktualisieren" entweder starten, oder aktualisieren.

Nach der Anleitung sollte der nameserver nun laufen, und beim nächsten reboots automatisch starten.


Wenn die Konfigurationsdateien geändert werden und der Nameserver die neu eingelesen werden soll, gibt man am Prompt ein:

linux:rndc reload


Muss der ganze Nameserver neu gestartet werden, gibt man folgenden Befehl ein:

linux: rndc stop
linux: /usr/sbin/named -u named -g named


Damit läuft der named korrekt unter dem Kennungnamen.

Resolver und Clients konfigurieren

Die Angabe nameserver <ipadresse> in der /etc/resolv.conf gibt an welche Nameserver der Rechner abfragt. Da sollte die IP des Rechners auf dem der Bind9 läuft drin stehen.

nameserver 192.168.3.1
search heim.netz


Und in /etc/sysconfig/network/config sollte die Zeile so aussehen:

MODIFY_RESOLV_CONF_DYNAMICALLY="no"


Bei OS X --> Systemeinstellungen --> Netzwerk --> TCP/IP folgendes eingetragen:

IP-Adresse: 192.168.3.8
Teilnetzmaske: 255.255.255.0
Router: 192.168.3.1
DNS-Server: 192.168.3.1
Domain-Name: search heim.netz

Fehlermeldung, Fehlersuche und Fehlerbehebung

cd /var/log 
grep -ilr named ./*

tail -f /var/log/messages

Fehlermeldung, Fehlersuche und Fehlerbehebung

cd /var/log 
grep -ilr named ./*

tail -f /var/log/messages


Quellen und weiterführende Links


zurück zu DHCP und DNS