Vagrant:我是否正确设置了三角形拓扑?
Vagrant: Am I setting up the triangle topology correctly?
我正在尝试使用 vagrant 建立一个三角形的三角形拓扑结构,如下所示:
B
/ \
A---C
但需要确定我的设置是否正确。每个节点应该有两个网络接口,我在 运行 ifconfig
时看到,(显示 enp0s3
= vagrant default; enp0s8
= eth1 ; enp0s9
= eth2 ; lo
= 本地环回)。
然而,当运行使用 link(A,C) 在 sudo ifdown
命令后中断从 A 到 C 的跟踪路由时,我仍然只看到 treceroute
输出单行显示C的IP,不显示B的IP。这就是让我想知道我的 vagrant 设置是否正确的原因。
我已尝试使用不同的网络掩码值,但仍然在 traceroute
上使用 link(A,C)=down
从 A 到 C 获得 1 跳。
我运行正在使用来自 ppa 包 (5.2.x) 和 vagrant 版本 2.2.x 的最新 Virtualbox。主机是 运行ning 18.04,VM 的来宾是 运行ning 16.04.
...
...
Vagrant.configure(2) do |config|
...
...
config.vm.define "A" do |a|
a.vm.network "private_network",
ip: "192.168.18.3",
netmask: "27",
virtualbox__intnet: true
a.vm.network "private_network",
ip: "192.168.18.8",
netmask: "29",
virtualbox__intnet: true
a.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
config.vm.define "B" do |b|
b.vm.network "private_network",
ip: "192.168.18.4",
netmask: "27",
virtualbox__intnet: true
b.vm.network "private_network",
ip: "192.168.18.5",
netmask: "28",
virtualbox__intnet: true
b.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
config.vm.define "C" do |c|
c.vm.network "private_network",
ip: "192.168.18.6",
netmask: "28",
virtualbox__intnet: true
c.vm.network "private_network",
ip: "192.168.18.7",
netmask: "29",
virtualbox__intnet: true
c.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
end
...
...
virtualbox__intnet: true
这会将所有六个网络接口置于同一内部网络中。
要创建三个独立的子网,请按名称指定内部网络,例如:
virtualbox__intnet: "netAB"
virtualbox__intnet: "netBC"
virtualbox__intnet: "netCA"
我正在尝试使用 vagrant 建立一个三角形的三角形拓扑结构,如下所示:
B
/ \
A---C
但需要确定我的设置是否正确。每个节点应该有两个网络接口,我在 运行 ifconfig
时看到,(显示 enp0s3
= vagrant default; enp0s8
= eth1 ; enp0s9
= eth2 ; lo
= 本地环回)。
然而,当运行使用 link(A,C) 在 sudo ifdown
命令后中断从 A 到 C 的跟踪路由时,我仍然只看到 treceroute
输出单行显示C的IP,不显示B的IP。这就是让我想知道我的 vagrant 设置是否正确的原因。
我已尝试使用不同的网络掩码值,但仍然在 traceroute
上使用 link(A,C)=down
从 A 到 C 获得 1 跳。
我运行正在使用来自 ppa 包 (5.2.x) 和 vagrant 版本 2.2.x 的最新 Virtualbox。主机是 运行ning 18.04,VM 的来宾是 运行ning 16.04.
...
...
Vagrant.configure(2) do |config|
...
...
config.vm.define "A" do |a|
a.vm.network "private_network",
ip: "192.168.18.3",
netmask: "27",
virtualbox__intnet: true
a.vm.network "private_network",
ip: "192.168.18.8",
netmask: "29",
virtualbox__intnet: true
a.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
config.vm.define "B" do |b|
b.vm.network "private_network",
ip: "192.168.18.4",
netmask: "27",
virtualbox__intnet: true
b.vm.network "private_network",
ip: "192.168.18.5",
netmask: "28",
virtualbox__intnet: true
b.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
config.vm.define "C" do |c|
c.vm.network "private_network",
ip: "192.168.18.6",
netmask: "28",
virtualbox__intnet: true
c.vm.network "private_network",
ip: "192.168.18.7",
netmask: "29",
virtualbox__intnet: true
c.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
end
end
end
...
...
virtualbox__intnet: true
这会将所有六个网络接口置于同一内部网络中。
要创建三个独立的子网,请按名称指定内部网络,例如:
virtualbox__intnet: "netAB"
virtualbox__intnet: "netBC"
virtualbox__intnet: "netCA"