通过 vagrant 在 vi​​rtualbox 上创建仅主机接口时出现 E_ACCESSDENIED

kna*_*iya 24 security computer-science virtualbox helper vagrant

升级到 VirtualBox 6.1.28 后尝试运行时vagrant up,收到以下错误消息

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "ipconfig", "vboxnet0", "--ip", "192.168.33.1", "--netmask", "255.255.255.0"]

Stderr: VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp
Run Code Online (Sandbox Code Playgroud)

Mic*_*ose 52

后续:这是由于 Virtual Box 最近引入的一项更改所致,其中仅主机网络的可用 IP 范围受到限制,除非您在 VirtualBox 的配置文件中手动覆盖它。

Vagrant 刚刚合并了一项更改,以便当您尝试使用配置的允许范围之外的 IP 时能够提供更好的错误消息:github.com/hashicorp/vagrant/pull/12564

正确的修复方法是/etc/vbox/networks.conf按照https://www.virtualbox.org/manual/ch06.html#network_hostonly进行更新

原文:我在 VirtualBox 6.1.28 上的 Arch 上遇到了同样的问题。貌似和Vagrant没有关系。

奇怪的是,我可以更改适配器的 IPv4 地址(通过 VBoxManage 或 GUI),但只能在192.168.56.1和之间192.168.63.254。超出此范围的任何内容都会失败。

  • @JethroCao 这实际上是由于 Virtual Box 最近引入的一项更改,其中仅主机网络的可用 IP 范围受到限制_除非您在 VirtualBox 的配置文件中手动覆盖它_。Vagrant 刚刚合并了一项更改,当您尝试使用配置的允许范围之外的 IP 时,该更改可以提供更好的错误消息:https://github.com/hashicorp/vagrant/pull/12564 正确的修复是按照 https://www.virtualbox.org/manual/ch06.html#network_hostonly 更新 `/etc/vbox/networks.conf` (4认同)

jaq*_*que 6

我在 macOS Monterey (12.0.1)、Vagrant (2.2.18)、VirtualBox (6.1.28 r147628) 上看到了这个确切的错误。我必须手动启用内核扩展

sudo kextload -b org.virtualbox.kext.VBoxDrv
sudo kextload -b org.virtualbox.kext.VBoxNetFlt
sudo kextload -b org.virtualbox.kext.VBoxNetAdp
sudo kextload -b org.virtualbox.kext.VBoxUSB
Run Code Online (Sandbox Code Playgroud)

这里

在 GUI 中启动机器,停止它,然后运行vagrant up工作,并将 gui 设置为 true。