Jak dodać „Host-only Adapter” do maszyny VirtualBox poprzez konfigurację plików Vagrant?

21

Wiele odpowiedzi jest dostępna tylko w wersji 1 konfiguracji pliku Vagrant. na przykład

config.vm.network :hostonly, :adapter => 2

Nowy public networknie obsługuje tej funkcji. np. ta linia tutaj

config.vm.network "public_network", bridge: 'vboxnet0'

Zgłasza błąd, ponieważ vboxnet0nie jest podobny do interfejsu sieciowego en0. Oto zrzut ekranu:

wprowadź opis zdjęcia tutaj

Próbowałem też

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--hostonlyadapter2", "vboxnet0"] 

Ale nie ma to wpływu na maszynę wirtualną.

Jak mogę utworzyć taki nowy interfejs?

wprowadź opis zdjęcia tutaj

ja używam

  • Mac OS X 10.10.1
  • VirtualBox 4.3.20
  • Vagrant 1.6.5
Anthony Kong
źródło

Odpowiedzi:

24

Myślę, że znalazłem odpowiedź.

config.vm.provider "virtualbox" do |vb|
    config.vm.network "private_network", :type => 'dhcp', :name => 'vboxnet0', :adapter => 2
end

Spowoduje to utworzenie adaptera tylko do hosta, tak jak chciałem w moim pytaniu

Anthony Kong
źródło
Dobrze widzieć to rozwiązane! Powinieneś zaznaczyć to jako odpowiedź, gdy masz chwilę, ponieważ to wyraźnie pomoże innym w obliczu podobnych problemów.
JakeGould
Ponadto, jeśli zdarzy się, że masz już skonfigurowany niestandardowy serwer DHCP, musisz upewnić się dhcp_ip, że dhcp_loweri dhcp_upperdopasować niestandardowy serwer DHCP, w przeciwnym razie włóczęga zgłosi błąd.
morloch
2
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network "private_network", type: "dhcp"
end

Działa dla mnie, chociaż miałem już domyślnie skonfigurowaną opcję „vboxnet0”, ale utworzyłem nową sieć „vboxnet1” tylko dla hosta.

Nie mogłem korzystać z vboxnet0, co powoduje błąd sieci powodujący konflikt. Tworzenie wielu vms z powyższą konfiguracją działało dla mnie domyślnie przy użyciu vboxnet1.

Piasek1512
źródło