如何让我的 Linux VM 连接到 OpenVswitch 桥?

如何让我的 Linux VM 连接到 OpenVswitch 桥?

我正在关注这个教程:http://networkstatic.net/wp-content/uploads/2012/04/openvswitch.openflow.gre_.tutorial1.pdf

简而言之:br0 连接到实际网络,br1 是一个隔离桥,我将多个虚拟机连接到该桥。现在我想在两个 br1 之间建立一个 gre 隧道,如图所示

在此处输入图片描述

现在,br0 没问题:我添加了以太网端口,并且实际上已连接到 192.168.1.x/24 LAN。对于 br1,我想要一个 192.168.100.x/24 系列地址,因此首先我设置:

ifconfig br1 192.168.100.1 netmask 255.255.255.0

问题是,当我启动我的 Linux 虚拟机时,它只是不断尝试连接到 eth0,但实际上并没有成功!接口配置正确,因为如果我要求

ovs-vsctl show

我在 br1 下看到一个“vnet0”端口,这意味着虚拟机实际上已连接!但在客户操作系统中,此连接并未建立。有什么想法吗?

编辑:客户系统中的 ifconfig 告诉我 eth0 没有关联的 ip 地址。我尝试使用以下命令手动设置它:

ifconfig br1 192.168.100.1 netmask 255.255.255.0

但它仍然没有完成工作。

答案1

在您的设置中,VM1 和 VM2 之间的路径旨在转发以太网帧。由于以太网层位于 IP 层之下,这意味着 VM1 和 VM2 之间的路径上的任何内容都不应该知道 IP 层上发生了什么。

只有 VM1 和 VM2 知道 IP 层。因此,分配 IP 地址看起来br2像是一个错误,除非您想将主机作为虚拟段上的另一个节点进行连接。

如果您只希望这两个虚拟机出现在虚拟网段上,那么配置 IP 的最简单方法就是eth0在每个虚拟机内部配置一个静态 IP 地址。

如果您需要在该段上部署多台虚拟机,您可能希望让其中一个虚拟机充当 DHCP 服务器。

您的设置很容易遇到 MTU 问题。这些问题可以解决,但在开始查找可能的 MTU 问题之前,您需要先通过连接获取小数据包。

相关内容