Linux Bridge VLAN 感知和未标记的流量

Linux Bridge VLAN 感知和未标记的流量

我有以下用例。一台运行虚拟机的机器必须位于 ID 为 166 的 VLAN 中。流量必须从enp89s0连接到主网络非标记流量的物理接口传出。对于 Linux 中的此类用例,网桥有助于将东西连接在一起。该机器使用 Linux 发行版,因此我使用它netword来配置网络接口。这是我的尝试:

br0.netdev

[NetDev]
Name=br0
Kind=bridge
[Bridge]
DefaultPVID=1
STP=no
VLANFiltering=yes

br0.network

[Match]
Name=br0
[Network]
VLAN=enp89s0
VLAN=eth166
[BridgeVLAN]
VLAN=1
[BridgeVLAN]
VLAN=166

我认为默认局域网有VLAN=1

问题是,当我应用此配置时,enp89s0接口会丢失 IP 地址并变得无法访问。

所以我的问题是如何正确配置桥梁以处理 VLAN 和未标记的网络。

答案1

当您将物理接口放置到网桥上时,您不再在其上配置与 IP 相关的参数,接口基本上消失了。通常情况下,网桥将接收该接口的 IP 地址/掩码。对于支持 VLAN 的网桥,您可以在该网桥上配置一个具有必要 vid 和 ip/掩码的 VLAN 接口。

答案2

如果有人对如何设置具有“管理”(未标记)IP 地址的 VLAN 感知桥感兴趣。桥上不需要有虚拟接口。只需在桥上设置一个默认/本机 VID(=启用 PVID 选项的 VLAN ID)和未标记出口,例如

bridge vlan add dev br0 vid 100 pvid untagged self

并且为所有可用桥接 IP 的接口启用相同的默认 VID,例如

bridge vlan add dev eth0 vid 100 pvid master

注意:没有必要为 eth0 上的默认 VID 设置未标记的出口。

相关内容