FHTW-Berlin, Universität Linz
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:
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.
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 ist der eigentliche Domain Name Server. Für den Domain Name Service gibt es drei unterschiedliche Konfigurationsarten:
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.
| 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 |
; 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.
; 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.
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 |
| 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.
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
© d.suckow, created: 10-11-95, modified: 22-11-95