无法在 Fedora 上创建具有 VLAN 接口的 Linux 桥接器

无法在 Fedora 上创建具有 VLAN 接口的 Linux 桥接器

我正在尝试在我的 Fedora 系统上设置包含 VLAN 接口的 Linux 桥接器。我的目标是将此桥接器与 virt-manager 结合使用以创建多个虚拟机,每个虚拟机在桥接器中都有一个接口,可以在特定 VLAN(VLAN ID 12)上进行通信。

我的物理接口是 enp5s0,并且我为 VLAN ID 12 创建了一个 VLAN 接口 enp5s0.12。我使用 NetworkManager 和 nmcli 命令来管理我的网络连接。

以下是我遵循的步骤:

创建 VLAN 接口:

nmcli con add type vlan con-name enp5s0.12 dev enp5s0 id 12

创建桥梁:

nmcli con add type bridge con-name br0
nmcli con modify br0 bridge.stp no

架起了桥梁:

nmcli con up br0

为网桥添加VLAN接口:

nmcli con add type bridge-slave con-name br0-enp5s0.12 ifname enp5s0.12 master br0

但是,当我尝试建立 br0-enp5s0.12 连接时,出现以下错误:

Error: Connection activation failed: No suitable device found for this connection (device enp5s0 not available because profile is not compatible with device (mismatching interface name)).

我已经检查过,我的所有连接(enp5s0.12、br0 和 br0-enp5s0.12)都设置为自动连接。即使重新启动系统后,当我运行 ip addr show br0 时,br0 接口也不会出现,这表明网桥没有启动。如果您能提供任何有关如何解决此问题的指导,我将不胜感激。如果我可以提供任何其他可能有用的信息,请告诉我。

答案1

我找到了一种方法来让它为我工作,希望它也能帮助别人。

首先创建 VLAN 接口:

nmcli con add type vlan con-name enp5s0.12 dev enp5s0 id 12

然后创建桥梁:

nmcli con add type bridge con-name br0 ifname br0

然后将 VLAN enp5s0.12 添加到网桥 br0:

nmcli con modify enp5s0.12 master br0

然后将桥设置为

nmcli con up br0

然后将 VLAN 接口设置为 up

nmcli con up enp5s0.12

此后,我看到 12 网络上的 DHCP 服务器将 IP 地址分配给我的网桥 br0

然后为了创建 libvirt 网络我创建了一个包含以下内容的文件:

<network>
  <name>demo-net</name>
  <forward mode="bridge" />
  <bridge name="br0" />
</network>

然后运行:

virsh net-define ./demo-net.xml
virsh net-start demo-net
virsh net-autostart demo-net

此后,我可以使用 virt-manager 创建可以在 VLAN 12 网络上通信的虚拟机

相关内容