问题
- Box 启动并且 NAT 接口工作正常。
- 私有接口初始化时没有明显问题(https://gist.github.com/anonymous/5911bf17e01ba0684ad57950ac186820)。
- 根据 ip addr 输出,客户机(Ubuntu 16.04 - 官方 ubuntu/xenial64)设置似乎正确。
- 主机(Ubuntu 17.04)显示新网络(vboxnet0),没有 IP 地址(https://gist.github.com/anonymous/b2160574c638b27a2a76b6f5fbba03e7)。
- 无法通过私有(仅主机)网络 ping、挂载 NFS 或以任何方式进行通信
背景
之前没有出现过任何问题,使用相同的基础机箱和配置,但现在使用的是新笔记本电脑(Dell Latitude 5580)和 Ubuntu 17.04。之前使用的是 Dell Latitude E5xxx 和 Ubuntu 16.04。
我尝试过的步骤
- Vagrant 和 VirtualBox 的最新版本(.deb 下载)
- Vagrant 和 VirtualBox 的官方 Zesty 版本(aptitude 包)
- 删除 VirtualBox 中的主机专用网络并允许 Vagrant 重新创建它
- 确保主机和客户机上的防火墙(ufw)都已禁用
- 使用另一个基本盒进行测试,运行 Ubuntu 14 - 结果相同
- 使用 Windows Box 进行测试(手动配置界面)-结果相同
答案1
似乎主机内核模块未安装,或者虚拟盒驱动程序丢失,就像网管软件。您可以在2.3.2. VirtualBox 驱动模块。
为了准备更多诊断信息,请验证已加载的内核模块。
$ lsmod|grep vbox
vboxpci 24576 0
vboxnetadp 28672 0
vboxnetflt 28672 1
vboxdrv 462848 5 vboxnetadp,vboxnetflt,vboxpci
请检查虚拟盒网络接口(vboxnet)的可用性。
$ ifconfig
[...]
vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.1 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::800:27ff:fe00:0 prefixlen 64 scopeid 0x20<link>
ether 0a:00:27:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 398 bytes 50684 (50.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如果你使用 ubuntu 直接提供的软件包中的 virtulabox,解决方案是安装virtualbox-dkms软件包并重新创建 vboxnet0(仅主机网络)。请记住编辑vboxnet0 的参数。完成此步骤后,您将推送好的按钮,vboxnet0 将出现在是否配置列表。