Назад | Перейти на главную страницу

добавление дополнительного сетевого адаптера для использования сети только хоста с DHCP в бродяге с использованием поставщика виртуальных боксов

вот чего я пытаюсь достичь

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

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

Настройки сети только для хоста и 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?

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

dev.vm.network "private_network", type: :dhcp