Добавление дополнительного сетевого адаптера для использования хост-сети с dhcp in vagrant using virtualbox provider [closed]

Вот что я пытаюсь достичь

  1. адаптер 1 работает на обычном NAT
  2. добавить дополнительный адаптер, используя сеть vboxnet0 host only, которую я создал в виртуальном ящике, этот использует DHCP-сервер

Причина, по которой мне нужен DHCP-сервер, заключается в том, что на том же хост-компьютере работает сервер logstash, работающий на vagrant box, и все другие поля, которые я поднимаю с помощью vagrant, должны быть отгружены это экземпляр logstash, и, следовательно, я должен использовать имя хоста logstash.agilityroots.com в каждом из них вместо того, чтобы полагаться на ip-адреса жесткого кодирования для каждого из них.

Настройки сети Host only и dhcp находятся в Virtualbox следующим образом

Anadis-MacBook-Pro:bin anadi$ VBoxManage list -l hostonlyifs
Name:            vboxnet0
GUID:            786f6276-656e-4074-8000-0a0027000000
DHCP:            Disabled
IPAddress:       192.168.10.1
NetworkMask:     255.255.255.0
IPV6Address:     
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet0


Anadis-MacBook-Pro:bin anadi$ VBoxManage list -l dhcpservers
NetworkName:    HostInterfaceNetworking-vboxnet0
IP:             192.168.56.100
NetworkMask:    255.255.255.0
lowerIPAddress: 192.168.56.101
upperIPAddress: 192.168.56.254
Enabled:        Yes

вот файл бродяги

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.define "full-stack-env" do |dev|
      dev.vm.box = "devops-vm"
      dev.vm.hostname = "full-stack-env.agilityroots.com"

      dev.vm.synced_folder "../../shared-data/yum", "/yum"
      dev.vm.synced_folder "../../puppet-manifests/files", "/etc/puppet/files"

      # add additional adapter for inter machine networking
      dev.vm.network "private_network", type: "dhcp"
      #dev.vm.network :private_network, :type => "dhcp", :adapter => "2"

      dev.vm.network :forwarded_port, guest: 22,host: 4223, id: "ssh", auto_correct: true
      #setting port forward for tomcat
      dev.vm.network :forwarded_port, guest: 8080, host: 8090
      #setting port forward for elasticsearch
      dev.vm.network :forwarded_port, guest: 9200, host: 9200

      dev.vm.provider :virtualbox do |vbox|
        vbox.name = "full-stack-env"
      end

      dev.vm.provision :puppet do |puppet|
        puppet.options = "--verbose --fileserverconfig=/vagrant/fileserver.conf"
        puppet.module_path = "../../puppet-manifests/modules"
        puppet.manifests_path = "../../puppet-manifests/dev-env"
        puppet.manifest_file = "site.pp"
      end
  end
end

это выдает ошибку

Anadis-MacBook-Pro:full-stack-env anadi$ vagrant up
Bringing machine 'full-stack-env' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* An IP is required for a private network.

Есть ли способ получить бродягу, используя сеть хоста с поддержкой DHCP?

0
задан 3 June 2014 в 20:04
1 ответ

Это должно было быть исправлено в Vagrant 1.5.2 ( проблема ). Таким образом, вы можете обновить или использовать символ:

dev.vm.network "private_network", type: :dhcp
3
ответ дан 4 December 2019 в 12:32

Теги

Похожие вопросы