Was ist das Loopback-Gerät und wie verwende ich es?

138

Was sind Loopback und Localhost ?

Warum gibt es sie, wofür werden sie verwendet und wie würde ich sie verwenden?

Eliah Kagan
quelle
Ist es nicht zwei getrennte Fragen in 1?
Anwar

Antworten:

180

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.

Der Zweck des Loopbacks

Wenn eine Netzwerkschnittstelle getrennt wird, z. B. wenn ein Ethernet- Anschluss nicht angeschlossen oder WLAN deaktiviert ist oder keinem Zugriffspunkt zugeordnet ist, ist keine Kommunikation über diese Schnittstelle möglich, nicht einmal zwischen Ihrem Computer und sich selbst. Die Loopback-Schnittstelle stellt keine tatsächliche Hardware dar, ist jedoch vorhanden, sodass auf Ihrem Computer ausgeführte Anwendungen immer eine Verbindung zu Servern auf demselben Computer herstellen können.

Dies ist wichtig für die Fehlerbehebung (vergleichbar mit einem Blick in den Spiegel). Das Loopback-Gerät wird manchmal als reines Diagnosewerkzeug erklärt. Es ist jedoch auch hilfreich, wenn ein Server, der eine von Ihnen benötigte Ressource anbietet , auf Ihrem eigenen Computer ausgeführt wird .

Wenn Sie beispielsweise einen Webserver ausführen, verfügen Sie über alle Ihre Webdokumente und können diese Datei für Datei untersuchen. Möglicherweise können Sie die Dateien auch in Ihren Browser laden. Bei serverseitigen aktiven Inhalten funktioniert dies jedoch nicht so, wie wenn jemand normal darauf zugreift.

Wenn Sie also die gleiche Site erleben möchten, die andere tun, ist es normalerweise am besten, eine Verbindung zu Ihrem eigenen Server herzustellen. Die Loopback-Schnittstelle erleichtert dies.

Adressen auf Loopback

Bei IPv4 werden der Loopback-Schnittstelle alle IPs im 127.0.0.0/8 Adressblock zugewiesen . Das heißt, 127.0.0.1durch 127.255.255.254 alle vertreten Sie Ihren Computer. In den meisten Fällen ist es jedoch nur erforderlich, eine IP-Adresse zu verwenden 127.0.0.1. Dieser IP ist der Hostname von localhostzugeordnet.

Wenn Sie sich also bobüber SSH beim SSH-Server anmelden möchten, der auf Ihrem eigenen Computer ausgeführt wird, verwenden Sie Folgendes:

ssh bob@localhost

Wie andere Netzwerkadapter wird das Loopback-Gerät in der Ausgabe von angezeigt ifconfig. Sein Name ist lo.

ek@Del:~$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:50121 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4381349 (4.3 MB)  TX bytes:4381349 (4.3 MB)

Ein Beispiel: CUPS

Eine übliche Produktionsanwendung (dh nicht nur Diagnose) von localhostUbuntu ist die Durchführung einer erweiterten Druckerkonfiguration. Gehen Sie in einem Webbrowser zu:

http://localhost:631

CUPS führt einen Webserver auf Port 631 aus, und dies kann zum Konfigurieren des Druckens verwendet werden, unabhängig davon, welche GUI Sie ausführen (oder selbst wenn Sie überhaupt keine GUI ausführen).

Screenshot mit CUPS in einem Webbrowser

Wenn Sie versuchen, eine Verbindung herzustellen http://127.0.0.1:631, funktioniert dies auch. Wenn Sie jedoch versuchen, eine Verbindung herzustellen http://127.0.0.2, wird dies nicht der Fall sein. Alle 127.*.*.*Adressen identifizieren Ihren Computer auf der Loopback-Schnittstelle, aber ein Serverprogramm kann entscheiden, nur eine bestimmte IP-Adresse zu binden.

Ein bemerkenswerter Unterschied zu Windows

Wenn Sie aus einem Windows-Hintergrund stammen, können Sie davon ausgehen loopback, dass es sich um ein Synonym von handelt localhost(und somit in der Lage ist, einen Ping- loopbackBefehl zu senden, eine Verbindung zu Servern loopbackherzustellen usw.). Dieses Verhalten ist Windows eigen.

Andere Bedeutungen von "Loopback"

Das allgemeine Konzept von Loopback ist ein Mechanismus, durch den eine Nachricht oder ein Signal dahin zurückkehrt, wo es begonnen hat.

Es gibt also ein paar andere Möglichkeiten, wie Loopback in Ubuntu verwendet wird, die nicht mit dem Loopback-Gerät im Netzwerk verwechselt werden sollten.

Loop-Halterungen

Um ein Disk-Image in Ubuntu zu mounten, können Sie Folgendes ausführen:

sudo mount -o loop image.iso /media/label

Dies wird normalerweise als Loop-Gerät (und nicht als Loopback-Gerät ) bezeichnet, gelegentlich wird jedoch der Begriff Loopback-Dateischnittstelle verwendet.

Dies hat nichts mit dem Loopback-Gerät im Netzwerk zu tun.

Klang

Pulseaudio und andere Soundsysteme bieten einen Mechanismus zum "Verbinden" von Line-In und Line-Out, so dass der Audioeingang wieder auf Ihre Lautsprecher / Kopfhörer übertragen wird. Das Loopback-Modul von Pulseaudio erleichtert dies.

Dabei ist es ist richtig , den Begriff zu verwenden Loopback , aber wie Loop - Mounts, das hat auch nichts mit dem Loopback - Gerät in der Vernetzung zu tun. (Und auch nichts mit Loop-Mounts zu tun.)

Weitere Lektüre

Eliah Kagan
quelle
6
Warum ordnet 127.0.0.0/8 127.0.0.1 bis 127.255.255.254 statt 127.0.0.0 bis 127.255.255.255 zu? (Entschuldigung, wenn dies als Highjack wahrgenommen wird.)
JellicleCat
5
Er erwähnte nur verwendbare Host-Adressen und schloss Netzwerk- und Broadcast-Adressen aus. Sie haben Recht, wenn Sie sagen, dass es 127.0.0.0-127.255.255.255 sein sollte, aber der erste und der letzte Zweck haben andere.
Gabriel Samfira
1
@Eliah, muss localhostdarauf zeigen 127.0.0.1? Oder könnte es zB auch auf eine andere Loopback-Adresse verweisen 127.0.0.2?
Pacerier
@ GabrielSamfira, warum wird beim Versuch, über SSH eine Verbindung zu diesen beiden IP-Adressen herzustellen (z. B. durch Ausführen von ssh 127.0.0.0"Network is unreachable") anstelle von "Connection refused" angezeigt ?
MAChitgarha
3
@MAChitgarha Die erste IP-Adresse in einem Subnetz ist die Netzwerkidentifikationsadresse und die letzte IP-Adresse ist die Broadcast-Adresse. Beides kann standardmäßig keinem Host zugewiesen werden. Die Broadcast-Adresse wird verwendet, um jeden Host in einem Netzwerk zu adressieren, und die Netzwerkadresse wird verwendet, um das Netzwerk selbst zu identifizieren. Bitte sehen Sie: en.wikipedia.org/wiki/IP_address
Gabriel Samfira