添加额外的networking适配器使用主机唯一的networking与DHCP在stream浪使用virtualbox提供商

这是我想要实现的

  1. 适配器1在通常的NAT上运行
  2. 添加一个额外的适配器使用vboxnet0主机唯一的networking我已经在虚拟框中创build,这一个使用DHCP服务器

我需要dhcp服务器的原因是因为有一个logstash服务器在同一个主机上的vagrant框上运行,而我使用vagrant调用的所有其他框应该发送到这个logstash实例,因此我必须使用主机名logstash.agilityroots.com在他们每个人,而不是依靠硬编码IP到他们每个人。

主机唯一networking和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 

这里是stream浪文件

 # -*- 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主机唯一networkingstream浪汉?

这应该已经在Vagrant 1.5.2( 问题 )中解决了。 所以你可以升级或使用一个符号:

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