NewMedia FHTW-Berlin, Universität Linz

Belegarbeit Daten- und Rechnernetze

Domain Name Service

  1. Allgemeines
  2. Installation und Konfiguration
    1. Resolver Konfiguration
    2. named Konfiguration
    3. named.boot
    4. Konfiguration für ein caching-only Server
    5. Konfiguration als Primary und Secondary Server
    6. Erstellen der Datenbank-Dateien
  3. Literatur


Allgemeines

Beim Aufruf von verschiedenen TCP/IP-Programmen wird der gewünschte Rechner in der Regel uber einen symbolischen Namen angesprochen. Die netzwerkweite Zuordnung von symbolischen Rechnernamen auf Internet-Adressen erfolgte für das Internet zentral in einer Datei auf dem Rechner des Network Information Centers (NIC, http://www.nic.net), die von allen an das Internet angeschlossenen Rechnern regelmässig per FTP gelesen werden mußte. Im Laufe der letzten Jahre ist jedoch das Internet immens gewachsen so das es zunehmend schwieriger wurde die Informationen ständig aktuell zu halten.

Die Lösung dieses Problems ist der Domain Name Service, kurz DNS, der die Verwaltung der Daten von einer zentralen Struktur auf eine dezentrale Struktur übertrug, bei der der Verursacher der Daten auch diese verwaltet. Die Konzepte und Protokolle für den Internet Domain Name Service sind in den RFC 1034 und RFC 1035 beschrieben.

Jedoch ist der Domain Name Service ist nicht zwingend notwendig um einen Rechner im Netz zu betreiben und mit anderen Rechner Verbindungen aufzubauen, dazu reichen auch die IP-Adressen der Rechner. Für einen Menschen ist jedoch mars.fb1.fhtw-berlin.de besser zu merken als die IP-Adresse 141.45.128.1. Somit ist der Domain Name Service im wahrsten Sinne des Wortes ein Service der die Nutzung der Netzwerkdienste erleichtert. Dem Rechner ist dies im Endeffekt egal, da ohnehin mit den IP-Addressen gearbeitet wird.

Eine Anfrage an den Domain Name Service läuft wie folgt ab:

  1. Anfrage eines Prozeßes (z.B. ftp) nach einer Internet Adress für einen Host (z.B. ftp.funet.fi).
  2. Der lokale Nameserver erhält die Anfrage und hat die angefragte Adresse nicht in seiner Datenbank. So wird beim Root Name Server angefragt welcher Server authorative Antworten für diese Domain liefert.
  3. Der Root Name Server gibt die Adresse für den authorativen Name Server zurück, in diesem Fall pobox.csc.fi (128.214.46.62) und hydra.helsinki.fi (128.214.4.29).
  4. Der lokale Nameserver fragt bei dem remote Nameserver nach der Internet Adresse des Hosts.
  5. Der remote Nameserver sendet die Informationen zum lokalen Nameserver, in diesem Fall ftp.funet.fi canocical name = nic.funet.fi. Diese Anfrage wird dann für nic.funet.fi wiederholt und liefert dann nic.funet.fi = 128.214.248.6
  6. Der lokale Nameserver beantwortet die Anfrage.

Installation und Konfiguration

Eine Installation des Domain Name Service ist nicht extra notwendig, da die notwendige Software bei der Standartinstallation bereits mit installiert wird. Es ist also nur die Konfiguration des Domain Name Service notwendig.

Resolver Konfiguration

Für den Domain Name Service sind mehrere unterschiedliche Konfigurationsarten möglich. Die einfachste Konfigurationsart ist die Resolver-only Konfiguration. Damit steht auf dem Rechner kein Domain Name Service zur Verfügung und die Verwaltung der Daten bleibt einem übergeordneten Rechner vorbehalten.

Die Konfiguration erfolgt in der /etc/resolv.conf Datei.

# Domain name resolver configuration file
#
domain          fb1.fhtw-berlin.de
# commserv.fb1.fhtw-berlin.de (loopback)
nameserver      127.0.0.1
# mars.fb1.fhtw-berlin.de
nameserver      141.45.128.1
# hp832.rz.fhtw-berlin.de
nameserver      141.45.1.1

Der Eintrag domain legt den default Domainnamen fest. Dieser Defaultdomainname wird bei jeder Anfrage mit Rechnernamen ohne einen Punkt im Namen mit angehängt. Wird also eine DNS-Anfrage für den Host mars gemacht, so wird die Anfrage nach mars.fb1.fhtw-berlin.de umgesetzt und erst dann an den Nameserver weitergegeben.

Die Einträge nameserver sind die IP-Addressen der Nameserver die bei DNS Anfragen genutzt werden. Bei dieser Konfiguration wird also zunächst versucht die Informationen direkt vom commserv (loopback), danach von mars (141.45.128.1) und dann von hp832 (141.45.1.1) zu erhalten. Die Nameserver werden genau in der Reihenfolge abgefragt wie sie in der /etc/resolv.conf festgelegt sind.

named Konfiguration

named ist der eigentliche Domain Name Server. Für den Domain Name Service gibt es drei unterschiedliche Konfigurationsarten:

primary
Der Primary server ist der Server welcher alle Daten über ein Domain hat. Diese Informationen werden direkt als Datei auf dem Rechner abgelegt. Primary Servers sind authoritative, d.h. die Antworten dieser Server sind immer korekt und diese Server haben sämtliche Informationen über die Rechner einer Domain. Sinnvollerweise solte es deshalb immer nur einen Primary Server für eine Domain geben. Primary Server der Domain fhtw-berlin.de ist hp832.rz.fhtw-berlin.de (141.45.1.1).
secondary
Secondary Server sind Server die die Domain Datenbank von einem Primary Server kopieren. Ein Teil der Domain Datenbank nennt man zone file und das kopieren dieses Files zu einem Secondary Server nennt man zone file transfer. Secondary Server sind ebenfalls authoritative für ihre Domain. Der Domain Name Server für die Subdomain fb1.fhtw-berlin.de ist mars.fb1.fhtw-berlin.de (141.45.128.1). Primary Server dieses Domain Name Server ist hp832.rz.fhtw-berlin.de (141.45.1.1), der auch als Backup Server, für den Fall das mars keine Anfragen beantwortet in den /etc/resol.conf Dateien auf den Rechnern eingetragen ist.
caching-only
Auf einem caching-only Server läuft named, allerdings hält dieser Server keine zone files. Der Server speichert nur jede bantwortete Name Server Anfrage von einem Remote Server. Jede dieser Antworten wird dann zur Beantwortung erneuter Anfrage genutzt. Die Antworten eines caching-only Server sind nicht authoritative, da die Daten auf dem Primary für eine Domain bereits wieder geändert sein können.

named.boot

Die Befehle die in /etc/named.boot verwendet werden dürfen sind in Tabelle 1 beschrieben. Damit werden generelle Parameter festgelegt und für welche Domains Informationen vorhanden sind.

named.boot - Konfigurations Kommandos
Kommando Funktion
directory legt das Verzeichnis für alle Filereferenzen fest
primary defeniert den Server als primary für dieses zone file
secondary defeniert den Server als sencondary für dieses zone file
cache zeigt auf das cache file
forwarders eine Liste von Server zu dem die Anfragen weitergereicht werden
slave nur forwaders nutzen

Konfiguration für ein caching-only Server

; named.boot
;
; primary boot file for bind server
;
directory   /etc/named.data         ;running directory for named
;
primary     0.0.127.IN-ADDR.ARPA    db.127.0.0
cache       .                       db.cache

Mit dieser Konfiguration werden die beantworteten Anfragen gespeichert und zum beantworten erneuter Anfragen genutzt.

Konfiguration als Primary und Secondary Server

; named.boot
;
; primary boot file for bind server
;
directory   /etc/named.data         ;running directory for named
;
primary     0.0.127.IN-ADDR.ARPA    db.127.0.0
secondary   fhtw-berlin.de          141.45.1.1 db.fhtw-berlin.de
secondary   fb1.fhtw-berlin.de      141.45.1.1 db.fb1
secondary   rz.fhtw-berlin.de       141.45.1.1 db.rz
secondary   45.141.IN-ADDR.ARPA     141.45.1.1 db.141.45
cache       .                       db.cache

Mit dieser Konfiguration ist named Secondary Server für die Domain fhtw-berlin.de und die Subdomains fb1 und rz sowie für das Class-B Netz 141.45.0.0. Die zone files db.fhtw-berlin.de, db.fb1, db.rz, db.141.45 befinden sich auf dem Rechner 141.45.1.1 und werden von dort regelmäßig in das lokale Verzeichniss kopiert (zone file transfer). Um den Server als Primary Server zu betreiben müßte die Konfigurationsdatei wie folgt aussehen.

; named.boot
;
; primary boot file for bind server
;
directory   /etc/named.data         ;running directory for named
;
primary     0.0.127.IN-ADDR.ARPA    db.127.0.0
primary     fhtw-berlin.de          db.fhtw-berlin.de
primary     fb1.fhtw-berlin.de      db.fb1
primary     rz.fhtw-berlin.de       db.rz
primary     45.141.IN-ADDR.ARPA     db.141.45
cache       .                       db.cache

In diesem Fall würden sich die zone files db.fhtw-berlin.de, db.fb1, db.rz, db.141.45 im Verzeichniss /etc/named.data befinden und nicht dorthin kopiert werden.

Erstellen der Datenbank-Dateien

Die Datenbank Einträge sind generell im folgenden Format aufgebaut:

[name]   [ttl]   [class]   Record Type   Record Specific Data

name (optional) enthält den Domainnamen der zu dem Eintrag gehört. Wenn es frei ist wird der Name aus dem vorherigen Eintrag genutzt.
ttl - time to live(optional) legt fest wie lange, in Sekunden, ein Server die Antwort auf eine Anfrage auf diesen Rechner speichern darf. Ist dieser Eintrag frei wird der Eintrag aus dem Start of Authority Eintrag verwendet.
class (optional) spezifiziert die Protokoll Gruppe. IN, steht für Internet ist die üblichste. Wird das Feld freigelassen wird die letzte spezifizierte Klasse verwendet.
record type spezifiziert welche Informationen der Eintrag beinhaltet.
record specific data enthält die Informationen abhängig von der Art des class und type Feldes

Datenbank Einträge
Eintrag Name Eintrag Type Funktion
Start of Authority SOA Makiert den Beginn eines Eintrages und legt Parameter für diesen Eintrag fest
Name Server NS Identifiziert den Domain Name Server
Address A Konvertiert einen Hostnamen zu einer Adresse
Pointer PTR Konvertiert eine Adresse zu einem Hostname
Mail Exchange MX Identifiziert wohin eine Mail für diese Domain ausgeliefert werden soll
Canonical Name CNAME Defeniert ein Aliashostname \\
Host Information HINFO Information über Hardware und Betriebssystem
Well Known Service WKS angebotende Netzwerkdienste

Um unter HPUX eine Datenbank für den Domain Name Service zu erstellen kann man die Einträge der /etc/hosts verwenden die sich mit hosts_to_named(1M) in Datenbank Dateien umwandeln. Dabei werden auch die db.cache, db.127.0.0 mit erstellt. Aus der Datei /etc/hosts mit den Einträgen:

# @(#)$Header: hosts,v 1.8.109.1 91/11/21 12:01:46 kcs Exp $
#
# The form for each entry is:
#      
#
# For example:
# 192.1.2.34    hpfcrm  loghost
#
# See the hosts(4) manual page for more information.
# Note: The entries cannot be preceded by a space.
#   The format described in this file is the correct format.
#       The original Berkeley manual page contains an error in
#   the format description.
#

127.0.0.1   localhost   loopback
141.45.128.1    mars
141.45.133.1    brouter133
141.45.133.13   merkur12
141.45.128.24   commserv

wird so die daraus erstellte Datenbank /etc/named.data/db.fb1 (nach manueller Bearbeitung der MX-Record Zeilen):

@       IN      SOA     commserv.fb1.fhtw-berlin.de. root.commserv.fb1.fhtw-berl
in.de. (
                                        1       ; Serial
                                        10800   ; Refresh every 3 hours
                                        3600    ; Retry every hour
                                        604800  ; Expire after a week
                                        86400 ) ; Minimum ttl of 1 day
        IN      NS      commserv.fb1.fhtw-berlin.de.

localhost       IN      A       127.0.0.1
mars            IN      A       141.45.128.1
                IN      MX      10      commserv.fb1.fhtw-berlin.de.
commserv        IN      A       141.45.128.24
brouter133      IN      A       141.45.133.1
merkur12        IN      A       141.45.133.13
                IN      MX      10      commserv.fb1.fhtw-berlin.de.


Literatur

Craig Hunt
TCP/IP Network Administartion
O'Reilly \& Associates Inc.
ISBN 0-937175-82-X

Hewlett-Packard
HP 9000 Series 300 and 800 Computers
Installing and Administering ARPA Services

Hewlett-Packard
HP-UX Reference
Volume 3


prev üp" <= home äutor" post mail
© d.suckow, created: 10-11-95, modified: 22-11-95
You can use this information for any personal or educational purpose. For-profit distribution requires my permission. Provided "as is" without expressed or implied warranty.