Я обновил VirtualBox с 6.1.26-2 до 6.1.28-3 (в Manjaro), а затем не смог настроить частную сеть с Vagrant. Вот мой Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.hostname = "Name"
config.vm.network :forwarded_port, guest: 22, host: 2336, id: 'ssh'
config.vm.network :private_network, ip: "10.1.45.3", netmask: "255.255.0.0"
end
Когда я сделал vagrant up
, я получил: IP-адрес, настроенный для сети только для хоста, не входит в допустимые диапазоны. Пожалуйста, обновите адрес, который раньше находился в допустимых диапазонах, и выполните команду еще раз.
Address: 10.1.45.3
Ranges: 192.168.56.0/21
Valid ranges can be modified in the /etc/vbox/networks.conf file. For
more information including valid format see:
https://www.virtualbox.org/manual/ch06.html#network_hostonly
Я следовал руководству по ссылке и создал файл /etc/vbox/networks.conf со следующим содержимым:
0.0.0.0/0 ::/0
И когда я vagrant up
снова побежал, я получил:
The IP address configured for the host-only network is not within the
allowed ranges. Please update the address used to be within the allowed
ranges and run the command again.
Address: 10.1.45.3
Ranges:
Valid ranges can be modified in the /etc/vbox/networks.conf file. For
more information including valid format see:
https://www.virtualbox.org/manual/ch06.html#network_hostonly
Почему "Ranges" пуст? Я пробовал с другими значениями для диапазонов, но это ничего не изменило.
Я проверил IP-адрес интерфейса NAT, и конфликта не было (10.0.2.15/24).
решение1
*
В начале строки был пропущен . Файлсети.confдолжно быть:
* 0.0.0.0/0 ::/0
решение2
Вы можете добавить сетевую маску и диапазон адресов, используя нотацию CIDR.Объяснение диапазонов IP-адресовдля IP-адреса, который вы хотите предоставить из гостевой системы хост-машине. Добавьте следующее в файл /etc/vbox/networks.conf
и затем выполните vagrant reload
:
* 10.1.45.0/24
Это фактически разделяет первые 24 бита, то есть первые 3 октета, IP-адреса сети, а остальное представляет собой диапазон адресов от 0 до 255.