Vagrant无法连接到两个VirtualBox内部网络

时间:2020-01-12 10:17:10

标签: networking vagrant virtualbox

我有三个框的Vagrantfile:lab1,lab2和lab3。这个想法是在Lab1和Lab2(称为intnet1)与lab1和lab3(称为intnet2)之间建立VirtualBox内部网络。这应该允许从lab1切换到lab2和lab3,但不允许从lab2切换到lab3,反之亦然。这是我的Vagrantfile的相关部分:

  config.vm.define "lab1" do |lab1|
    lab1.vm.network "private_network", ip: "192.168.50.3", virtualbox__intnet: "intnet2"
    lab1.vm.network "private_network", ip: "192.168.50.4", virtualbox__intnet: "intnet1"

    lab1.vm.network "forwarded_port", guest: 22, host: 10001, host_ip: "127.0.0.1"
  end

  config.vm.define "lab2" do |lab2|
    lab2.vm.network "private_network",  ip: "192.168.50.5", virtualbox__intnet: "intnet1"

    lab2.vm.network "forwarded_port", guest: 22, host: 10002, host_ip: "127.0.0.1"
  end

  config.vm.define "lab3" do |lab3|
    lab3.vm.network "private_network", ip: "192.168.50.6", virtualbox__intnet: "intnet2"

    lab3.vm.network "forwarded_port", guest: 22, host: 10003, host_ip: "127.0.0.1"
  end

问题是只有在lab1中首先配置的网络才能正常工作。因此,使用此设置,我只能从lab1连接到lab3,而不能连接到lab2。尝试使用SSH连接到192.168.50.5(lab2的IP)会产生ssh: connect to host 192.168.50.5 port 22: No route to host

此外,如果我从VirtualBox手动检查Box网络首选项,则表明lab1通过适配器2连接到intnet2,而通过Adapter3连接到intnet1。

这里的问题是什么?如何从lab1连接到lab2和lab3?

1 个答案:

答案 0 :(得分:0)

解决方案是将intnet1和intnet2放在两个不同的子网中。