Разрешить двум или более бродячим ВМ общаться в своей сети

Я хочу создать несколько серверов, которые могут общаться напрямую друг с другом без использования публичных IP-адресов. Им по-прежнему нужен доступ в Интернет, но ничто из-за пределов сети не будет связано с ними. Создание одного окна обычно работает, но когда я добавляю дополнительные серверы, сеть терпит неудачу.

MacOS: 10.8.5
Virtualbox: 4.3.12
GuestOS: Ubuntu "exact64"
Использование версии 2 конфигурации Vagrant

В большинстве случаев, если я использую частную сеть, я получаю:

saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...
saltminion01: Warning: Connection timeout. Retrying...

Есть ли у кого-нибудь образец Vagrantfile, который делает это?

Ответ 1

Вот пример, который создает две виртуальные машины:

  • alpha 10.0.0.10
  • beta 10.0.0.11

Изнутри любой виртуальной машины вы можете связаться с другим по IP-адресу и подключиться к внешнему миру.

Vagrantfile:

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

# Vagrant multi-machine sample setup

Vagrant.configure("2") do |config|
  config.vm.define :alpha do |alpha|
    alpha.vm.box = "hashicorp/precise64"
    alpha.vm.network :private_network, ip: "10.0.0.10"
    alpha.vm.hostname = "alpha"
  end

  config.vm.define :beta do |beta|
    beta.vm.box = "hashicorp/precise64"
    beta.vm.network :private_network, ip: "10.0.0.11"
    beta.vm.hostname = "beta"
  end
end