
我有以下用例。執行 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 設定未標記的出口。