无法在 Virtual Box 上的虚拟机中获取 dhcp ip

无法在 Virtual Box 上的虚拟机中获取 dhcp ip

我有一份朋友给我的 Debian 虚拟机。他说,联网所需的所有软件包都在他提供的虚拟机中(即 SSH 软件包、Web 服务器、SQL 服务器、邮件服务器等)。我在自己的虚拟机上尝试过。它运行正常,但问题是我的虚拟机总是获得我朋友的 dhcp ip。

我为我的虚拟机获取了这个 IP。

address 10.0.2.15
netmask 255.255.255.0
gateway 10.0.2.255

我将连接虚拟机设置为 NAT,但它没有改变任何东西,但我无法连接到互联网,但我获得的 IP 仍然相同。而我的网络的计算机 IP 是(在这种情况下我使用的是 wifi)

address 192.168.8.100
netmask 255.255.255.0
gateway 192.168.8.1

为什么我的虚拟机总是获得我朋友的最后一个 IP?我的配置可能出了什么问题?我尝试过重新启动网络,但似乎没有改变任何东西

Service networking restart/reload

或者

/etc/init.d/networking restart/reload

我的期望是我的虚拟机从我的网络 IP 获取 IP,例如这样

address 192.168.8.101/105
netmask 255.255.255.0
gateway 192.168.8.1

注意:我可以从我的虚拟机通过该网络 ping 8.8.8.8 address 10.0.2.15,但我无法通过我自己的电脑 ping 我的虚拟机(从同一个网络,我试过ping 10.0.2.15)但什么也没发生

答案1

好的,我找到解决办法了,我刚刚改变了我的连接来自 NAT桥接/NAT 网络. 从虚拟盒文档

NAT 解释

网络地址转换 (NAT) 是从虚拟机访问外部网络的最简单方法。通常,它不需要在主机网络和客户系统上进行任何配置。因此,它是 VirtualBox 中的默认网络模式。

启用 NAT 的虚拟机就像通过路由器连接到互联网的真实计算机一样。在这种情况下,“路由器”是 VirtualBox 网络引擎,它透明地映射来自和到虚拟机的流量。在 VirtualBox 中,此路由器位于每个虚拟机和主机之间。这种分离最大限度地提高了安全性,因为默认情况下虚拟机无法相互通信。

NAT 模式的缺点是,就像路由器后面的专用网络一样,虚拟机在外部互联网上是不可见的,也无法访问;除非您设置端口转发(如下所述),否则您无法以这种方式运行服务器。

桥梁解释

使用桥接网络时,VirtualBox 使用主机系统上的设备驱动程序来过滤来自物理网络适配器的数据。因此,此驱动程序称为“网络过滤器”驱动程序。这允许 VirtualBox 拦截来自物理网络的数据并将数据注入其中,从而有效地在软件中创建一个新的网络接口。当客户机使用这种新的软件接口时,主机系统会认为客户机使用网络电缆物理连接到接口:主机可以通过该接口向客户机发送数据并从中接收数据。这意味着您可以在客户机和网络的其余部分之间设置路由或桥接。

看起来,当我们将虚拟机连接设置为 NAT 时,它会根据这个为我们提供默认的静态 IP,就像10.0.2.15网关一样10.0.2.2话题

正如我在我的问题中所说(引用):

我在自己的虚拟机上尝试过。它运行正常,但问题是我总是得到了我朋友的 DHCP IP用于我的虚拟机。

我说该 IP10.0.2.15是我朋友以前的 IP,但这是不正确的,因为该10.0.2.15IP 实际上是当您使用虚拟机的 NAT 连接时由 VirtualBox 应用程序自动提供的默认静态 IP。

在链接主题上说:

在 NAT 模式下,默认情况下,客户网络接口被分配到 IPv4 范围 10.0.x.0/24,其中 x 对应于 NAT 接口的实例 +2。因此,当只有一个 NAT 实例处于活动状态时,x 为 2。在这种情况下,客户机被分配到地址 10.0.2.15,网关设置为 10.0.2.2,名称服务器可以在 10.0.2.3 找到。

相关内容