Was ist der Unterschied zwischen der IP-Adresse eines Computers und dem lokalen Host?

12

Der Zweifel hat sich aus meiner anderen Frage ergeben. Wo, wenn ich meinem Pfad localhost gebe, funktioniert es. Aber es funktioniert nicht, wenn ich meinem System eine IP-Adresse gebe.

127.0.0.1 ist localhost in meiner / etc / hosts zugeordnet. Muss ich meine IP auf localhost abbilden? Ändert sich nicht

Sind sie nicht gleich?

Gibbs
quelle

Antworten:

14

Einige Dienste sind so konfiguriert, dass sie nur die IP-Adresse des lokalen Hosts überwachen.

Ein Beispiel wäre eine MySQL-Datenbank - Sie möchten, dass Ihre PHP-Anwendung auf demselben Server eine Verbindung zu ihr herstellt, aber keine externen Dienste oder gar Hacker von außen. Indem Sie MySQL so konfigurieren, dass nur localhost-Adressen ( 127.0.0.1zum Beispiel) und nicht die echte IP-Adresse Ihres Servers ( zum Beispiel) akzeptiert 10.x.x.xwerden, verringern Sie das Risiko einer Gefährdung.

Um Ihre Frage zu beantworten: Ja, sie sind unterschiedlich.

localhosterhält eine IP-Adresse im 127.0.0.0Netzwerk und ein virtuelles Loopback-Netzwerkgerät lo. Dieses Gerät ist auf allen Systemen verfügbar, unabhängig davon, ob ein physisches Netzwerkgerät installiert ist (z. B. WiFi oder Ethernet). Ein System, das nicht mit einem Netzwerk verbunden ist, verfügt über dieses Loopback-Gerät und daher über eine 127.0.0.0Adresse. Der Name localhostist einfach ein Name, der in diese IP-Adresse aufgelöst und in konfiguriert wird /etc/hosts.

Ihre echte IP-Adresse (z. B. 10.xxx) wird einem Netzwerkgerät zugewiesen. Dies ist normalerweise ein physisches Netzwerkgerät (WiFi oder Ethernet), obwohl es auch von fortgeschrittenen Setups tunoder tapGeräten verwendet werden kann. Auch hier kann die Namensauflösung (zum Beispiel www.example.orgbis 10.0.1.1) in konfiguriert /etc/hostsoder für die Verwendung von DNS eingerichtet werden.

garethTheRed
quelle
4

127.0.0.1 ist localhost , ist es die Adresse der aktuellen Maschine ist durch eine Loopback - Schnittstelle (nicht über den Netzwerkadapter - das funktioniert auch , wenn es keine Netzwerkchips im System vorhanden ist).

Die IP-Adresse, die Sie vom Router erhalten, ist eine andere: Mit dieser Adresse können andere Computer im Netzwerk Sie finden. Nun, Sie können diese IP-Adresse auch auf demselben Computer verwenden, aber sie funktioniert anders als zuvor: Sie wird an den Router und wieder an den Computer gesendet (ich vereinfache hier, aber das ist die allgemeine Idee).

Wenn Sie mit dem Internet verbunden sind, erhalten Sie auch eine andere IP-Adresse von Ihrem Internetdienstanbieter - die IP-Adresse, über die andere Computer auf der ganzen Welt Sie finden. Diese beiden beziehen sich jedoch mindestens auf denselben Netzwerkadapter ( eth0oder die WLAN-Karte oder was auch immer). localhostist anders.

Das Betriebssystem, die Server usw. können sich beim Zugriff von anders verhalten localhost. Sie haben normalerweise keine Firewall dafür, und viele lokale Dienste verfügen über eine localhostSchnittstelle, die lediglich zur Kommunikation mit einer Anwendung gedacht ist. Häufig möchten Sie Ihren Webserver testen, indem Sie ihn zunächst nur zum Abhören anschließen localhost, damit Sie überprüfen können, ob er funktioniert, andere Benutzer jedoch nicht. Anschließend können Sie neu konfigurieren, um Ihre externe IP-Adresse abzuhören und die Website zu bedienen (und erneut zu testen, ob noch alles funktioniert).

orion
quelle
Danke für die lange Erklärung. Ein weiterer Zweifel: Wenn ich meinen Dienst an localhost sage, geht er nicht an den Router. Aber wenn ich IP spezifiziere, wird es vom Router umgeleitet. Also muss ich in meinem zweiten Fall eine Internetverbindung haben. Nicht mit dem localhost. Bitte lassen Sie es mich wissen
Gibbs
Du brauchst eine Verbindung zum Router, sonst bekommst du network is unreachableoder ähnliches. Der Trick ist, dass (zumindest mit DHCP) es der Router ist, der Ihnen in erster Linie eine LAN-IP-Adresse gibt. Es ist möglich, dass dies in einigen Fällen unterschiedlich ist, wenn die Route bestehen bleibt. Im Wesentlichen benötigen Sie jedoch für die LAN-IP-Adresse ein LAN und für die externe IP-Adresse eine Verbindung zum Internetdienstanbieter.
Orion
3

Wenn Sie darauf zugreifen, localhostweist Ihre /etc/hostsDatei Ihren Computer an, nicht weiter zu suchen, und leitet Sie auf Ihren eigenen Computer weiter. Wenn Sie auf die lokale IP-Adresse zugreifen, fordert Ihr Computer den Router auf, die Daten abzurufen, und Ihr Router zeigt dann zurück auf Ihren Computer.

serenesat
quelle
3
@serenesat - Nein. Wenn Sie auf Ihre "echte" IP-Adresse zugreifen, werden Sie nicht bis zum Router vordringen - Sie werden diesen Computer nicht einmal verlassen. Versuchen Sie, Ihre lokale IP-Adresse zu
pingen
Diese Antwort ist einfach falsch.
Rui F Ribeiro