允许两个或多个vagrant VM在自己的网络上进行通信

时间:2014-07-21 14:11:19

标签: vagrant virtualbox vagrantfile

我想创建多个服务器,这些服务器可以在不使用公共IP的情况下直接相互通信。他们仍然需要互联网访问,但网络外的任何东西都不需要连接到他们。创建一个盒子通常有效,但是当我添加其他服务器时,网络就会失败。

MacOS:10.8.5
Virtualbox:4.3.12
GuestOS:Ubuntu“exact64”
使用Vagrant配置的第2版

大多数时候,如果我使用私人网络,我会得到:

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 个答案:

答案 0 :(得分:25)

以下是创建两个VM的示例:

  • alpha 10.0.0.10
  • beta 10.0.0.11

从VM内部,您可以通过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