Después de que la actualización vagrant up fallara con el siguiente error en Ubuntu:
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", "vboxnet2", "--ip", "10.160.0.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.cppVersiones usadas:
Necesitaba que mi Vagrantfile funcionara de forma inmediata en varias máquinas (Ubuntu y Mac), por lo que modificar /etc/vbox/networks.conf no me funcionó.
En cambio, cambié todas mis direcciones IP de Vagranfile a 192.168.56.0/21, como lo describe Paul Parker y una respuesta a una pregunta duplicada .
Primero probé 192.68.56.0/21, según la respuesta de ChrisR y los documentos de VirtualBox, que funcionaban en Linux. Pero VirtualBox en Mac solo aceptaría el otro rango (con 168 en lugar de 68).
Logré superar el error bajando a VirtualBox 6.1.26:
# check the available versions apt-cache showpkg virtualbox # stop VirtualBox machines # downgrade VirtualBox version sudo apt-get install virtualbox=6.1.26-dfsg-3~ubuntu1.20.04.2El último comando de arriba no elimina los datos de las máquinas virtuales.
A partir de VirtualBox 6.1.28, los adaptadores de red solo de host están restringidos a direcciones IP en el rango 192.168.56.0/21 de forma predeterminada (192.168.56.1 -> 192.168.63.254).
Puede decirle a VirtualBox que permita rangos de IP adicionales configurando /etc/vbox/networks.conf . Por ejemplo, para permitir cualquier cosa en el rango 10.xxx, podría usar:
* 10.0.0.0/8Para obtener más información, consulte los documentos en https://www.virtualbox.org/manual/ch06.html#network_hostonly
Después de escanear la documentación de VirtualBox en redes solo de host, verá que para Solaris, Linux y MacOS, el rango de IP permitido para redes solo de host ha cambiado. VirtualBox ahora solo aceptará que se asignen direcciones IP en el rango 192.168.56.0/21. Los errores anteriores muestran que Docker está intentando crear y asignar una dirección y máscara 192.168.99.1/24.
Ahora hay 2 soluciones obvias, una sería cambiar la forma en que Docker crea su máquina para que encaje en el "nuevo" espacio de direcciones que ahora usa VirtualBox:
docker-machine create --driver virtualbox --virtualbox-memory "2048" --virtualbox-hostonly-cidr 192.168.56.1/21 defaultTambién podemos resolver esto en el otro lado del problema, que es cambiar el comportamiento de VirtualBox. Para hacer esto necesitamos crear el archivo networks.conf en /etc/vbox:
sudo mkdir /etc/vbox sudo nano /etc/vbox/networks.confEn las redes.conf podemos decirle a VirtualBox qué redes estamos permitiendo:
* 10.0.0.0/8 192.168.0.0/16
* 2001::/64