Networking 流浪汉:我的三角形拓扑设置正确吗?

Networking 流浪汉:我的三角形拓扑设置正确吗?,networking,vagrant,Networking,Vagrant,我试图用vagrant建立一个三角形拓扑,如下所示: B / \ A---C 但需要确定我的设置是否正确。每个节点都应该有两个网络接口,我在运行ifconfig时会看到它们(显示enp0s3=vagrant default;enp0s8=eth1;enp0s9=eth2;lo=local loopback) 但是,当在sudo ifdown命令之后从a到C运行链路(a,C)断开的跟踪路由时,我仍然看到treceroute输出仅在单行上显示C的IP,而不显示B的IP。这让我怀疑我的流浪设置

我试图用vagrant建立一个三角形拓扑,如下所示:

  B
 / \
A---C
但需要确定我的设置是否正确。每个节点都应该有两个网络接口,我在运行
ifconfig
时会看到它们(显示
enp0s3
=vagrant default;
enp0s8
=eth1;
enp0s9
=eth2;
lo
=local loopback)

但是,当在
sudo ifdown
命令之后从a到C运行链路(a,C)断开的跟踪路由时,我仍然看到
treceroute
输出仅在单行上显示C的IP,而不显示B的IP。这让我怀疑我的流浪设置是否正确

我尝试过使用不同的网络掩码值,但仍然使用
链接(A,C)=down
跟踪路由上从A跳到C,跳了1跳

我正在运行ppa包(5.2.x)和vagrant版本2.2.x中的最新Virtualbox。主机运行18.04,虚拟机的来宾运行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: "netAB"
virtualbox__intnet: "netBC"
virtualbox__intnet: "netCA"

谢谢这解决了子网问题。
virtualbox__intnet: "netAB"
virtualbox__intnet: "netBC"
virtualbox__intnet: "netCA"