我开设的课程包括系统管理的实践课程。几年前,我创建了一个 Fedora 20 虚拟映像——它不需要是一个现代且安全的虚拟映像,因为它仅用于执行基本的系统管理命令。学生将其导入 VirtualBox。
机器镜像有环回和另外两个网络接口:p2p1
到互联网和p7p1
到主机。我希望学生从主机 Windows 上的终端模拟器通过该界面登录。
经过
sudo dhclient p7p1
他们中的大多数都能够获得如下所示的 IPv4 地址,即本地192.168. ...
地址:
有些人则不然。它们dhclient
挂起并且无法获得 IPv4 地址。
其中一部分可以使用 IPv6 地址从主机上的终端仿真器登录,但其他人则不能,甚至无法通过 IPv6 地址 ping 通虚拟机。
现在,他们有
- 与他们的电脑相同的硬件
- 来自同一映像文件的同一 Windows 7
- 相同版本的 VirtualBox
- 相同的 Fedora 20 镜像
- 包括相同的虚拟磁盘映像
- 以及相同的网络接口配置
其中有何不同?如何获取虚拟机的 IPv4 地址?
答案1
从调试模式来看原来是
sudo dhclient -d p7p1
VirtualBox 的 DHCP 服务器未向仅主机接口 (p7p1) 提供 IPv4 地址。
在 #virtualbox irc 频道上我得到了建议
[15:25] <@klaus-vb> could be that the dhcp server has lost track of vms...
that can be solved by stopping all VMs, and making sure that neither VBoxSVC nor VBoxDHCP
(or how it's called exactly) is running. then re-start the VMs.
I think this was a bug fixed in later 5.1 versions...
我的学生停止了他们的虚拟机,终止了这些虚拟机VBoxNetDHCP.exe
和VBoxSVC.exe
进程,重新启动了他们的虚拟机,然后
sudo dhclient -d p7p1
成功了,他们获得了正确的 IPv4 地址。
所以,毕竟,这是主机上 VirtualBox 独有的问题。