Namensauflösung |
hostname Name |
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 gaston.willemer.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 |
ipadresse name nickname ... # Kommentar |
127.0.0.1 localhost 192.168.109.144 gaston.willemer.edu gaston 192.168.109.144 www.galileo.de |
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 |
order hosts bind multi on |
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.
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.
@ 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.
|
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.
Die anderen Zeilen geben folgende Informationen:
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.
@ 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.
|
gaston > nslookup Default Server: www-proxy.KI1.srv.t-online.de Address: 212.185.254.170 |
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.
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.
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";
};
|
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.
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
|