Vagrant 无法连接到两个 virtualbox 内部网络
Vagrant cannot connect to two virtualbox internal networks
我有一个包含三个框的 Vagrantfile:lab1、lab2 和 lab3。这个想法是在 lab1 和 lab2(称为 intnet1)以及 lab1 和 lab3(称为 intnet2)之间建立 VirtualBox 内部网络。这应该允许从 lab1 ssh 到 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 的框网络首选项,它会显示 lab1 通过适配器 2 连接到 intnet2,通过适配器 3 连接到 intnet1。
这里有什么问题?如何从 lab1 连接到 lab2 和 lab3?
解决方案是让 intnet1 和 intnet2 在两个不同的子网中。
我有一个包含三个框的 Vagrantfile:lab1、lab2 和 lab3。这个想法是在 lab1 和 lab2(称为 intnet1)以及 lab1 和 lab3(称为 intnet2)之间建立 VirtualBox 内部网络。这应该允许从 lab1 ssh 到 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 的框网络首选项,它会显示 lab1 通过适配器 2 连接到 intnet2,通过适配器 3 连接到 intnet1。
这里有什么问题?如何从 lab1 连接到 lab2 和 lab3?
解决方案是让 intnet1 和 intnet2 在两个不同的子网中。