Die Datei wurde /etc/hosts
in früheren Zeiten von DARPA als Auflösungsdatei für alle mit dem Internet verbundenen Hosts gestartet (bevor DNS existierte). Es hat die höchste Priorität, dh, diese Datei wird vor allen anderen Namenssystemen bevorzugt. 1
Als einzelne Datei lässt sie sich jedoch nicht gut skalieren: Die Größe der Datei wird sehr bald zu groß. Aus diesem Grund wurde das DNS-System entwickelt, ein hierarchisch verteiltes Namenssystem. Es ermöglicht jedem Host, die numerische Adresse eines anderen Hosts effizient zu finden.
Das sehr alte Konzept der /etc/hosts
Datei ist sehr einfach, nur eine Adresse und ein Hostname:
127.0.0.1 localhost
für jede Zeile. Das ist eine einfache Liste von Adress-Host-Paaren. 2
Die hauptsächliche heutige Verwendung besteht darin, die DNS-Auflösung zu umgehen. Eine in der /etc/hosts
Datei gefundene Übereinstimmung wird vor jedem DNS-Eintrag verwendet. Wenn der gesuchte Name (wie localhost
) in der Datei gefunden wird, wird überhaupt keine DNS-Auflösung durchgeführt.
1 Nun, die Reihenfolge der Namensauflösung ist tatsächlich in definiert /etc/nsswitch.conf
, die normalerweise diesen Eintrag hat:
hosts: files dns
was bedeutet "try files ( /etc/hosts
); und wenn es fehlschlägt, versuchen Sie DNS."
Diese Reihenfolge könnte jedoch geändert oder erweitert werden.
2 (in der heutigen Zeit) Die hosts-Datei enthält Textzeilen, die aus einer IP-Adresse im ersten Textfeld gefolgt von einem oder mehreren Hostnamen bestehen. Jedes Feld ist durch Leerzeichen getrennt - Tabulatoren werden häufig aus historischen Gründen bevorzugt, es werden jedoch auch Leerzeichen verwendet. Kommentarzeilen können enthalten sein; Sie werden durch ein Oktothorpe (#) an der ersten Position solcher Linien angezeigt. Völlig leere Zeilen in der Datei werden ignoriert. Eine typische Hosts-Datei kann beispielsweise Folgendes enthalten:
127.0.0.1 localhost loopback
::1 localhost localhost6 ipv6-localhost ipv6-loopback mycomputer.local
192.168.0.8 mycomputer.lan
10.0.0.27 mycomputer.lan
Dieses Beispiel enthält Einträge für die Loopback-Adressen des Systems und deren Hostnamen. Die erste Zeile ist ein typischer Standardinhalt der Hostdatei. Die zweite Zeile enthält mehrere zusätzliche (möglicherweise nur in lokalen Systemen gültige) Namen. Das Beispiel zeigt, dass eine IP-Adresse mehrere Hostnamen haben kann (localhost und loopback) und dass ein Hostname sowohl IPv4- als auch IPv6-IP-Adressen zugeordnet werden kann, wie in der ersten bzw. zweiten Zeile gezeigt. Ein Name ( mycomputer.lan
) kann in mehrere Adressen ( 192.168.0.8 10.0.0.27
) aufgelöst werden. In diesem Fall hängt die Auswahl jedoch von den Routen (und deren Prioritäten) ab, die für den Computer festgelegt wurden.
Einige ältere Betriebssysteme hatten keine Möglichkeit , a Liste von Adressen für einen bestimmten Namen .