如何将IP地址映射到localhost?


16

我想将IP地址192.168.1.222映射到127.0.0.1,以便在Web浏览器或ping命令中使用192.168.1.222时得到响应(以及来自127.0.0.1的响应)。

是否可以通过路由表完成此操作,还是必须添加某种虚拟网络适配器?

我尝试在Windows 7计算机上处​​理此问题,并且除了Windows XP之外没有其他选择。

我被困在那里。


不知道这是否可行,但是使用主机名很容易。仅用于一台计算机吗?
加拿大卢克

好的,这里有两个问题:1.如果您试图通过Web浏览器访问本地系统,为什么不一直使用127.0.0.1它?2.如果这是用于本地系统,为什么不使用保留的主机名就完全处理笨拙的IP localhost
Iszi 2011年

@DiogoRocha请进行比这些更实质的编辑。对于将主题推送到首页的编辑,单个字符或术语的大写字母几乎不够相关。主题和主题适用于建议的编辑,但是即使您拥有编辑权限,该原则仍然适用。谢谢。
丹尼尔·贝克

@Luke:我无法使用主机名,因此hosts文件在这里不可行
Sebastian

@Iszi:我需要它来让软件认为存在另外一台机器。
塞巴斯蒂安'12

Answers:


15

您必须将IP地址192.168.1.222分配给您的网络接口之一。仅更改路由表将不会获得预期的结果。流量确实会到达本地主机,但是您的计算机将随后推断出消息尚未到达目的地。缺少传递消息的任何其他选择,它将被丢弃。

将192.168.1.222分配给您的一个物理接口是最简单的解决方案,但是如果您没有备用接口并且不希望所做的更改影响网络的其余部分,则可以创建另一个环回接口,类似于该接口在127.0.0.1。

Windows XP以来,该过程已有所更改。通过控制面板打开设备管理器,然后在“操作”菜单中,单击“添加旧硬件”。如果缺少此选项,则可以通过可执行文件“ hdwwiz.exe”启动向导。

装置经理

询问时,请从列表中手动选择硬件,而不是自动安装。在以下菜单中,选择“网络适配器”,“ Microsoft”作为制造商,然后查找“ Microsoft Loopback Adapter”。如果已正确安装设备,则新的网络适配器将出现在设备管理器中。

通过控制面板打开网络和共享中心,然后单击左侧栏中的“更改适配器设置”。将出现以下窗口,包括我们新安装的适配器。

网络连接

打开其属性。从“网络”选项卡中,选择IPv4项,然后单击“属性”按钮。输入您希望分配给环回接口的IP地址。因为它将是其网络上的唯一接口,所以我们输入“ 255.255.255.255”作为子网掩码。

IP地址

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

1
在Windows 7上,该设备称为“ Microsoft KM-TEST回送适配器”。否则,此评论会引起争议,并且对我来说效果很好!非常感谢你!
修订

在Windows 10的设备管理器上,该选项不再可用。可以通过运行来访问它hdwwiz.exe
萨米尔·阿吉亚尔

8

在管理员命令提示符下运行:

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

7

从命令窗口在Windows 7和XP中都可以使用:

route ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

如果您希望新路由在两次重启之间保持不变:

route -p ADD 192.168.1.222 MASK 255.255.255.255 127.0.0.1

此方法无效。我没有在192.168.1.222上执行ping命令以返回响应。我现在要做的是将多个IP添加到接口(IP别名),但是由于我尝试与之通信的服务似乎仅侦听1个IP,所以即使这样也不起作用。
塞巴斯蒂安

2
现在我想起来了,我敢肯定,这不会工作,除非192.168.1.222是实际属于本地机器,在这种情况下,它是多余的反正IP。它将迫使计算机将192.168.1.222环回的数据包发送出去,但是如果不是本地IP,则会在接收端将其丢弃。
Iszi 2011年

且仅当我在主机文件中添加匹配条目时,这对我而言完美。但是,请注意,我的情况是相反的,因为我正在将localhost映射到外部IP(在这种情况下,是我的VM主机的IP)。
Jim O'Brien

@ JimO'Brien这是否意味着您route ADD 127.0.0.1 MASK 255.255.255.255 192.168.1.222改用了?
Shayan

此命令对我不起作用,我得到:The route addition failed: The parameter is incorrect.
Shayan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.