it-swarm.com.de

Format von / etc / hosts unter Linux (anders als Windows?)

Unter dieser Frage ist ein Beispiel eines /etc/hosts Datei von einem Linux (CentOS) und einem Windows-Computer. Die Linux-Datei enthält zwei Einträge mit Registerkarten nach der IP-Adresse (localhost.localdomain localhost) und Windows nur einen. Wenn ich die Hosts-Datei in Windows so bearbeiten möchte, dass der Computername (etest) anstelle von localhost angezeigt wird, ersetze ich einfach den Word-Localhost durch den gewünschten Computernamen. Der Computer muss nicht Teil einer Domäne sein.

In einem Linux-Computer sind die beiden Einträge localhost.localdomain und localhost scheinen darauf hinzudeuten, dass der Computer Teil einer Domäne sein muss. Ist das wahr?

Kann ich einfach beide Einträge in etest bearbeiten, so dass es lautet:

127.0.0.1       etest etest

oder muss ich einen Eintrag durch einen Domainnamen ersetzen?

Bitte lassen Sie mich zusätzlich wissen, was die zweite Zeile des /etc/hosts Datei auf dem Linux-Rechner ist für.

::1     localhost6.localdomain6 localhost6

hosts Datei auf einem Linux-Computer:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

hosts Datei auf einem Windows-Computer:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

127.0.0.1       localhost
24
Thomas

Sie möchten immer, dass die Adresse 127.0.0.1 zuerst in localhost aufgelöst wird. Wenn es eine Domain gibt, können Sie diese auch verwenden, aber stellen Sie dann sicher, dass localhost an zweiter Stelle aufgeführt ist. Wenn Sie Aliase für Ihren Computer hinzufügen möchten, die nach der Loopback-Adresse suchen, können Sie diese weiterhin als durch Leerzeichen getrennte Werte in dieser Zeile hinzufügen. Die Angabe einer Domain hier ist optional, aber entfernen Sie "localhost" nicht aus den Optionen.

14
Caleb

Das Format von /etc/hosts Unter Linux und Windows ist dasselbe:

IP address        hostname [hostalias]...

wobei die Klammern die übliche Art sind, anzuzeigen, dass etwas optional ist (geben Sie sie nicht ein), und die Punkte (...) bedeuten, dass es mehrere geben kann.

Sie sollten Ihren Host nicht Teil einer Domain machen müssen. Probieren Sie es aus und sehen Sie. Es wäre jedoch eine gute Idee, .localdomain Zu verwenden, wenn Sie keinen echten Domainnamen haben. Durch die Option ndots in /etc/resolv.conf kann die Auflösung von Hostnamen etwas beschleunigt werden.

Beachten Sie, dass Domain in diesem Sinne DNS-Domain (wie google.com Oder stackexchange.com) Bedeutet, keine Windows-Domain oder ähnliches.

Die Zeile, die mit ::1 Beginnt, steht für IPv6 . ::1 Ist wie 127.0.0.1 Unter dem neuen Adressierungsschema. Führen Sie ifconfig lo Aus und Sie sollten sehen, dass es zwei Adressen hat. Beachten Sie den Eintrag beginnend mit inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Weitere Informationen finden Sie in der Manpage hosts (5) .

23
Mikel

Ich kann nicht darüber sprechen, wie sich Windows von Linux unterscheiden kann, aber das Format der Definition des lokalen Computers wirkt sich auf die Ergebnisse aus, die Sie mit dem Befehl 'hostname' erhalten.

Das Format, das ich am besten finde, funktioniert wie folgt:

127.0.0.1 etest.mydomain.com etest localhost

Das Wichtigste, was ich gefunden habe, ist, zuerst den FQDN und danach die Aliase in beliebiger Reihenfolge zu haben.

Wenn Sie versuchen, die Namen nach der IP-Adresse neu anzuordnen und dann die Befehle 'hostname -s' (Kurzname) und 'hostname -f' (vollqualifizierter Domänenname oder FQDN) zu verwenden, werden Sie sehen, was ich meine. Es sollte ungefähr so ​​aussehen:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname' sollte für sich genommen den Namen zurückgeben, den Sie für den Host in /etc/conf.d/hostname oder/etc/hostname eingegeben haben (der Speicherort der Datei variiert je nach Verteilung, sollte sich jedoch irgendwo unter/etc befinden).

Wenn Sie die Reihenfolge der Namen ändern, werden Sie möglicherweise feststellen, dass "Hostname -f" Antworten wie "localhost" oder "Hostname: Systemfehler" liefert. Die einzige Anordnung, die ich gefunden habe, die richtig funktioniert, ist, den FQDN an die erste Stelle zu setzen.

Ich stelle die lokale IPv6-Adresszeile (:: 1) immer auf die gleiche Weise ein, d. H.:

::1 etest.mydomain.com etest localhost

Ich weiß, dass einige Distributionen den IPv6-Namen auf so etwas wie ip6-localhost setzen. Ich verwende IPv6 noch nicht wirklich, kann also keine Kommentare zu den besten Einstellungen für diese Zeile abgeben. Ich kann nur sagen, dass es in einem IPv4-Netzwerk funktioniert, wenn beide Leitungen den gleichen Namen haben.

6
Angelo Babudro

Behalten Sie die Slaves-Hosts-Datei bei

127.0.0.1 localhost

Behalten Sie die Master-Host-Datei bei

<private ip> master
<private ip> slave1
<private ip> slave2

100% arbeiten

0
Puneet