我想将 IP 地址 192.168.1.222 映射到 127.0.0.1,这样如果我在 Web 浏览器或 ping 命令中使用 192.168.1.222,我就会得到响应(来自我的 127.0.0.1)。
这可以通过路由表实现吗?还是我必须添加某种虚拟网络适配器?
我尝试在 Windows 7 机器上解决这个问题,除了 Windows XP 之外没有其他选择。
我被困在那儿了。
答案1
您必须将 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”作为子网掩码。
瞧。
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
答案2
在管理员命令提示符下运行:
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
答案3
这应该可以在 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