networking - Vagrant 盒子创建后 - 断开网络电缆

标签 networking vagrant

我有一个启动 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 个网络接口(interface),它们也会使用 2 个网络接口(interface)启动。 (仅限主机和 NAT)。我不需要 NAT 接口(interface)。

enter image description here

如何配置 vagrant 在没有 nat 的情况下启动虚拟机,从而拒绝对虚拟机的互联网访问?

最佳答案

config.vm.provider :virtualbox do |vb|
  vb.customize [
    "controlvm", :id,
    "setlinkstate1", "off",
  ]
end

这可能会满足您的要求 - 只需“断开 NAT 网络的电缆”即可。

关于networking - Vagrant 盒子创建后 - 断开网络电缆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910716/

相关文章:

c - 确认没有信号的 UDP 数据包?

java - CCNx Java 代码帮助 (ProcessBuilder)

windows - Vagrant 同步文件夹链接到 Apache/var/www/in Ubuntu VM

ssh - 来自 cygwin 的 Vagrant 和 ansible 配置

vagrant - 有没有办法在脚本中获取 Vagrant 自动更正端口转发的值?

vagrant 设置重复的 IP 地址; Ansible 会接他们吗?

c - 延迟写入错误

iphone - 将文件从 iphone 应用程序发送到本地服务器?

networking - 在 Docker for Windows 中无法连接到容器 IP 地址

vagrant - Puppet 语法错误位于 '|'