我究竟需要在基于 Ubuntu18 的 QEMU/KVM 服务器上配置什么才能将具有 >1 个 VLAN 的中继传递到其上的 VM?(基本上相当于在 ESXi 的端口上将 VLAN ID 设置为 4095)据报道,到目前为止,我见过一些相当复杂的示例,这些示例通过 1 个主桥和 >1 个辅助桥实现这一点,乍一看并不是最佳选择……除非这是 KVM 唯一可行的方法。提前谢谢大家!
更新:似乎无论我做什么,我的 VLAN 都不会在连接到 Cisco Nexus 9k 交换机的中继远端显示为活动状态,尽管它们都在交换机中继上启用并在交换机本身上定义。在 Linux 主机上进行的 pcap 跟踪显示了一堆标签来自交换机的 STP RST 数据包(交换机上定义的每个 VLAN 一个),并且只有一个未标记Linux 随后立即发送了 STP Conf(不确定是否响应)。这是预期的吗?没有任何虚拟化内容的最低限度的 VLAN 感知 Linux 中继桥配置是什么,可以让我验证 Linux 主机和交换机之间的基本 VLAN 中继操作?在该主机接口上定义桥并在该桥上创建 VLAN 是否足够?
答案1
感谢 @ChristianEhrhardt 为我指明了正确的方向,我们设法在这里制定了正确的配置。令我惊讶的是,甚至不需要按照其中一个链接的建议在 KVM 主机的“中继”桥上定义任何 VLAN。我们所要做的就是添加一个带有 KVM 主机中继接口的桥:
brctl addbr br2
brctl addif br2 enp94s0f0
然后使用 virt-manager GUI 将客户机的“中继”NIC 放入该桥接器中,然后在该客户机上创建与该中继器上的 VLAN 数量相同的子接口。我想不出比这更简单的方法了,因为桥接器似乎以某种方式自动变为“VLAN 感知”。