Soweit ich weiß, handelt es sich bei der hosts
Datei um eine von mehreren Systemfunktionen, die bei der Adressierung von Netzwerkknoten in einem Computernetzwerk hilfreich sind. Aber was sollte drin sein? Wenn ich Ubuntu standardmäßig installiere
127.0.0.1 localhost
wird da sein. Warum?
- Wie funktioniert das
/etc/hosts
bei JVM-Systemen wie Cassandra? - Wann ist DNS-Alternative, denke ich nicht auf einem einzelnen Computer?
/etc/hosts
Inhalte127.0.0.2 mycouchdb bookmarkdb myothercouchapp
und127.0.0.3 myapachi website
ich verwenden diese, um meine Entwicklung auf meinem lokalen Computer zu unterstützen. Ich habe 3 Dienste, die auf Port 80 lauschen. Ich möchte sie nicht auf den DNS setzen, da sie nur lokal sind.man 5 hosts
?Antworten:
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. 1Als 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: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 (wielocalhost
) 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: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:
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 .
quelle
Die Verwendung der Datei / etc / hosts, um einem lokalen System in einer Desktop-Umgebung einen lesbaren Namen zu geben, ist durchaus sinnvoll. Die hosts-Datei eignet sich hervorragend für die Verwendung in einem Heimnetzwerk oder sogar in einer Umgebung für kleine Unternehmen. Dies kann keine öffentliche Seite sein, wie die Internetadressierung - dann benötigen Sie DNS. Wenn das lokale Netzwerk groß genug ist oder einfach in verschiedene Subnetzwerke unterteilt ist oder aus einem anderen nützlichen Grund, wird DNS bevorzugt.
Die lokale Hostdatei und DNS werden mit unterschiedlicher Priorität verwaltet, sodass es nie zu Konflikten kommt.
quelle
/etc/hosts
Einträge hinterlassen hat , die in Zukunft dazu geführt haben, dass die Operationen nach Gruppe B (meine Gruppe) fehlgeschlagen sind , und am Ende haben wir etwas eingerichtet, um den Inhalt von/etc/hosts
Unter Linux sollte immer mindestens
127.0.0.1 localhost
die Datei/etc/hosts
sowie die entsprechende IPv6-Adresse für localhost enthalten sein .Es handelt sich einfach um die Auflösung des Hostnamens in eine numerische IPv4- oder IPv6-Adresse. Wenn Sie versuchen, sich mit (a) unix.stackexchange.com an einem Ort auf der Erde zu vernetzen, der wahrscheinlich nicht in Ihrer Nähe ist, oder (b) mit myotherpc im lokalen Netzwerk Ihres Hauses, ist dies entweder
/etc/hosts
oder ein Domain Name Server (DNS) Bei der Host-Auflösung müssen Sie sich also nicht erinnern, wenn Sie unix.stackexchage.com eingeben, was Sie als Mensch interessiert 185.53.179.7 da dies das ist, was der Computer wirklich wissen muss.Wie bereits erwähnt
/etc/nsswitch
, definiert Linux in der Regel die Auflösungsreihenfolge des Hostnamens. Dies bedeutet, dass zuerst DNS überprüft wird, bevor NIS überprüft wird, und/etc/hosts
ansonsten die Datei überprüft wird Host nicht gefundenWie Sie die Auftragsprüfung verwalten und was / wo / wer den DNS- oder NIS-Dienst verwaltet, liegt bei Ihnen. Sie können auch alles außer Kraft setzen, indem Sie / etc / nsswitch ändern , dass nur das Einchecken
/etc/hosts
und niemals das Überprüfen mit DNS oder NIS oder ...Bei einem einfachen Heimnetzwerk mit wenigen Computern, z. B. 2 bis N, würde ein Administrator diese einfach bearbeiten
/etc/hosts
auf jedem Computer , um die Richtigkeit zu einfacher, schneller und kostengünstiger als die Einrichtung eines Domain Name Servers oder eines anderen Dienstes mit einem Hauptstandort oder Berechtigung zum Auflösen des Hostnamens in eine IP-Adresse.für linux web search die geschichte und den grund dahinter
localhost
. Viele Dinge in Linux hängen davon ab, dass der Name localhost in 127.0.0.1 aufgelöst wird. Wenn dies nicht der Fall ist, treten Probleme auf, und diese localhost-Definition würde / sollte in einer lokalen Systemdatei wie / etc / hosts erfolgen./etc/hosts
Standardmäßig ist dies normalerweise das letzte Wort, auf das das Linux-Betriebssystem bei der Auflösung von Hostnamen zurückgreifen kann. in Windows XP und 7 ist die entsprechende Datei,C:\Windows\System32\drivers\etc\lmhosts
ich weiß nicht über Windows 8 oder 10.quelle