使用 OVS 将具有不同 IP 范围的不同接口连接到 Open vS

使用 OVS 将具有不同 IP 范围的不同接口连接到 Open vS

我有一个包含 4 个虚拟机的设置。有两个服务器:VM1、VM2、一个路由器:VM3 和一个客户端:VM4。

VM3 直接连接到所有其他 VM 并在它们之间路由流量。

VM3 有 3 个不同的接口。我们将它们称为 i1、i2、i3。每个接口都连接到其中一个虚拟机,并具有自己的 IP 地址、范围和网络。

但是,我在将这三个接口连接到 OvS 进行流量控制时遇到了麻烦,示例和演示显示了一个网络和几个具有相同前缀的 Veth。

我应该如何将这三个接口连接到 OvS?我希望此连接对其他虚拟机透明。

实数范围和名称:

i1: enp0s3, 10.0.7.5/24
i2: enp0s8, 10.0.8.5/24
i3: enp0s9, 10.0.9.5/24

当我将接口连接到 OvS 时,我失去了与所有设备的连接,并且找不到任何针对多接口情况的解决方案。(我已成功将一个接口与几个容器一起连接到 OvS,但它们属于同一个网络)。

编辑(更多详情):这是一个学校项目。

我在 VirtualBox 上运行 4 个虚拟机。我想执行一些操作,例如将来自客户端的流量镜像到两个服务器虚拟机,并丢弃一些数据包。

我的主要问题是,使用 OvS 是否可行?如果不可行,解决方法是什么。

我将每个接口作为端口添加到 OvS:

ovs-vsctl add-br mybr

ovs-vsctl add-port mybr enp0s3 ofport=1

ovs-vsctl add-port mybr enp0s8 ofport=2

ovs-vsctl add-port mybr enp0s9 ofport=3

然后:

ovs-ofctl add-flow mybr in_port=1,action=output:2,3

我使用连接到相同网络前缀的 Veths 进行了测试,并且运行良好。

相关内容