2014-01-03 2 views
2

У меня есть Vagrantfile, который начинается с 3 vms. Мне нужно, чтобы у двух виртуальных машин не было доступа в Интернет, но они должны быть в той же сети, что и 3-й виртуальный номер, который имеет.Vagrant box post create - отключить сетевой кабель

Желаемая состояние:
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 сетевой интерфейс, они загружаются с двумя сетевыми интерфейсами. (только для хоста & NAT). Я не хочу использовать интерфейс NAT.

enter image description here

Как настроить бродягу начать виртуальную машину без наца, таким образом, запрещая доступ к Интернету для VM?

+0

Это не подходящий форум для этого вопроса. SO занимается главным образом вопросами, связанными с кодом, а не с настройкой такого программного обеспечения. С другой стороны, если у вас есть какой-то VCL, и мне интересно, как кодировать поведение, это будет другая история. – wheaties

+0

пшеницы, я вижу вашу точку зрения. Не уверен, что переполнение будет лучше, так как мой вопрос аналогичен этим другим вопросам, которые, как представляется, разрешены. http://stackoverflow.com/questions/17117063/how-can-i-create-a-vm-in-vagrant-with-virtualbox-with-two-cpus?rq=1, http://stackoverflow.com/ вопросы/18457306/enable-internet-access-inside-vagrant? rq = 1 – spuder

ответ

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

Это может сделать то, что вы ищете - это должно просто «отсоединить кабель» от сети NAT.

+1

Я сделал небольшую поправку к вашему ответу. Фактически он отключает сетевой кабель от интерфейса NAT после того, как vm встал. Однако бродяга тогда не может подключиться к vm. Мне нужно пересмотреть мою стратегию. https://gist.github.com/spuder/8274987 – spuder

+0

Спасибо, что опубликовали исправления! – Greg0ry

Смежные вопросы