GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

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 (schreiben Sie sie nicht wirklich ein) und die Punkte (... ) bedeutet, dass es mehr als einen geben kann.

Sie sollten Ihren Host nicht zu einem Teil einer Domain machen müssen. Probieren Sie es aus und sehen Sie. Aber es wäre eine gute Idee, .localdomain zu verwenden wenn Sie keinen echten Domainnamen haben. Aufgrund der ndots kann es die Auflösung des Hostnamens etwas beschleunigen Option in /etc/resolv.conf .

Beachten Sie, dass Domäne in diesem Sinne DNS-Domäne bedeutet (wie google.com oder stackexchange.com ), keine Windows-Domäne oder ähnliches.

Die Zeile, die mit ::1 beginnt ist 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, der mit inet6 beginnt .

$ 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 Einzelheiten finden Sie auf der Manpage hosts(5).


Sie möchten immer, dass die Adresse 127.0.0.1 zuerst in localhost aufgelöst wird. Wenn es eine Domäne 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 sie weiterhin als durch Leerzeichen getrennte Werte in dieser Zeile hinzufügen. Die Angabe einer Domain ist hier optional, aber entfernen Sie "localhost" nicht aus den Optionen.


Ich kann nicht sagen, wie sich Windows von Linux unterscheidet, aber das Format der Definition der lokalen Maschine wirkt sich auf die Ergebnisse aus, die Sie mit dem Befehl „hostname“ erhalten.

Das Format, das meiner Meinung nach am besten funktioniert, ist dieses:

127.0.0.1 etest.mydomain.com etest localhost

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

Wenn Sie damit experimentieren, die Namen nach der IP-Adresse neu anzuordnen und dann die Befehle „hostname -s“ (Kurzname) und „hostname -f“ (vollständig qualifizierter Domänenname oder FQDN) verwenden, werden Sie sehen, was ich meine. Es sollte etwa so aussehen:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname' selbst sollte 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 Distribution, sollte aber irgendwo unter /etc zu finden sein).

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

Die lokale IPv6-Adresszeile (::1) setze ich immer gleich, also:

::1 etest.mydomain.com etest localhost

Ich weiß, dass einige Distributionen den IPv6-Namen auf etwas wie ip6-localhost setzen. Ich verwende IPv6 noch nicht wirklich, daher kann ich nicht sagen, was die besten Einstellungen für diese Leitung wären. Ich kann nur sagen, dass es in einem IPv4-Netzwerk funktioniert, wenn beide Leitungen denselben Namen haben.


Linux
  1. Beschränken Sie den Zugriff auf Linux-Server mithilfe von TCP-Wrappern

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Domainnamen einschließen oder nicht in /etc/hosts?

  4. Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

  5. CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her

Umstieg von Windows auf Linux

So greifen Sie von Windows 10 auf Linux-Partitionen zu

Der richtige Weg zum Bearbeiten von /etc/passwd- und /etc/group-Dateien unter Linux

Wie wird /etc/motd aktualisiert?

TCP Wrapper (hosts.allow &hosts.deny) Befehlsoptionen in Linux

/etc/hosts-Datei unter Linux verstehen