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 手动检查框网络首选项,它显示 lab1 使用 Adapter 2 连接到 intnet2 和使用 Adapter3 连接到 intnet1。
这里有什么问题?如何从 lab1 连接到 lab2 和 lab3?
解决方案
解决方案是将 intnet1 和 intnet2 放在两个不同的子网中。
推荐阅读
- sonarcloud - 意外符号:'2e4ce68d4e3feec97e992821e6391166943f4d49'
- python - Python - 乘法表创建
- git-bash - 如何在同一目录的 Windows 终端中打开一个新的 git-bash 选项卡?
- spring - 实施项目以在本地启动 spring 云数据流服务器时出错
- javascript - 获取使用 WebdriverIO v5 显示的元素数量
- kubernetes - 是否有已知的方法来确定自动缩放阈值?
- javascript - 如何修复“TypeError:未定义不是对象”?
- google-cloud-platform - 使用 Deployment Manager 配置防火墙和启动脚本
- spring-boot - 我应该如何定义要使用的 Hibernate 映射,以及何时/何地使用它?
- python - 如何每隔 15 分钟标记一个 Pandas 日期时间行(在新列中)?