我有一个运行 OpenVZ CT(ProxMox)的节点。HN 上的 eth1 通过 vmbr1 桥接到 CT101 上的 veth 设备(容器内的 eth1)。
(主机节点)eth1 -> vmbr1 <- veth101.1 <- eth1(CT101)
没有 VLAN,随意设置。HN 上的桥接器和物理接口均未分配任何 IP。它们只是为 CT101 进行“转发”。
现在我想通过该接口转发具有 2 个 802.1Q VLAN 的中继端口。我可以在 CT101 内创建这些 VLAN 子接口吗?它是如何工作的,然后标签通过 Linux 桥传递?标签是被保存还是被删除?
或者最好将 eth1 从 HN 上的 vmbr1 分离,创建 VLAN 子接口并通过单独的桥将它们连接到 CT101。因此每个 VLAN 都经过专用桥,最终成为容器内未标记的“伪物理”ethX 设备?
答案1
当时我最终选择了最后一个解决方案。我创建 vlanXXX 接口并对其进行 UP,无需任何 IP。当我创建 vmbrXXX 并将该 vlanXXX 附加到它时。接下来,我将该桥接器作为容器内的单独接口添加到 OpenVZ 容器。到目前为止,效果很好。同样的东西可以在较新的带有 LXC 的 Proxmox 上使用,但似乎他们的 Web 界面现在也可以很好地在 CT 上定义 VLAN。