Der Sinn der Zuweisung von Namen zu IP-Nummern besteht darin, sie für Menschen leichter merkbar zu machen. Eigentlich bestimmt eine IP-Adresse eine Netzwerk-Schnittstelle, die einem Gerät, wie einer Netzwerkkarte, zugeordnet ist. Da jeder Rechner mehrere Netzwerkkarten haben kann, und jede Karte mehrere Schnittstellen, kann ein einzelner Rechner im Domain-Namenssystem mehrere Namen haben.
Jeder Rechner wird jedoch durch einen offiziellen („kanonischen“) Namen identifiziert, der in der Datei /etc/hostname
gespeichert ist und vom Linux-Kernel mit Hilfe von Initialisierungsskripten durch den Befehl hostname
bekanntgegeben wird. Die aktuelle Einstellung ist in einem virtuellen Dateisystem verfügbar und kann mit dem Befehl cat /proc/sys/kernel/hostname
abgerufen werden.
Überraschenderweise wird der Domain-Name nicht in dieser Weise verwaltet, sondern ergibt sich aus dem vollständigen Namen des Rechners, der durch Namensauflösung erlangt wird. Sie können ihn in der Datei /etc/hosts
ändern; schreiben Sie einfach einen vollständigen Namen für den Rechner an den Anfang der Liste von Namen, die der Adresse des Rechners zugeordnet sind, wie in dem folgenden Beispiel:
Das Verfahren zur Namensauflösung in Linux ist modular und kann verschiedene in der Datei /etc/nsswitch.conf
aufgeführte Informationsquellen verwenden. Der Eintrag, der sich auf die Namensauflösung bezieht, ist hosts
. Standardmäßig enthält es den Ausdruck files dns
, der bedeutet, dass das System zunächst in der Datei /etc/hosts
nachsieht und dann bei DNS-Servern. NIS/NIS+ und LDAP-Server sind weitere mögliche Quellen.
8.3.1.1. DNS-Server konfigurieren
DNS (Domain Name Service) ist ein verteilter und hierarchischer Dienst, der für Namen die dazugehörigen IP-Adressen ermittelt und umgekehrt. Insbesondere kann er einen menschengerechten Namen wie zum Beispiel www.eyrolles.com
in die entsprechende IP-Adresse 213.244.11.247
umwandeln.
Um auf DNS-Informationen zugreifen zu können, muss ein DNS-Server zur Übertragung der Anfragen zur Verfügung stehen. Falcot Corp. hat seinen eigenen, aber ein einzelner Anwender wird eher die DNS-Server seines Internetanbieters nutzen.
The DNS servers to be used are indicated in /etc/resolv.conf
, one per line, with the nameserver
keyword preceding an IP address, as in the following example:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
Note that the /etc/resolv.conf
file may be handled automatically (and overwritten) when the network is managed by NetworkManager or configured via DHCP, or when resolvconf is installed or systemd-resolved(8) is enabled.
8.3.1.2. Die Datei /etc/hosts
Falls es im lokalen Netzwerk keinen Namensserver gibt, ist es möglich, stattdessen in der Datei /etc/hosts
, die normalerweise für lokale Netzwerkrechner reserviert ist, eine kleine Tabelle zu erstellen, in der IP-Adressen und Hostnamen von Rechnern einander zugeordnet sind. Die Syntax dieser Datei, wie sie in hosts(5) beschrieben ist, ist sehr einfach: Jede Zeile enthält eine spezifische IP-Adresse gefolgt von der Liste der ihr zugeordneten Namen (von denen der erste „vollständig ausgewiesen“ (“completely qualified”) ist, das heißt, dass er den Domain-Namen enthält).
Diese Datei ist selbst bei Netzwerkausfällen verfügbar, oder wenn DNS-Server nicht erreichbar sind, ist aber nur dann wirklich nützlich, wenn sie auf alle Rechner des Netzwerks kopiert wurde. Bei der kleinsten Veränderung in den Zuordnungen muss die Datei überall aktualisiert werden. Deshalb enthält /etc/hosts
gewöhnlich nur die wichtigsten Einträge.
Diese Datei reicht für ein kleines nicht mit dem Internet verbundenes Netzwerk aus; ab fünf Rechnern ist es aber empfehlenswert, einen richtigen DNS-Server einzurichten.