为什么虚拟机和主机有不同的默认网关?

为什么虚拟机和主机有不同的默认网关?

我正在运行多个虚拟机。我使用的是 VirtualBox,虚拟机的网络设置是 NAT。

主机的 IP 以 192.168.1.x 开头,默认网关为192.168.1.1。而虚拟机(Windows XP 和 Metasploitable2)的 IP 以 开头10.0.2.x,默认网关为10.0.2.2

如果我ping 192.168.1.x从 Windows XP 运行(Windows 10(主机)的 IP),它会显示主机已启动(损失 0%),而如果我ping 10.0.2.x从 Windows10(主机)运行(Windows XP 或 Metasploitable2 的 IP),我会收到“请求超时”的信息。

Windows XP(虚拟机)截图:

Windows XP(虚拟机)截图

Windows 10 主机截图:

Windows 10 主机屏幕截图

答案1

由于 VirtualBox 默认将 10.0.2.0 网络分配给其 NAT 网络(请参阅文档):

虚拟机从 VirtualBox 集成的 DHCP 服务器接收其在专用网络上的网络地址和配置。这样分配给虚拟机的 IP 地址通常与主机位于完全不同的网络上。由于可以设置虚拟机的多个卡以使用 NAT,因此第一张卡连接到专用网络 10.0.2.0,第二张卡连接到网络 10.0.3.0,依此类推。如果您出于某种原因需要更改客户机分配的 IP 范围,请参阅第 9.11 节“微调 VirtualBox NAT 引擎”。

此外,10.0.2.2在您的情况下是您的主机的接口(除了的另一个接口192.168.1.x)。

这就是 NAT(网络地址转换)的工作原理。VirtualBox 转换您机器的地址10.0.0.x,并将数据包作为来自主机(即)的数据包发送192.168.1.x。它使用与您的主机相同的默认网关192.168.1.1。它对来自的数据包进行反向转换后退到虚拟机。

但是您将无法使用10.0.2.0网络上的地址 ping 客户机。它位于 VirtualBox NAT 路由器后面。

您可以配置 NAT 网络,或使用桥接适配器。但在这个问题中,您问为什么它们有不同的默认网关。

相关内容