Frage Warum erscheint mein Hostname mit der Adresse 127.0.1.1 anstelle von 127.0.0.1 in / etc / hosts?


Das ist vielleicht eine kleine Frage, aber ich habe mir / etc / hosts auf meiner neuen Xubuntu-Installation angeschaut und folgendes gesehen:

127.0.0.1 localhost
127.0.1.1 myhostname

Bei den meisten nixes, die ich benutzt habe, wird die zweite Zeile weggelassen, und wenn ich meinen Hostnamen zur hosts-Datei hinzufügen möchte, mache ich das einfach:

127.0.0.1 localhost myhostname

Gibt es einen Unterschied zwischen diesen beiden Dateien in praktischem Sinn?


189
2018-02-23 17:44


Ursprung


Ich frage mich, kann ich nur die zweite Zeile löschen oder wird ein Prozess in Debian / Ubuntu die Zeile neu generieren und es zurück? - simgineer


Antworten:


Es gibt keinen großen Unterschied zwischen den beiden; 127/8 (z.B: 127.0.0.0 => 127.255.255.255) sind alle an die Loopback-Schnittstelle gebunden.

Der Grund dafür ist im Debian - Handbuch in dokumentiert CH. 5 Netzwerkeinrichtung - 5.1.1. Die Auflösung des Hostnamens.

Letztendlich ist es eine Fehlerumgehung; der ursprüngliche Bericht ist 316099.


148
2018-02-23 17:47



Genau das, was ich gesucht habe, danke! - Tom
Der eigentliche Grund: "Die Zuordnung des Systemhostnamens zu Letzterem hatte den unerwünschten Effekt, dass 'localhost.localdomain' der kanonische Hostname war, der dem Systemhostnamen zugeordnet war. Das heißt, 'hostname --fqdn' gab 'localhost.localdomain' zurück." - cmroanirgo
Ich habe es tatsächlich zu diesem doc lists.debian.org/debian-boot/2005/06/msg00938.html zurückverfolgt und es scheint, dass es, weil Thomas das Bedürfnis verspürte, 1.1 anstelle von 0.1 zu verwenden, was gleichwertig ist, mich korrigiere wenn ich falsch liege, aber das bedeutet, dass diese Antwort wirklich nur ein Breadcrumb ist? - Brian Thomas
@BrianThomas diese Nachricht schlägt vor, warum sie nicht gleichwertig sind. Sie wollten localhost und myhostname unterschiedlich sein - sonst wäre man ein Alias ​​des anderen. Beachten Sie, dass dies in IPv6 nicht funktioniert, wenn nur eine Loopback-Adresse vorhanden ist. Dies kann vermieden werden, indem ein NSS-Modul wie im Thread erwähnt verwendet wird, da es flexibler sein kann als / etc / hosts und unterschiedliche kanonische Namen zurückgibt, obwohl sie dieselbe IP-Adresse haben. Ich weiß das, weil Mein System wird mit einem solchen NSS-Modul konfiguriert. - sourcejedi


Um die verknüpften Informationen zusammenzufassen:

  • Es ist (debatably) nützlich, einen Eintrag in Ihrem zu haben /etc/hosts Übersetzen des vollqualifizierten Domänennamens der Maschine in seine permanente IP-Adresse.
  • debian-installerund genauer gesagt, seine netcfg Komponente erstellt derzeit (mindestens bis März 2013) diesen Eintrag.
  • Wenn dem Rechner keine permanente IP-Adresse bekannt ist, möchte der debian-installer immer noch diese Art von Eintrag haben.
  • Die Adresse 127.0.1.1 nutzt die Loopback-Schnittstellewie von deiner eigenen Maschine beantwortet 127.0.0.1 aber ist ein eindeutiger Eintrag in /etc/hosts was kann getrennt betrachtet werden von 127.0.0.1 wenn / wenn nötig.

Thomas Hood erklärt, diesen Eintrag wie folgt hinzuzufügen:

[This] stellt sicher, dass wenn der UNIX-Hostname ist aufgelöst dann wird es   immer ein eigener kanonischer Hostname sein

aber:

Auf lange Sicht sollte der UNIX Hostname nicht in / etc / hosts eingefügt werden.


44
2018-03-22 16:53



.. und so... ? muss ich user 127.0.0.1 für meine fdqn? oder 127.0.1.1? oder die statische lan ip? - realtebo
@realtebo: 1. Es ist nützlich und wird daher vom Installer hinzugefügt. 2. Es gibt kein "Muss" hier; und es ist nur relevant, wenn Ihr FQDN keine permanente Adresse hat. - einpoklum


Ich war selbst neugierig, und ich mochte keine der anderen Antworten, weil sie anscheinend nicht antworteten, wonach ich suchte.

Die Antwort: Rückblickend darauf Dok es scheint fast so, als würde Thomas sagen, dass es eine andere dedizierte IP auf dem Loopback gibt, die es erlaubt, kanonisch zu sein.

Beide verweisen auf Ihren Loopback. Verwenden Sie Folgendes    127.0.1.1 ist eine tatsächliche IP, auf dem Loopback, während     127.0.0.1 ist entweder das Gerät selbst oder eine andere IP auf dem Loopback. Beide enden im selben Subnetz, das den Loopback darstellt, sind jedoch durch ip getrennt. Sie sind gleichwertig, aber getrennt wegen dedizierter IP.

Der Punkt ist, Sie können alle Ihre Einträge in einer Zeile wie folgt haben

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

Wenn Ihr Hostname lokal ist, also keinen globalen Internet-DNS-Eintrag hat, der einer tatsächlichen Internet-IP zugeordnet ist, dann sagte Thomas in diesem Fall MÜSSEN habe die zweite Eingabezeile, um sie so zu widmen (kanonisch).

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

7
2017-08-02 05:02



in aller fairheit, nachdem ich das schließlich auf eine art und weise zusammenfasste, die für mich einen sinn ergab, sehe ich, dass ziemlich genau das, was einpoklum zu erklären versuchte, im rückblick aussieht. - Brian Thomas
OK negative Abstimmung, nicht sicher warum. Ich glaube immer noch, das ist die beste Antwort, oder ich hätte es nicht gesagt, nach der Landung hier. die ursprüngliche Antwort half, aber nahm nicht alle Details auf. Ich würde mit diesem gehen. - Brian Thomas