Linux 橋接 VLAN 感知和未標記流量

Linux 橋接 VLAN 感知和未標記流量

我有以下用例。執行 VM 的電腦必須位於 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

我考慮過預設的lan有VLAN=1

問題是,當我套用此配置時,enp89s0介面會遺失 IP 位址並且無法存取。

所以我的問題是如何正確配置網橋來處理 VLAN 和未標記的網路。

答案1

當您將實體介面放置到網橋上時,您不再在其上配置與IP相關的參數,該介面基本上消失了。在通常情況下,網橋將接收該介面的 IP 位址/遮罩。對於支援 vlan 的網橋,您可以使用必要的 vid 和 ip/mask 在該網橋之上設定一個 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 設定未標記的出口。

相關內容