VirtualBox更新后vagrant up启动仅主机网络报E_ACCESSDENIED错误如何解决
问题根因
VirtualBox从6.1.28版本开始新增了主机仅网络(host-only)的IP网段白名单限制,默认仅允许192.168.56.0/21范围内的IP进行分配。你当前使用的10.160.0.0/24网段不在默认允许范围内,因此VBoxManage执行静态IP配置时触发权限拒绝错误。
解决方法
以下两种方案二选一即可:
方案1:修改VirtualBox网络配置放开网段限制
- 新建/编辑VirtualBox全局网络配置文件,执行命令:
sudo mkdir -p /etc/vbox && sudo nano /etc/vbox/networks.conf - 在文件中写入允许的目标网段内容:
- 10.160.0.0/24
如果需要放开所有私有网段的限制,可以替换为:- 0.0.0.0/0 ::/0
- 保存退出文件后,重新执行
vagrant up即可正常启动。
方案2:调整Vagrant私有网络IP到默认允许范围
如果不想修改VirtualBox全局配置,可直接修改项目中的Vagrantfile,将私有网络的IP调整到192.168.56.1~192.168.63.254区间内,示例配置如下:config.vm.network "private_network", ip: "192.168.56.10"
修改完成后重新执行vagrant up即可。
异常验证
如果完成上述操作后仍报错,可执行groups命令检查当前用户是否在vboxusers用户组中,若不在则执行以下命令添加用户组,注销系统重新登录后再次尝试启动:sudo usermod -aG vboxusers $USER
内容的提问来源于stack exchange,提问作者Zili
相关产品推荐
相关产品推荐

