Was ist der Unterschied zwischen der localhost-Adresse 127.0.0.1 und 127.0.1.1?

48

Ich lerne gerade mit Ubuntu und als ich versuchte, das DNS zu konfigurieren, muss ich mich mit etwas beschäftigen, das localhost, Loopback-Schnittstelle nennt. Kann mir jemand die Unterschiede zwischen ihnen und die Bedeutung der Adressen 127.0.0.1 und 127.0.1.1 erklären, wann sollte ich 127.0.0.1 verwenden und wann sollte ich 127.0.1.1 verwenden

Ock
quelle
1
^^^ Ich habe meine Antwort getippt und @jdv hat sie in die Kommentare
eingefügt

Antworten:

36

Wenn Ihr Computer gestartet wird, muss die Zuordnung einiger Hostnamen zu IP-Adressen bekannt sein, bevor auf DNS verwiesen werden kann. Diese Zuordnung wird in der Datei / etc / hosts gespeichert. Wenn kein Nameserver vorhanden ist, ermittelt ein Netzwerkprogramm auf Ihrem System anhand dieser Datei die IP-Adresse, die einem Hostnamen entspricht.

Das Loopback-Gerät ist eine spezielle virtuelle Netzwerkschnittstelle, über die Ihr Computer mit sich selbst kommuniziert. Es wird hauptsächlich zur Diagnose und Fehlerbehebung sowie zum Herstellen einer Verbindung zu Servern verwendet, die auf dem lokalen Computer ausgeführt werden.

das loopback ist standardmäßig interface lo und ip 127.0.0.1

127.0.0.1 localhost

Debian als Ubuntu definiert 127.0.1.1 für die Zuordnung der IP Ihres Hostnamens, falls Sie kein Netzwerk haben

Der Hostname stimmt mit dem in "/ etc / hostname" definierten Hostnamen überein.

Für ein System mit einer permanenten IP-Adresse sollte diese permanente IP-Adresse hier anstelle von 127.0.1.1 verwendet werden.

127.0.1.1 Hostname

Pascal Fares
quelle
1
Ich verstehe die Philosophie, bin aber mit der Form in / etc / hosts nicht einverstanden.
Anthony Rutledge
21

Es bedeutet eigentlich nichts Besonderes (es ist nur eine weitere IP im 127.0.0.0/8-Block).

Der Grund, warum es als IP für Ihren Hostnamen verwendet wird, wird in Abschnitt 10.4 des Debian-Referenzhandbuchs erklärt.

Zitat:

Einige Software (z. B. GNOME) erwartet, dass der Systemhostname in eine IP-Adresse mit einem kanonischen, vollständig qualifizierten Domänennamen aufgelöst werden kann. Dies ist wirklich unangemessen, da Systemhostnamen und Domänennamen zwei sehr unterschiedliche Dinge sind. aber da hast du es. Um diese Software zu unterstützen, muss sichergestellt sein, dass der Systemhostname aufgelöst werden kann. In den meisten Fällen wird dazu eine Zeile in / etc / hosts eingefügt, die eine IP-Adresse und den Hostnamen des Systems enthält. Wenn Ihr System über eine permanente IP-Adresse verfügt, verwenden Sie diese. Andernfalls verwenden Sie die Adresse 127.0.1.1.

Videonauth
quelle
1

Die folgende Bildschirmaufnahme erzählt eine interessante Geschichte.

Ubuntu-Standarddatei / etc / hosts und ifconfig-Ausgabe

Tatsächlich zeigt es, dass dies 127.0.0.1die wahre Loopback-Adresse ist. Daher 127.0.1.1gibt es andere Gründe als die der grundlegenden IP-Vernetzung.

Wie von @Videonauth erwähnt, dient die 127.0.1.1Linie als Krücke, als Fix, um knifflige Software glücklich zu machen.

Meiner Ansicht nach sollte der Loopback-Eintrag fast immer in sein /etc/hosts. Wenn Sie Ihren Hostnamen vom Standardwert von localhoständern, ändern Sie den Hostnamen in der 127.0.1.1Zeile, nicht in der 127.0.0.1Zeile.

Wenn Sie Ihren Hostnamen ändern und Ihrem Computer eine statische IP-Adresse zuweisen, ändern Sie sowohl den Hostnamen als auch die IP-Adresse in der Zeile 127.0.1.1.

Kurz gesagt, lassen Sie die 127.0.0.1Aufzeichnung in Ruhe.

Anthony Rutledge
quelle
Wenn Sie also eine statische IP-Adresse verwendet haben, z. B. 192.168.1.1 , sollte die Zeile 127.0.1.1 durch den Hostnamen 192.168.1.1 ersetzt werden. Ist das richtig?
Chris
192.168.1.1 <hostname>Ja.
Anthony Rutledge
Vielen Dank, ich war mir nicht sicher, ich richte ein paar VMs ein und die Host-Dateien hatten alle das, ich verstand, es war ein Loopback für einige Anwendungen, aber dann war es 127.0.0.1, also war ich nicht sicher, ob es bleiben musste oder nicht .
Chris