LUG Waldkraiburg

zur Navigation springen


eMail Impressum Datenschutz

DNS- Server mit bind9

CD1
von LUG - Waldkraiburg erstellt 09.2007

Das Domain Name System (DNS) ist einer der wichtigsten Dienste im Internet. Seine Hauptaufgabe ist die Umsetzung von "Internetadressen" in die zugehörige IP-Adresse. Dieses holen wir uns mit bind9 auf Basis der Grundinstallation in unser Netzwerk.



Notation

  • $ ist der Linux- oder Dosprompt
  • Benutzereingaben sind fett dargestellt
  • alle Befehle müssen mit einem return abgeschlossen werden


Zum installieren von Bind9 den Befehl
$ apt-get install bind9 dnsutils
und mit Enter bestätigen.
Die nachfolgenden Fragen mit Y bestätigen und schon wird auf eurem Server bind9 installiert. Eventuelle Paketabhängigkeiten werden dabei vom Debianinstaller selbst aufgelöst.

Wenn ihr jetzt in das Verzeichnis von bind9 wechselt $ cd /etc/bind/, seht ihr dort die Dateien, von denen einige sinnvoll angepasst werden müssen.

Als erstes brauchen wir 2 Zonendateien für unser Domäne zone1, einmal die db.zone1net und dann die db.2. Letztere ist für die Reverse Auflösung (IP zu Namen) zuständig, während die db.zone1net die Namen den IP-Adressen zuordnet.

Die Datei db.zone1net mit $ vi db.zone1net erstellen und wie folgt editieren:

; ### Datei db.zone1net
; ### BIND data Datei fuer zone1net
; ### Namen den IP-Adressen zuordnen. (Aufloesung: Namens zu IP-Adresse)
;
$TTL      604800
@         IN      SOA   debian.zone1.lan. root.localhost. (
                                1         ; Serial
                           604800         ; Refresh
                            86400         ; Retry
                          2419200         ; Expire
                           604800 )       ; Negative Cache TTL
;
@         IN      NS    debian.zone1.lan. ; NS Record   | Nameserver 
@         IN      A     192.168.1.1       ; A Record    | Server IP

;###### LAN
debian    IN      A     192.168.1.1
mail      IN      A     192.168.1.2

;###### Webseiten
lugseite  IN      A     192.168.2.1
intranet  IN      A     192.168.2.1

Die Datei dann mit :wq verlassen.
Die Datei db.2 mit vi db.2 öffnen und wie folgt editieren:

; ### Datei db.2
; ### BIND reverse Datei fuer zone1net
; ### IP-Adresse den Name zuornornen. (Auflösung: IP-Adresssen zu Namen)
;
$TTL    604800
@       IN      SOA     debian.zone1.lan. root.localhost. (
                              1         ; Serial
                           3600         ; Refresh
                           3600         ; Retry
                         604800         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS      debian.zone1.lan.

;###### LAN
1.1     IN      PTR     debian.zone1.lan.
1.2     IN      PTR     pc1.zone1.lan.

Jetzt haben wir zwar unser IP-Infos für unser zone1net eingetragen, allerdings weiß bind9 ja noch nichts von den neuen Dateien, also die named.conf.local und die named.conf.options wie folgt editieren:
vi named.conf.local

### Datei named.conf.local
### Konfigdateien bekannt geben

zone "db.zone1net" {
	type master;
	file "/etc/bind/db.zone1net";
	allow-query { any; };
};

// Die IP-Adressen werden mit 168.192. erweitert
zone "168.192.in-addr.arpa" {
	type master;
	file "/etc/bind/db.2";
	allow-query { any; };
};

vi named.conf.options

### Datei named.conf.options

options {
	directory "/var/cache/bind";
	
	// Port 53 wird verwendet
	query-source address * port 53;
	
	// forwarders ist die IP-Adresse von deinen ADSL-Router
	forwarders {
	  192.168.1.254;
	};
	
	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
};

Wenn ihr jetzt eine nslookup Abfrage auf einen eurer Rechner im zone1 macht, passiert immer noch nichts, da zum Einen bind9 neu gestertet werden muss

$ /etc/init.d/bind9 restart

und zum Anderen müsst ihr natürlich eurem Server mitteilen, das er sich selber bei DNS-Anfragen fragen soll, bislang fragt er immer noch den Router, den ihr ja bei der Installation als Nameserver eingetragen habt.

Also noch schnell die resolv.conf anpassen und fertig.

$ vi /etc/resolv.conf

### resolv.conf ###
search zone1.lan
nameserver 127.0.0.1

Die 127.0.0.1 sagt eurem Server, das er sich selbst fragen soll und alles, was er in seinen eigenen Dateien nicht an Informationen hat, gibt er dann an den Router weiter (das wurde durch den Eintrag in der named.conf.options erreicht).

Wenn ihr jetzt eine Abfrage macht, sollte ein entsprechendes Ergebnis zurückgegeben werden.

$ host debian.zone1.lan
ergibt:
debian.zone1.lan has address 192.168.1.2

und

$ host 192.168.1.1
ergibt:
2.1.168.192.in-addr.arpa domain name pointer debian.zone1.lan.

Damit läuft Euer Nameserver, eventuelle Fehlermeldungen könnt ihr in der Datei $ /var/log/syslog finden, entweder in Ruhe mit $ cat /var/log/syslog suchen oder in Echtzeit mit $ tail -f /var/log/syslog verfolgen.

Links:
DNS mit Bind9


Viel Spass

LUG - Waldkraiburg



Seitenanfang