我正在使用vagrant和virtualbox来创建以下4台机器的逻辑,其中一台将是路由器,并且这些机器将通过该路由器相互通信并与Internet通讯。
我正在尝试设置基本配置,当我在计算机中使用ifconfig进行检查时,并不是所有的计算机都获得了分配的IP。
无业游民的文件如下
Vagrant.configure("2") do |config|
config.vm.define "machine1" do |machine1|
machine1.vm.box = "hashicorp/bionic64"
machine1.vm.network "private_network", ip: "192.168.71.11"
machine1.vm.hostname = "machine1"
end
config.vm.define "machine2" do |machine2|
machine2.vm.box = "hashicorp/bionic64"
machine2.vm.network "private_network", ip: "192.168.72.12"#, type:"dhcp"
machine2.vm.hostname = "machine2"
end
config.vm.define "machine3" do |machine3|
machine3.vm.box = "hashicorp/bionic64"
machine3.vm.network "private_network", ip: "192.168.71.13"
machine3.vm.network "private_network", ip: "192.168.72.13"
machine3.vm.network "private_network", ip: "192.168.74.13"
machine3.vm.hostname = "machine3"
end
config.vm.define "machine4" do |machine4|
machine4.vm.box = "hashicorp/bionic64"
machine4.vm.network "private_network", ip: "192.168.74.14"
machine4.vm.hostname = "machine4"
end
end
当我进入机器3并键入$ifconfig
时,将得到以下输出
eth0:标志= 4163 mtu 1500 inet 10.0.2.15网络掩码255.255.255.0广播10.0.2.255 inet6 prefixlen 64作用域ID 0x20 以太网(以太网) RX数据包770字节90088(90.0 KB) 接收错误0掉线0超限0帧0 TX数据包596字节88809(88.8 KB) TX错误0掉下0超限0载波0冲突0
lo:flags = 73 mtu 65536 inet 127.0.0.1网络掩码255.0.0.0 inet6 :: 1 循环(本地环回) RX数据包8字节712(712.0 B) 接收错误0掉线0超限0帧0 TX数据包8字节712(712.0 B) TX错误0掉下0超限0载波0冲突0
[其他计算机确实获得了分配的IP,在这里我缺少Machine3吗?
所需的拓扑如下
当a在机器1中,b在机器2中,等等。机器3将作为路由器。
使用vagrant destroy --force && vagrant up
解决了该问题,可能是缓存问题。