Eigenen Nameserver einrichten

A: SuSE 5.3 - 6.0 (für SuSE 6.3 siehe weiter unten)



Voraussetzungen:
Es muß das Paket bind aus der Serie n mit YAST installiert werden
Die Datei named.boot befindet sich danach in /etc.
Diese Datei wird nach /var/named verschoben und in /etc ein symbolischer
Link darauf gelegt:
ln -s /var/named.named.boot /etc/named.boot
Die Datei hat sieht bei mir folgendermassen aus:
(meine Domain lautet: tmg.de, mein Server: linux, weitere Rechner in meinem privaten Netz
heißen: PC01, PC02 usw. )
Es gibt also die Rechner  linux.tmg.de, PC01.tmg.de, ..... usw..
; Sample /etc/named.boot file for the domain "linux.tmg.de".
; That domain has IP numbers 192.168.2.x.
; ns = name server
; All relative file names can be found in this directory.
; Named changes also in this directory on startup. So it will dump core here.
;
; If you want to use this as your primary ns, enable this. All information
; is read from the file "/var/named/my.domain.file".
; IP -> hostname translation is done by ".../my.domain.file.rev".
;
directory /var/named
cache . root.cache
primary 0.0.127.in-addr.arpa    localhost.rev
primary tmg.de               tmg.zone
primary 2.168.192.in-addr.arpa  tmg.rev
forwarders 129.13.64.5 129.13.96.2
;
; If you have further child zones and you are not a secondary ns for them,
; specify a stub here:
;stub subzone.my.domain.edu 192.168.2.1 subzone.stub

; Use the following entries, if you want to use this as a secondary server.
; The primary server is contacted from time to time for the most recent
; information. "my.domain.file.bak" is used as starting file at boot time until
; the primary ns has been contacted (and in case of the primary ns is down).
; You should then also put this host into the "NS" part of the primary ns.
;secondary      my.domain.edu           192.168.7.7     my.domain.file.bak
;secondary      168.192.in-addr.arpa    192.168.7.7     my.domain.file.rev.bak

; primary .                     localhost
;

; Always enable the next line. Read the beginning for how to get the newest
; version of it. (/var/named/root.cache)
 

; Change the following line, if you have further name servers, which might
; have more information cached. A good choice here is the ns which is
; authoritive for the zone above you.
;
; If the servers defined by the "forwarders" line do not know the answer,
; this ns will contact the root ns for it. If you enable "slave", it will
; ask one of the "forwarders" to fetch the correct answer. This will lead
; to more complete "forwarding" ns and should be done.
slave
 


Jetzt müssen noch die einzelnen Dateien localhost.rev, tmg.zone und tmg.rev
erstellt bzw. konfiguriert werden.
Die Datei root.cache kann so bleiben wie sie ist. Sie beinhaltet die
Welt-Root-DNS-Server. Man sollte diese Datei von Zeit zu Zeit durch ein
Download vom Internet aktualisieren.

/var/named/root.cache. (nur Auszug)

;       last update:    Feb 28, 1997
;       related version of root zone:   1997022800
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;

 


Die Datei localhost.rev muß selbst erstellt werden:
/var/named/localhost.rev
@       IN SOA  tmg.de. dns-master.linux.tmg.de (
          1999032501
          10800
          46000
          432000
          86400 )
        IN NS   linux.tmg.de.
1       IN PTR  localhost


Ebenso die Datei tmg.zone.
@       IN SOA tng.de. dns-master.linux.tmg.de (
          1999032501 10400 86400 604800 10400 )
        IN NS linux.tmg.de.
        IN NS 129.13.64.5.
        IN MX 10        smtp.rz.uni-karlsruhe.de.
        IN MX 5         linux.tmg.de.
www IN CNAME linux.tmg.de.
ftp IN CNAME linux.tmg.de.
proxy IN CNAME linux.tmg.de.
nntp IN CNAME linux.tmg.de.
mail IN CNAME linux.tmg.de.
prn IN CNAME linux.tmg.de.
xntp IN CNAME linux.tmg.de.
localhost IN A 127.0.0.1
linux IN A 192.168.2.100
pc01 IN A 192.168.2.01
pc02 IN A 192.168.2.02
pc03 IN A 192.168.2.03
.....
ntserver IN A 192.168.2.200
test IN CNAME linux.tmg.de.

Nun fehlt noch die Datei linux.rev. Auch diese muss selbst geschrieben werden.
@ IN SOA linux.de. dns-master.linux.tmg.de (
  1999032501 86400 3600 432000 10400 )
  IN NS linux.tmg.de.
1 IN PTR pc01.tmg.de.
2 IN PTR pc02.tmg.de.
.......
100 IN PTR linux.tmg.de.
200 IN PTR ntserver.tmg.de.
Mit einem nslookup kann man die Funktionsweise des Nameservers überprüfen:
za186@win75:/etc > nslookup
Default Server:  linux.tmg.de
Address:  192.168.2.100

> linux.tmg.de
Server:  linux.tmg.de
Address:  192.168.2.100

Name:    linux.tmg.de
Address:  192.168.2.100

> pc01.tmg.de
Server:  linux.tmg.de
Address:  192.168.2.100

Name:    pc01.tmg.de
Address:  192.168.2.1
Aliases:  test.roland.de

> 192.168.2.2
Server:  linux.tmg.de
Address:  192.168.2.100

Name:    pc02.tmg.de
Address:  192.168.2.2

>

Hier sieht man, dass die Namesauflösung in beide Richtungen funktioniert
(Name --> IP, IP --> Name)
Nun kann man z.B. im Browser statt http://linux.tmg.de auch http://test.tmg.de eingeben;
es erscheint die Startseite des Apache-WWW-Servers.

Damit der Nameserver automatisch beim nächsten Booten des Linux-Rechners startet,
ist noch ein Eintrag in der Hauptkonfigurationsdatei /etc/rc.config zu ändern:

# /etc/rc.config (nur Auszug)
# start the named (package bind)? You have to configure the named first,
# before you can start it (man named).
#
START_NAMED=yes


Roland Bernert, Dezember 1999