Namensauflösung

Willemers Informatik-Ecke

Während Computer mit Zahlen wunderbar zurecht kommen, verwenden Menschen lieber Namen. Das Auflösen der Namen in Zahlen und umgekehrt kann aber wieder dem Computer übertragen werden, denn im Netz ist es wichtig, dass Namen konsistent bleiben.

Der Host- und Domainname

Jede UNIX-Maschine hat standardmäßig einen Namen, den so genannten Hostnamen. Dieser erhält aber erst seine besondere Bedeutung, wenn die Maschine ins Netz geht, da sie dann unter diesem Namen angesprochen werden kann. Die Zuordnung des Hostnamens an die Maschine erfolgt durch den Befehl

hostname Name

Namensgebung bei Startup

Dieser Befehl wird im Allgemeinen in einer der rc-Dateien beim Hochfahren des Systems ausgeführt. Seinen Parameter findet er oft in einer besonderen Datei, wie bei Linux in der /etc/HOSTNAME. Solaris besitzt sogar für jeden Netzadapter eine eigene Namensdatei, beispielsweise /etc/hostname.le0.

Im Internet wird der einzelne Computer vollständig mit seinem Namen und seiner Domäne identifiziert. Normalerweise wird die Domäne wird durch einen Punkt abgetrennt an den Hostnamen angehängt. Beispielsweise besagt der Name gas­ton.wil­le­mer.edu dass der Hostname gaston lautet und der Rechner zur Domäne willemer.edu gehört. Innerhalb seiner Domäne braucht der Rechner nicht mit seinem Domänennamen angesprochen zu werden. Diese dreigeteilten kennt man aus dem Internet, beispielsweise bei www.willemer.de ist www der Name des Rechners in der Domäne willemer.de.

Um genau zu sein, baut sich der Domänenname von hinten nach vorn auf. So bezeichnet man das >>de<< als Toplevel Domain. Neben de für Deutschland gibt es unter anderem nl für Niederlande oder dk für Dänemark. Die Domänen in den USA wurden nicht extra in einer nationalen Toplevel Domain zusammengestellt, sondern werden in com für kommerzielle Organisationen, gov für Regierungsstellen und edu für Universitäten eingeteilt. Von der Toplevel Domain wird mit dem Punkt die eigentliche Domäne abgeteilt. Diese Domänen können noch einmal in beliebig viele Subdomänen unterteilt werden, jeweils durch einen Punkt. Wird mit dem Namen ein Computer bezeichnet, ist nur der erste Begriff bis zum ersten Punkt der Hostname. Beispielsweise könnte der Praktikumsrechner des Fachbereichs Informatik an der Universität Gintoft so heißen:

praktikum.informatik.universitaet.gintoft.de

Die Datei /etc/hosts

Um einen fremden Rechner nicht immer über seine Internet-Nummer ansprechen zu müssen, gibt es die Datei /etc/hosts, die jeder Internet-Nummer einen oder mehrere Namen zuordnet. Die Struktur eines Eintrags in der Datei /etc/hosts ist:

ipadresse          name nickname ... # Kommentar

Die Reihenfolge der Namen ist wichtig

Links steht immer die IP-Nummer des Rechners. Das ist die bereits bekannte >>dotted decimal<< Schreibweise, also vier dezimale Zahlen durch Punkte getrennt. Der erste Name ist der wichtigste. Wird eine Verbindung von außen aufgebaut, erfährt die Maschine nur die Internetnummer. Um diesem Rechner einen Namen zu geben, wird der erste Name aus der /etc/hosts verwendet. Bei der Zuordnung von Rechten an bestimmte Rechner wird aber meist ein Name eingetragen. Dieser muss dann mit dem ermittelten übereinstimmen. Der erste Name ist also der >>offizielle<<, die anderen bezeichnet man als nickname (Spitzname). Nach dem Hashzeichen (#) kann man Kommentare einfügen. Auch der Hostname der eigenen Maschine sollte in der Datei eingetragen werden, da sonst Dienstanfragen an den eigenen Host über das TCP/IP nicht erkannt werden. Bei Solaris ist es sogar unverzichtbar, da sonst die Maschine ihre IP-Nummer nicht findet.

Normalerweise geht die hosts vor

Bei der Namensauflösung wird normalerweise zuerst in der /etc/hosts nachgesehen. Um genau zu sein wird die Reihenfolge letztlich in der
/etc/host.conf festgelegt. Das bedeutet, dass man Namen, die durch einen zentralen Server festgelegt werden sollen, hier nicht eintragen sollte. Würde beispielsweise die /etc/hosts folgendermaßen aussehen, dann könnte der Webserver www.galileo.de nicht mehr erreicht werden, weil er der lokalen IP-Adresse von gaston zugeordnet wäre.

127.0.0.1       localhost
192.168.109.144 gaston.willemer.edu     gaston                                               
192.168.109.144 www.galileo.de

Hostnamen sollte man klein schreiben

Sie machen sich übrigens keine Freunde im TCP/IP-Umfeld, wenn Sie Ihre Hostnamen in Großbuchstaben setzen. In den meisten Fällen unterscheiden die Netzprotokolle zwischen Groß- und Kleinschreibung, so dass später jeder, der mit diesen Rechnern zu tun hat, mit den Großbuchstaben hantieren muss.

Die Datei /etc/services

Eine Netzwerkanfrage besteht nicht nur aus Kenntnis des Rechners. Wenn eine Anfrage an einen Netzdienst gestellt wird, muss man einen Prozess auf diesem Rechner erreichen, der die Anfrage beantwortet. Dazu kommt, dass es unterschiedliche Arten von Netzdiensten gibt. Es nützt Ihnen gar nichts, wenn Sie eine Webseite sehen wollen und es meldet sich der Druckdienst. Um eine Verbindung aufzunehmen, wird ein Socket (engl. Steckdose) angesprochen. Die Sockets eines Rechners sind durchnumeriert. Der Client braucht einen Socket, um über diesen später eine Antwort zu bekommen. Dazu bekommt er irgendeine zugeteilt, die gerade frei ist. Um einen bestimmten Dienst zu erreichen, muss er den Socket kontaktieren, der von dem Prozess betreut wird, der seine Anfrage beantwortet.

Für Standarddienste hat man die Nummern der Sockets festgelegt. Sie erreichen den Webserver eines Rechners im Regelfall über den Socket 80. Im Zusammenhang mit den Serversockets wird von einem Port gesprochen. Um den Nummern Namen zuzuordnen, gibt es die Datei /etc/services. Hier ein Ausschnitt:

ftp-data         20/tcp     # File Transfer [Default Data]
ftp-data         20/udp     # File Transfer [Default Data]
ftp              21/tcp     # File Transfer [Control]
telnet           23/tcp     # Telnet
telnet           23/udp     # Telnet
http             80/tcp     # World Wide Web HTTP
http             80/udp     # World Wide Web HTTP
www              80/tcp     # World Wide Web HTTP
www              80/udp     # World Wide Web HTTP
www-http         80/tcp     # World Wide Web HTTP
www-http         80/udp     # World Wide Web HTTP

well known port

Unter der Nummer 80 findet man den http und unter 20 den ftp. Und da ftp in der Regel unter 20 zu erreichen ist, spricht man von einem well known port (übersetzt etwa: wohlbekannter Hafen).

Die Protokolle tcp und udp

Das tcp hinter dem Schrägstrich ist die Kennung für das Protokoll. Neben tcp findet sich in der /etc/services noch das Protokoll udp. Es kann für dieselbe Nummer beide Protokolle nebeneinander geben. Der Unterschied liegt darin, dass tcp die Kontrolle über die Verbindung selbst übernimmt. Der Programmierer muss sich nicht darum kümmern, ob die Pakete in der richtigen Reihenfolge eintreffen. Fehlende Pakete werden vom Protokoll noch einmal angefordert. Dafür ist tcp etwas langsamer als udp.

selbstgeschriebene Dienste über 5000

Wenn man selbst eine Client-Server Applikation schreibt, sollte man sich bei der Wahl der Portnummer aus dem Bereich der well known ports heraus halten. Allgemein wird empfohlen, eine Portnummer über 5000 zu verwenden. Auch hier gilt, dass man der Portnummer einen Namen in der /etc/services zuordnen kann und sollte.

Domain Name Service: DNS

Ersatz für /etc/hosts

Der Domain Name Service dient der Auflösung von Hostnamen zu Internetnummern und umgekehrt und übernimmt damit die Aufgabe, die die /etc/hosts lokal erfüllt. Der Vorteil des DNS liegt auf der Hand: Änderungen müssen nur an einer Stelle durchgeführt werden und gelten für alle Rechner im Netz.

DNS macht das Internet erst erreichbar

Die Bedeutung reicht aber weit über das lokale Netzwerk hinaus. Der Dreh- und Angelpunkt für einen Zugriff auf das Internet ist die Anbindung an einen DNS-Server. Sobald diese Anbindung erfolgt ist, erhalten Namen wie www.apple.de oder informatik-ecke@willemer.de erst die Zuordung zu den richtigen IP-Nummern.

Eine Domäne ist nicht unbedingt deckungsgleich mit einem physikalischen Netzwerk, sondern bezeichnet den Bereich, für den der Nameserver eingesetzt wird. Die kleine Firma, die als Beispiel für das Routing diente, hat zwar mehrere TCP/IP-Netze, wird aber sicher nur eine Domäne einrichten.

Wichtige Dateien

BIND (Berkeley Internet Name Domain) ist die wichtigste Implementation des DNS. Die Konfiguration des Clients erfolgt in resolv.conf und host.conf, beide im Verzeichnis /etc. Der Server verwendet zwei weitere Dateien je Domäne zur Namens- bzw. zur Nummernauflösung.

Primary und Secondary Server

Als Primary Server bezeichnet man denjenigen Namensserver, der die Autorität für die Domäne hat. Für die Beispielfirma könnte man annehmen, dass sie die Domäne firma.de verwendet. Der Server in Gintoft hieße dann mit vollständigem Namen ginsrv1.firma.de. Diese vollständige Bezeichnung wird auch hin und wieder als FQDN (Fully Qualified Domain Name) bezeichnet, also ein Hostname mit vollständig qualifiziertem Domänennamen. Der Primary Server steht im Beispiel in Norgaardholz und da der Firmenserver sowieso laufend im Betrieb sein muss, benutzt man ihn auch als Namensserver. Damit die Gintofter Rechner nicht ständig alle Namensanfragen nach Norgaardholz schicken, wird in Gintoft ein Cache Only Server aufgestellt. Cache Only Server kopieren sich die Informationen des Primary Servers. Um den Ausfall des Primary Servers abzusichern, stellt man einen Secondary Server ins Netz.

DNS-Client

Der Client wird als Resolver (engl. resolve: auflösen) bezeichnet. Dabei ist der Resolver nicht ein eigenständiger Prozess, sondern ist mittels Funktionsbibliothek in den einzelnen Programmen enthalten. Alle Programme, die mit dem Namen von Rechnern arbeiten, werden den Systemaufruf getservbyname() verwenden, um die IP-Nummer dieses Rechners zu ermitteln. Sobald UNIX diesen Aufruf erhält, prüft getservbyname() anhand der Einträge in der host.conf, ob die Namensauflösung zuerst per hosts oder per DNS erfolgt. Soll der Name per DNS ermittelt werden, wird in der resolv.conf nachgesehen, welche DNS-Server zuständig sind. Alle drei Dateien befinden sich im Verzeichnis /etc.

/etc/host.conf

In der Datei host.conf legt die Zeile, die mit order beginnt, fest, in welcher Reihenfolge die Namensauflösungsverfahren aufgerufen werden. Im unteren Beispiel wird zuerst in der /etc/hosts nachgesehen und anschließend BIND verwendet. Diese Reihenfolge macht normalerweise auch Sinn, da es die geringere Netzlast verursacht, zuerst in der lokalen Datei und danach im Netz zu suchen.

order hosts bind
multi on

Resolverkonfiguration mit der /etc/resolv.conf

In der Datei /etc/resolv.conf wird definiert, zu welcher Domäne der Rechner gehört und welche Rechner Nameserver sind. Um meinen Arbeitsplatzrechner an den DNS-Dienst des Internet zu koppeln, reicht eine kleine resolv.conf. Beispiel:

domain     willemer.edu
nameserver 194.25.2.129    # frage den ISP

Eine Namensanfrage wird aufgrund der host.conf zunächst lokal in der /etc/hosts befriedigt und alle anderen Namen würden beim DNS des Providers gesucht. Dem aufmerksamen Leser wird aufgefallen sein, dass die Domain meines Arbeitszimmernetzes willemer.edu und nicht willemer.de heißt. Der Grund ist einfach der, dass die willemer.de bei einem Provider gehalten wird und darum der Mail- und Webserver nicht lokal in meinem Netzwerk steht. Damit ich die Domäne willemer.de im Internet überhaupt noch ansprechen kann, muss mein lokales Netz anders heißen. Ansonsten würden E-Mails an meinen Bruder mein lokales Netz nie verlassen. Da edu das Domänenkürzel für amerikanische Universitäten ist, nehme ich an, dass willemer.edu von niemandem jemals verwendet wird.

Will man das TCP/IP-Netz der Beispielfirma an das Internet anbinden, reicht eine etwas größere resolv.conf als einfachste Strategie.

domain     firma.de
nameserver 192.168.108.201 # frage zuerst unseren Server
nameserver 194.25.2.129    # dann frage den ISP

Zuerst werden die Namen lokal geprüft. Damit gehen lokale Namensauflösungen nicht ins Internet. Erst wenn der Name hier unbekannt ist, wird der DNS-Server des Internet Service Providers (ISP) angefragt.

Zu einer vollständigen Anbindung ist natürlich ein geeignetes Routing einzurichten. Da es für die meisten Firmen keinen Sinn macht, eigene internetfähige IP-Adressen anzulegen, muss noch ein Proxy oder ein Masqueradingi eingerichtet werden.

DNS-Server named

Der Serverprozess des DNS heißt named. Er verwendet mehrere Dateien zur Konfiguration. Die erste Datei ist die /etc/named.boot, die die

/etc/named.boot

Rolle des Rechners im DNS festlegt und die Namen und Orte der weiteren Dateien definiert. Dann gibt es für jede Domäne zwei weitere Dateien. Die eine bildet die Namen auf IP-Nummern um und die andere nennt den Standardnamen für eine IP-Nummer.

Ein Primary Server hat beispielsweise folgende Einträge in der Konfigurationsdatei named.boot:

cache    .                        /var/named/named.root
primary  willemer.edu             /var/named/name2nr
primary  109.168.192.IN-ADDR.ARPA /var/named/nr2name
forwarders 194.25.2.129

Primary Server wird ein DNS-Server genannt, der Daten für die eigene Domäne verantwortlich verwaltet. Die erste Zeile sagt aus, dass dieser Rechner ein Primary Server für die Domäne willemer.edu ist. Die Namensinformationen für diese Domäne werden in der Datei /var/named/name2nr gepflegt. Für den umgekehrten Weg, aus den Nummern die Namen zu ermitteln, wird nr2name verwendet. Die Cachedatei dient als Basis für das Vorhalten der Namen aus dem Internet. Wie man an diese Datei kommt, wird später beschrieben. Der letzte Eintrag gibt den Nameserver an, an den die Anfrage weitergeleitet werden soll, wenn der Name aus einer fremden Domäne stammt. Beispielsweise kann hier der DNS-Server des Internet Providers stehen. Ein Secondary Server hätte eine ganz ähnliche /etc/named.boot:

directory /var/named
secondary willemer.edu         192.168.109.144    name2nr
secondary 109.168.192.IN-ADDR.ARPA 192.168.109.144 nr2name

Der Unterschied liegt in der ersten Spalte der zweiten und dritten Zeile. Sie besagt, dass dieser Rechner ein Secondary Server für willemer.edu ist. Sie gibt ferner die IP-Nummer des Primary Servers an. Schließlich wird definiert, in welcher lokalen Datei die Informationen vom Primary Server abgelegt werden. Die erste Zeile (directory) ist lediglich eine Abkürzung, damit man den Pfadnamen nicht bei jeder Dateiangabe wiederholen muss.

Tabelle Name nach Nummer

Die Datei name2nr wurde in der /etc/named.boot als Namensdatei angegeben. In dieser Datei ist das Semikolon das Kommentarzeichen.

@       IN SOA    mail.willemer.edu.    root.mail.willemer.edu. 
                  (
                  200111303       ;serial
                  360000          ;refresh every 100 hours
                  3600            ;retry after 1 hour
                  3600000         ;expire after 1000 hours
                  360000          ;default ttl is 100 hours
                  )
;                 Wer ist der zustaendige Nameserver
                  IN NS gaston.willemer.edu.

; Wer sind die zustaendigen Mailserver IN MX 10 mail.willemer.edu.

localhost IN A 127.0.0.1

; Alle Rechner in der eignenen Domain mail IN A 192.168.109.137 asterix IN CNAME mail gaston IN A 192.168.109.144 powermac IN A 192.168.109.141

Die erste Zeile beginnt mit einem @. Das steht für den lokalen Domänennamen. Hier könnte also auch willemer.edu stehen. Die Abkürzung SOA bedeutet Start Of zone Authority. Die Zeile endet mit dem Nameserver der Domäne und der E-Mailadresse des Verantwortlichen. Allerdings wird das @ in der Mailadresse durch einen Punkt ersetzt. gaston ist der Nameserver (IN NS). Mailserver der Domäne ist der Rechner mail (IN MX), der aber auch unter dem Namen asterix im Netz agiert.

Versionsinformationen

In der Klammer werden Parameter gesetzt, die Informationen über das Update-Verhalten festlegen. Die Zeile mit dem Kommentar serial kann irgend eine Versionsnummer sein, die allerdings bei jeder Änderung steigen muss. Es hat sich eingebürgert, hier das Datum in der Darstellung YYYYMMDD gefolgt von einer mehrstelligen Zahl zu verwenden, die hochgezählt wird, wenn am selben Tag mehrere Änderungen durchgeführt werden. In diesem Fall wurde die Datei zuletzt am 13.11.2001 und an diesem Tag das dritte Mal geändert.

Die anderen Zeilen geben folgende Informationen:

IN NS
Der zuständige Nameserver für die Domäne
IN MX Nummer
Der Mailserver. Es können mehrere Server angegeben werden. Die Nummer gibt die Rangfolge an. Je kleiner die Nummer, desto höher ist der Rang.
IN A
Definiert die IP-Nummer eines Hostnamens. Es wird nur einmal für jede IP-Nummer definiert. Weitere Namen werden per CNAME angegeben.
IN CNAME
Definiert einen weiteren Namen für einen Rechners (Nick­name).

Es werden die Namen mail, gaston und powermac auf IP-Nummern abgebildet und für mail die Nicknames asterix festgelegt.

Bei den in dieser Datei vorkommenden Namen wird vom System der Domänenname ergänzt, wenn der Name nicht mit einem Punkt beendet wird. Darum steht hinter mail.willemer.edu ein Punkt. Taucht im Zusammenhang des Tests der Domänname doppelt auf (also so etwas wie max.willemer.edu.willemer.edu) dann fehlt sicher irgendwo ein Punkt.

Tabelle Nummer nach Name

Die Datei nr2name ist das Gegenstück zur Namenstabelle. Hier werden die Hostanteile der IP-Nummern auf Namen abgebildet. Bei einem Class B Netz würden also zwei durch einen Punkt getrennte Nummern in der linken Spalte stehen. Diese Umsetzung von Nummern auf Namen wird im Allgemeinen bei Berechtigungsprüfungen oder bei Anzeigen verbundener Rechner und ähnlichem benötigt.

@       IN SOA      mail.willemer.edu.  root.mail.willemer.edu. 
                    (
                    1999062702      ;serial
                    360000          ;refresh every 100 hours
                    3600            ;retry after 1 hour
                    3600000         ;expire after 1000 hours
                    360000          ;default ttl is 100 hours
                    )
;                   Wer ist der zustaendige Nameserver
                    IN NS mail.willemer.edu.

137 IN PTR mail.willemer.edu. 144 IN PTR gaston.willemer.edu.

Testen: nslookup

Das Testen einer DNS-Konfiguration erfolgt mit dem Befehl nslookup. Nach dem Aufruf meldet sich nslookup mit dem zuständigen DNS-Router. Anschließend kann man Hostnamen eingeben und er zeigt die ermittelte IP-Nummer.

gaston > nslookup
Default Server:  www-proxy.KI1.srv.t-online.de
Address:  212.185.254.170

> www.willemer.de Server: www-proxy.KI1.srv.t-online.de Address: 212.185.254.170

Non-authoritative answer: Name: www.willemer.de Address: 212.227.118.90

> www.apple.de Server: www-proxy.KI1.srv.t-online.de Address: 212.185.254.170

Non-authoritative answer: Name: www.germany.euro.apple.com Address: 17.254.3.153 Aliases: www.apple.de

> exit

Hier wurde in einer Internetsitzung nach den Adressen www.willemer.de und der Adresse www.apple.de gefragt. Beendet wird die Sitzung mit exit. Der wiederholt auftretende Kommentar der Non-authoritative answer bedeutet, dass der angerufene Server (hier von T-Online) kein authorisierter DNS-Server der Domäne willemer.de oder apple.de ist.

nslookup kennt die Option server, mit der angegeben werden kann, welcher DNS-Server gefragt werden soll. Diese Möglichkeit kann genutzt werden, um festzustellen, ob der eigene DNS-Server seine Informationen auch an fremde DNS-Server exportiert.

Root-Cache Dateien

Per ftp vom rs.internic.net mit der Adresse 198.41.0.7 wird die Datei named.root aus dem Verzeichnis domain heruntergeladen. Diese Datei muss als Ausgangsdatei für den Cache verwendet werden. Hier ein Protokoll, wie man die Datei herunterlädt.

gaston # ftp rs.internic.net
Connected to rs.internic.net.
220-**********************************************************
220-*****                                                *****
220-***** InterNIC Public FTP Server                     *****
220-*****                                                *****
220-***** Login with username "anonymous"                *****
220-***** You may change directories to the following:   *****
220-*****                                                *****
220-*****   domain  -  Root Domain Zone Files            *****
220-*****                                                *****
220-***** Unauthorized access to this system may         *****
220-***** result in criminal prosecution.                *****
220-*****                                                *****
220-***** All sessions established with this server are  *****
220-***** monitored and logged. Disconnect now if you do *****
220-***** not consent to having your actions monitored   *****
220-***** and logged.                                    *****
220-*****                                                *****
220-**********************************************************
220-
220 FTP server ready.
Name (rs.internic.net:root): anonymous
331 Guest login ok, send your e-mail address as password.
Password:
230 User ftp logged in.  Access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd domain
250 CWD command successful.
ftp> get named.root
local: named.root remote: named.root
500 'EPSV': command not understood.
227 Passive Mode (198,41,0,6,177,154)
150 Opening BINARY mode data connection for named.root.
100% |*****************************|  2769   3.91 KB/s 00:00 ETA
226 Transfer complete.
2769 bytes received in 00:00 (3.07 KB/s)
ftp> quit
221-You have transferred 2769 bytes in 1 files.
221-Total traffic for this session was 4586 bytes in 1 transfer.
221 Thank you for using the FTP service on rs.internic.net.
gaston #

Die Datei named.root enthält die DNS-Server der Rootdomain, also die letzte Instanz.

Änderungen zu BIND 8 und 9

Die Version 8 brachte eine neue Konfigurationsdatei named.conf, die die bisherige named.boot ersetzt. Inhaltlich bleiben die bisherigen Einträge erhalten, sie werden syntaktisch ein wenig aufpoliert und zu Gruppen zusammengefasst.

options

Zunächst wird in der globalen Gruppe options eingetragen, was den Server als Ganzes betrifft. Beispielsweise findet man hier den Verzeichnisnamen, in dem die weiteren Konfigurationsdateien stehen.

options {
        directory "/var/named";
        forwarders { 194.25.2.129; };
};

In diesem Abschnitt wird neben dem Verzeichnis auch noch der Nameserver genannt, an den Anfragen weitergeleitet werden sollen, die der hiesige DNS-Server nicht beantworten kann. Neu sind die geschweiften Klammern, in denen die Konfigurationen zusammen gefasst werden und die Semikola am Ende jeder Definition.

Für jede Domäne, die der Server bearbeitet, werden zwei Zonen eingerichtet. Die eine dient der Namensauflösung, die andere der Nummernauflösung. Für die Domäne willemer.edu würde man beispielsweise folgende Einträge definieren.

#Namenaufloesung
zone "willemer.edu" in {
        type master;
        file "willemer.edu";
};

#Nummeraufloesung zone "109.168.192.in-addr.arpa" in { type master; file "named.192.168.109"; };

Hier wird definiert, dass die Namensauflösung für die Domäne willemer.edu in der Datei named.willemer.edu stattfindet. Dass diese Datei im Verzeichnis /var/named liegt, wurde bereits in den options festgelegt. Dasselbe geschiet mit der Nummernauflösung. Hier heißt die Datei named.192.168.109. In beiden Fällen ist der DNS-Server ein Master.

Der Cache wird in gleicher Weise eingetragen. Allerdings ist dieser nicht vom Typ master, sondern vom Typ hint:

# Einbinden der von rs.internic.net geholten root.named
zone "." in {
        type hint;
        file "named.root";
};

Die eigentlichen Konfigurationsdateien ändern sich bei BIND 8 nicht besonders. Neu ist ein TT-Wert, der in der Version 8 noch nicht zwingend ist, in der Version 9 aber verlangt wird. Er befindet sich entweder am Anfang der Datei in der folgenden Form:

$TTL 1W

Oder man setzt den Wert im SOA Eintrag direkt vor das Schlüsselwort IN.

@     86400 IN SOA ns hostmaster (

Fehlt dieser Eintrag, findet man in den syslog-Protokollen, also beispielsweise in der /var/log/messages die Meldung "no TTL specified".

Ein weiterer Fallstrick ist, dass die öffnende Klammer noch in der gleichen Zeile wie der Eintrag sein muss und nicht, wie das oben der Übersichtlichkeit halber gemacht wurde in der Folgezeile stehen kann.

Am TTL Eintrag zu sehen ist auch die Möglichkeit, die Werte, die bisher nur in Sekunden definiert wurden, nun auch in Stunden (H), Tagen (D) oder Wochen (W) auszudrücken.

Netzgruppen: /etc/netgroup

/etc/netgroup

Eine besondere Zusammenfassung von Benutzern sind die Netzgruppen. Diese werden in der Datei /etc/netgroup festgelegt. Jede Netzgruppe hat einen Namen und wird durch eingeklammerte Tripel zusammengefasst, die aus Rechner, Benutzer, Domäne bestehen. Beispiel:

awfriends    (,arnold,) (gaston,,) (,,willemer.edu)

Dieser Eintrag bedeutet, dass awfriends aus allen Benutzern mit dem Namen arnold bestehen. Dazu kommen alle Benutzer eines Rechners gaston, ganz gleich in welcher Domain, und alle Rechner der Domäne willemer.edu.

Eine solche Gruppe kann bei Rechtevergaben bei NFS oder in den Konfigurationsdateien der r-Kommandos verwendet werden. Um die Netzgruppe von einem einfachen Benutzer zu unterscheiden, wird ihr das @-Zeichen vorangestellt.

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru
Verlagsrechte bei galileo computing


Homepage (C) Copyright 2002 Arnold Willemer