Wie ordne ich localhost eine IP-Adresse zu?

16

Ich möchte die IP-Adresse 192.168.1.222 auf 127.0.0.1 abbilden, damit ich, wenn ich 192.168.1.222 im Webbrowser oder im Ping-Befehl verwende, die Antwort erhalte (und die von meinem 127.0.0.1).

Ist dies über Routingtabellen möglich oder muss ich eine Art virtuellen Netzwerkadapter hinzufügen?

Ich versuche, dieses Problem auf einem Windows 7-Computer zu lösen, und habe möglicherweise keine anderen Optionen als Windows XP.

Ich stecke genau dort fest.

Sebastian
quelle
Ich weiß nicht, ob das möglich ist, aber es ist einfach, mit Hostnamen umzugehen. Ist es nur für einen Computer?
Kanadischer Luke
Okay, hier zwei Fragen: 1. Wenn Sie versuchen, in einem Webbrowser auf das lokale System zuzugreifen, warum nicht einfach die 127.0.0.1ganze Zeit verwenden? 2. Wenn dies für das lokale System gilt, warum sollten Sie sich dann überhaupt mit umständlichen IPs befassen, anstatt den reservierten Hostnamen zu verwenden localhost?
Iszi
@DiogoRocha Bitte nehmen Sie Ihre Änderungen umfangreicher als diese vor. Ein einzelnes Zeichen oder die Groß- oder Kleinschreibung eines Begriffs sind für eine Bearbeitung, bei der Themen auf die Titelseite verschoben werden, bei weitem nicht relevant genug. Dies und dieses Thema gelten für vorgeschlagene Änderungen, das Prinzip gilt jedoch auch, wenn Sie über Bearbeitungsberechtigungen verfügen. Vielen Dank.
Daniel Beck
@ Luke: Ich kann nicht mit Hostnamen arbeiten, daher ist die Hostdatei hier nicht verfügbar
Sebastian
@Iszi: Ich brauche es, um eine Software denken zu lassen, dass eine andere Maschine vorhanden ist.
Sebastian

Antworten:

15

Sie müssten einer Ihrer Netzwerkschnittstellen die IP-Adresse 192.168.1.222 zuweisen. Das bloße Ändern der Routing-Tabelle führt nicht zum gewünschten Ergebnis. Der Datenverkehr würde zwar auf dem lokalen Host eintreffen, Ihr Computer wird jedoch feststellen, dass die Nachricht ihr Ziel noch nicht erreicht hat. Wenn keine weiteren Optionen zum Weiterleiten der Nachricht vorhanden sind, wird sie verworfen.

Das Zuweisen von 192.168.1.222 zu einer Ihrer physischen Schnittstellen ist die einfachste Lösung. Wenn Sie jedoch keine Ersatzschnittstelle haben und nicht möchten, dass sich Ihre Änderungen auf den Rest des Netzwerks auswirken, können Sie eine andere Loopback-Schnittstelle erstellen, die derjenigen ähnelt bei 127.0.0.1.

Die Vorgehensweise hat sich seit Windows XP etwas geändert . Öffnen Sie den Geräte-Manager über das Bedienfeld und klicken Sie im Menü "Aktion" auf "Legacy-Hardware hinzufügen". Fehlt diese Option, kann der Assistent über die ausführbare Datei 'hdwwiz.exe' gestartet werden.

Gerätemanager

Wählen Sie Hardware manuell aus einer Liste aus, anstatt sie automatisch zu installieren. Wählen Sie in den folgenden Menüs "Netzwerkadapter", "Microsoft" als Hersteller und suchen Sie nach dem "Microsoft Loopback Adapter". Wenn das Gerät korrekt installiert wurde, wird im Gerätemanager ein neuer Netzwerkadapter angezeigt.

Öffnen Sie das Netzwerk- und Freigabecenter über das Bedienfeld und klicken Sie in der linken Leiste auf "Adaptereinstellungen ändern". Das folgende Fenster wird angezeigt, einschließlich unseres neu installierten Adapters.

Netzwerkverbindungen

Öffnen Sie seine Eigenschaften. Wählen Sie auf der Registerkarte Netzwerk das IPv4-Element aus und klicken Sie auf die Schaltfläche Eigenschaften. Geben Sie die IP-Adresse ein, die Sie der Loopback-Schnittstelle zuweisen möchten. Da es die einzige Schnittstelle in seinem Netzwerk ist, geben wir '255.255.255.255' als Subnetzmaske ein.

IP-Adressen

Voila.

C:\Users\Marcks>ping 192.168.1.122

Pinging 192.168.1.122 with 32 bytes of data:
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128
Reply from 192.168.1.122: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.1.122:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Marcks Thomas
quelle
1
Unter Windows 7 wurde das Gerät "Microsoft KM-TEST Loopback Adapter" genannt. Ansonsten war dieser Kommentar genau richtig und hat bei mir perfekt funktioniert! Vielen Dank!
Richtiger Name redigiert
Im Geräte-Manager von Windows 10 ist diese Option nicht mehr verfügbar. Es kann durch Ausführen zugegriffen werden hdwwiz.exe.
Samir Aguiar
8

Führen Sie unter der Admin-Eingabeaufforderung Folgendes aus:

C:\Windows\system32>netsh int ip add address "Loopback" 192.168.1.222

C:\Windows\system32>netsh int ip show addresses

接口 "Loopback Pseudo-Interface 1" 的配置
    DHCP 已启用:                          否
    IP 地址:                           192.168.1.222
    子网前缀:                        192.168.1.0/24 (掩码 255.255.255.0)
    IP 地址:                           127.0.0.1
    子网前缀:                        127.0.0.0/8 (掩码 255.0.0.0)
    InterfaceMetric:                      75

C:\Windows\system32>ping 192.168.1.222

正在 Ping 192.168.1.222 具有 32 字节的数据:
来自 192.168.1.222 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.1.222 的回复: 字节=32 时间<1ms TTL=128
lk_vc
quelle
7

Dies sollte in Windows 7 und XP über das Befehlsfenster funktionieren:

route ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

Wenn die neue Route zwischen Neustarts bestehen bleiben soll:

route -p ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1
Raihan
quelle
Diese Methode funktioniert nicht. Ich bekomme nicht den Ping auf 192.168.1.222, um eine Antwort zurückzugeben. Was ich jetzt getan habe, war, der Schnittstelle mehrere IPs hinzuzufügen (IP-Aliasing), aber auch dies funktioniert nicht, da der Dienst, mit dem ich zu kommunizieren versuche, nur 1 IP zu hören scheint.
Sebastian
2
Jetzt, da ich darüber nachdenke, bin ich mir ziemlich sicher, dass dies nicht funktioniert, es 192.168.1.222sei denn, es handelt sich um eine IP, die tatsächlich zum lokalen Computer gehört. In diesem Fall wäre sie sowieso redundant. Dadurch wird der Computer gezwungen , Pakete 192.168.1.222an den Loopback zu senden. Auf der empfangenden Seite werden sie jedoch verworfen, wenn dies nicht die lokale IP-Adresse ist.
Iszi
Dies funktionierte perfekt für mich, wenn und nur wenn ich einen passenden Eintrag in der Hosts-Datei hinzufüge. Beachten Sie jedoch, dass mein Fall umgekehrt ist, da ich localhost einer externen IP (in diesem Fall der IP meines VM-Hosts) zuordne.
Jim O'Brien
@ JimO'Brien Bedeutet das, dass du route ADD 127.0.0.1 MASK 255.255.255.255 192.168.1.222stattdessen benutzt hast ?
Shayan
Dieser Befehl funktioniert nicht für mich, ich bekomme:The route addition failed: The parameter is incorrect.
Shayan