【问题标题】:Vagrant box post create - disconnect network cableVagrant box post create - 断开网线
【发布时间】:2018-11-27 13:38:48
【问题描述】:

我有一个启动 3 个虚拟机的 Vagrantfile。 我需要两个虚拟机没有任何互联网访问权限,但它们应该与 确实 有互联网的第三个虚拟机位于同一网络上。

想要的状态:
vm1 => NAT & 192.168.45.11
vm2 => 192.168.45.12
vm3 => 192.168.45.13

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

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "Debian-7-2"
  config.vm.box_url= "https://dl.dropboxusercontent.com/u/197673519/debian-7.2.0.box"

  config.vm.synced_folder ".", "/vagrant_data"

  config.vm.provider :virtualbox do |vb|
     vb.customize ["modifyvm", :id, "--memory", "512"]
  end

  config.vm.define "r", primary: true  do |router|
     router.vm.box = "Debian-7-2"
     config.vm.network :private_network, ip: "192.168.45.11"
  end

   config.vm.define "r1" do |roomate1|
     roomate1.vm.box = "Debian-7-2"
     config.vm.network :private_network, ip: "192.168.45.12"
   end

   config.vm.define "r2" do |roomate2|
     roomate2.vm.box = "Debian-7-2"
     config.vm.network :private_network, ip: "192.168.45.13"
   end

end

我发现,即使我将 vm2 和 vm3 配置为只有 1 个网络接口,它们也会以 2 个网络接口启动。 (仅限主机和 NAT)。我不想要 NAT 接口。

如何配置 vagrant 以在没有 nat 的情况下启动 VM,从而拒绝对 VM 的 Internet 访问?

【问题讨论】:

  • 这不是此类问题的正确论坛。 SO主要处理特定于代码的问题,而不是如何配置这样的软件。另一方面,如果您编写了一些 VCL 并且想知道如何对行为进行编码,那就另当别论了。
  • 小麦,我明白你的意思。不确定哪个溢出会更好,因为我的问题类似于这些似乎被允许的其他问题。 stackoverflow.com/questions/17117063/…, stackoverflow.com/questions/18457306/…

标签: networking vagrant


【解决方案1】:
config.vm.provider :virtualbox do |vb|
  vb.customize [
    "controlvm", :id,
    "setlinkstate1", "off",
  ]
end

这可能符合您的要求 - 应该只是“断开 NAT 网络的电缆”。

【讨论】:

  • 我对您的回答稍作更正。在虚拟机启动后,它实际上会断开与 NAT 接口的网络电缆。但是 vagrant 然后无法连接到虚拟机。我需要重新考虑我的策略。 gist.github.com/spuder/8274987
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2016-09-27
  • 2017-05-10
相关资源
最近更新 更多