主机模式网络配置的IP地址不在允许范围内。

40
我在 macOS 运行 vagrant up 命令时遇到了以下错误信息:

主机网络的 IP 地址不在允许的范围内,请更改为允许的范围中的地址并重新运行命令。

地址:192.168.10.10 允许范围:192.168.56.0/21

之前可以正常工作的相同 Vagrantfile,现在却不能工作。你有什么想法吗?

这个问题是关于Laravel Homestead的吗? - Davide Casiraghi
9个回答

114

我发现"问题"开始在VirtualBox 6.1.26之后发生。

解决方法是在你的macOS上创建一个新文件,文件路径为/etc/vbox/networks.conf,并将以下内容写入该文件

* 10.0.0.0/8 192.168.0.0/16
* 2001::/64

请确保包含星号*。然后问题应该就解决了。

关于networks.conf的内容,可以在https://www.virtualbox.org/manual/ch06.html#network_hostonly找到。


当我添加这个时,Vagrant仍然给我抛出问题,但是快速重启解决了这个问题。 - Levi Cole
3
谢谢!需要说明的是,字符 * 是必须的,起初我以为它用于列举一系列的值。完整文档请参阅:https://www.virtualbox.org/manual/ch06.html#network_hostonly - Samuel Vicent
5
确认修复Ubuntu 20.04LTS的问题。 - Jan Groth
我没有权限创建目录/etc/vbox/,这个目录我也没有。当然,我可以使用sudo来创建这个目录,但你确定这是正确的解决方案吗?为什么不能像其他答案中所解释的那样,在Vagrantfile中配置IP地址呢? - nbro
2
这在我的Ubuntu 22.04上可行。赞! - Ruberandinda Patience
2
适用于Linux Mint! - Eisenbiegler

11
通过按照以下方式修改vagrantfile,它对我有效。
cfg.vm.network "private_network", ip:"192.168.56.10"

我只是把IP地址从“192.168.1.10”更改为“192.168.56.10”。

(感谢@Hongbo Miao回答中提供的链接。(https://www.virtualbox.org/manual/ch06.html#network_hostonly))


7

我在使用Laravel Homestead的MacOS系统时遇到了同样的问题,解决方法如下:

sudo su -
mkdir /etc/vbox/
cd /etc/vbox/
echo '* 0.0.0.0/0 ::/0' > /etc/vbox/networks.conf
chmod 644 /etc/vbox/networks.conf

4

如果您不是创建Vagrantfile的人,建议不要直接更改Vagrantfile文件。 您可以使用以下方法:

vagrant config static_ip 192.168.56.2

IP地址可以是在192.168.56.2 - 192.168.63.254范围内的任何地址。更改后请确保运行vagrant reload



3

简单解决方案

$ mkdir /etc/vbox/
$cd /etc/vbox/

vbox$ sudo vi networks.conf

  * 10.0.0.0/8 192.168.0.0/16
  * 2001::/64

2
以下是我采取的一些故障排除步骤,以解决问题。
  1. 在“安全性与隐私”下的“系统偏好设置”中,启用VirtualBox / Oracle。
  2. 更改后重新启动VirtualBox。

如果这些步骤无法解决问题,请检查您的Vagrant文件中是否有以下内容。

Vagrant.configure(VAGRANTFILE_API_VERSION)do | config | os =“generic / ubuntu2004” net_ip =“192.168.50

如您所见,给出的IP范围不是Vagrant要寻找的。将net_ip值更改为192.168.56

这将解决问题。


0

通过以下步骤解决了相同的问题

sudo nano /etc/vbox/networks.conf

  • 10.0.0.0/8 192.168.0.0/16
  • 2001::/64
  • 0.0.0.0/0 ::/0

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart


我以前用的地址是172.16.3.X,因为这个答案中有* 0.0.0.0/0,它基本上修复了所有我的旧虚拟机IP地址!看起来格式化没有正确地保留*符号。 - undefined

0
请检查您的VirtualBox是否已更新!重新安装可以解决此问题。

0
在 macOS 系统升级后,我遇到了同样的问题。 在“系统偏好设置”中的“安全性与隐私”下,启用“VirtualBox / Oracle”即可解决。

当我进入“安全与隐私”时,我没有看到任何关于“VirtualBox / Oracle”的内容,而我当然是使用VirtualBox作为提供者。 - nbro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接