(答案如下)
我在 Virtualbox 中实现 Host-Only 网络时遇到问题。我的主机在 Windows 7 Ultimate 下运行,客户操作系统是 Ubuntu Server 12.04.2 64 位。
我配置了虚拟盒仅主机适配器。
如您所见,DHCP 服务器已被禁用,我尝试启用和禁用,但问题仍然存在。
以下是结果
ipconfig /all
从 Windows CMD
现在我的虚拟机网络设置
当我运行虚拟机时,ubuntu 强制出现网络配置问题,如下图所示
我的 /etc/network/interfaces 文件如下:
当我重新启动网络服务时,显示“找不到设备 eth1,无法启动 eth1,如下所示:
如果我选择“ifdown”选项,响应如下:
任何帮助将不胜感激
提前致谢
回答
客户机上的 VirtualBox 网络适配器名称并不是一直固定的,每次您从 VB 首选项禁用和启用主机适配器时,网络设备名称后附加的数字都会增加。例如,如果您禁用和启用网络主机专用适配器五次,则新的网络名称应该是 eth4,如果是八次,则网络名称应该是 eth7,依此类推。
如果您不知道当前的网络设备名称,请使用:
ifconfig -a
它将打印所有可用的网络适配器(设备),找到您的新名称并使用新名称重新配置 /etc/network/interfaces 文件。
对于 DHCP 配置,请使用下面的代码,将 eth5 更改为您当前的设备名称
auto eth5
iface eth5 inet dhcp
对于静态 IP,您可以编写以下代码:(您仍然需要将 eth5 更改为您的设备名称,以及静态 IP,大多数情况下无需更改网络掩码):
auto eth5
iface eth5 inet static
address 192.168.56.101
netmask 255.255.255.0
我希望这能够帮助别人。
答案1
要查看虚拟机可以访问的适配器列表,请使用以下命令:
ls /sys/class/net
这将显示接口名称。例如,设置了两个网络适配器后,我的 Ubuntu 客户机如下所示。
eth1 eth2 lo
答案2
不一定是 eth1。在我的虚拟机上,是 eth2。
/dev/eth*
在您的情况下,ls 打印什么?
答案3
从 Virtualbox 4.x 升级到 5.x 后遇到同样的问题(在 Debian 上,但这肯定也适用于 Ubuntu)。我在 (vboxnet0, host-only)的声明gateway 0.0.0.0
中留下了,这对于 4.x 来说没问题,但在 5.x 中却导致服务崩溃。/etc/network/interfaces
eth1
failed to bring up eth1
删除声明中的gateway
(andbroadcast
和network
)eth1
就可以了。
/etc/udev/rules.d/70-persistent-net.rules
请注意,您可能有想要删除/更新的固定规则。