Ubuntu下VirtualBox的vboxnet0 IP重置问题及固定方法问询
解决VirtualBox vboxnet0 IP自动重置问题
我之前也碰到过VirtualBox这个烦人的Host-Only网卡IP自动重置问题,结合你有20台虚拟机和大量快照的场景,给你一套彻底的解决方案,分两步走:永久修改vboxnet0的IP,以及阻止VirtualBox自动重置该配置。
一、先修改VirtualBox自身的Host-Only网卡配置(核心步骤)
VirtualBox会在服务启动、虚拟机操作(比如启动、创建快照)时,根据它自己的全局配置重置vboxnet0,所以必须先修改VirtualBox的内置配置,而不是只靠系统命令临时修改:
- 查看当前Host-Only网卡的配置,确认vboxnet0的信息:
VBoxManage list hostonlyifs
- 强制设置vboxnet0的IP和子网掩码(匹配你的WinXP虚拟机子网):
VBoxManage hostonlyif ipconfig vboxnet0 --ip 10.0.2.2 --netmask 255.255.255.0
- (可选)如果不需要Host-Only网卡的DHCP服务(你的虚拟机用静态IP),可以直接关闭它,避免冲突:
VBoxManage dhcpserver remove --ifname vboxnet0
二、在Ubuntu系统层面固化网卡配置
确保系统启动时也会自动加载正确的IP,避免系统服务和VirtualBox服务的配置冲突:
针对Ubuntu 18.04+(使用Netplan)
- 编辑Netplan配置文件(通常是
/etc/netplan/00-installer-config.yaml,如果找不到可以用ls /etc/netplan/查看):
network: ethernets: vboxnet0: addresses: [10.0.2.2/24] dhcp4: no version: 2
- 应用配置:
sudo netplan apply
针对旧版Ubuntu(使用/etc/network/interfaces)
- 编辑网卡配置文件:
sudo nano /etc/network/interfaces
- 添加以下内容:
auto vboxnet0 iface vboxnet0 inet static address 10.0.2.2 netmask 255.255.255.0
- 重启网络服务:
sudo systemctl restart networking
三、额外措施:防止其他服务干扰
如果你的Ubuntu用了NetworkManager,它可能会自动接管vboxnet0的配置,导致IP被重置,需要把vboxnet0设为不受NetworkManager管理:
- 编辑NetworkManager配置文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
- 在
[main]section添加:
unmanaged-devices=interface-name:vboxnet0
- 重启NetworkManager:
sudo systemctl restart NetworkManager
验证配置
完成以上步骤后,重启VirtualBox服务和系统,检查vboxnet0的IP是否保持稳定:
# 重启VirtualBox服务 sudo systemctl restart vboxdrv # 查看IP ip addr show vboxnet0
这样操作后,不管你启动虚拟机、创建快照,vboxnet0的IP都会保持在10.0.2.2,和你的WinXP虚拟机处于同一子网,主机和虚拟机之间就能正常通信了。
内容的提问来源于stack exchange,提问作者Grim




