我已经在不同的物理位置设置了多台虚拟机,其中装有 Ubuntu 16.04 客户机和 Windows 10 主机,但互联网连接仍然稳定。希望主机通过 Virtualbox 为所有这些虚拟操作系统提供 IP 地址,并配置 NAT 网络适配器(默认设置),以便连接到服务器。
由于某种原因,这对于某些虚拟操作系统来说运行得很好,我希望通过调试来解决这种情况。
ip a
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:a3:5b:03 brd ff:ff:ff:ff:ff:ff
inet6 fe80::6467:c72f:f210:ad4e/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:93:64:d0 brd ff:ff:ff:ff:ff:ff
/etc/network/interfaces
:
*注意:以下配置对于所有操作系统都是相同的,这让我认为“网络管理员”与 IP 分配过程无关,因为大多数客人都会获得他们的 IP,但不确定。
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
我目前无法重新启动那些在第一次尝试解决连接问题时无法获取其 IP 的客户机。
答案1
我的英特尔适配器也遇到了同样的问题,这是我的快速解决方法:
在主机环境中(例如 Windows -> 设备管理器)关闭英特尔适配器,然后重新打开。 5...10 秒后再次检查客户机,
ifconfig -a
...它应该无需重新启动主机系统即可获取 IP。
答案2
我不知道这是否是 Ubuntu 16.04 本身的问题。
我一直在 MS Surface Go 上使用 16.04 操作系统(主机),有时当我打开设备电源时,Ubuntu 16 操作系统无法获取 IP(DHCP)。
我必须物理断开并连接 USB-C 至 LAN 以太网适配器,然后它才能获得 IP。那时我以为是 Surface Go 问题或 LAN 适配器问题。
但当最近在 Ubuntu 16.04 Guest VM 上发生同样的事情时,我感到非常惊讶。
答案3
在新的 Vbox 更新中很少发生这种情况;如果我将其降级回以前的版本,它就可以正常工作。
由于这次 Windows 10 更新(并且永远都会更新),最近的更新再次发生了这种情况(v6.0.8)。
这个简单的 ifdown 和 up 命令对我来说立即起作用。
ifconfig enp0s3 down
sleep 7
ifconfig enp0s3 up
有时,主机(Windows 10)需要大约 10 秒的时间才能从 NIC 检测到新的 IP。
最好的解决方案是降级并等待新版本发布。
答案4
在您的 中,/etc/network/interfaces
您说要通过 DHCP 获取接口的 IP eth0
,但您没有该接口。您有接口enp0s3
和enp0s8
。因此,如果您正在使用,enp0s3
只需更改:
auto eth0
iface eth0 inet dhcp
到:
auto enp0s3
iface enp0s3 inet dhcp