Linux-Kernel

Linux 虛擬網橋是否支持 VLAN?

  • March 14, 2019

Linux 虛擬網橋(例如配置為ipbrctl)是否支持 VLAN?例如,在不同的 VLAN 和中繼埠中配置訪問埠,僅啟用某些 VLAN。我的核心(3.2.0-4-686-pae)配置文件中關於 VLAN 和網橋的唯一選項是CONFIG_BRIDGE_EBT_VLAN,但據我所知,這可以過濾 802.1q VLAN 欄位ebtables

沒問題,這是大多數 openWRT 系統將 wlan 和交換機埠連接到同一個 LAN 的方式。這是我的 openWRT 系統上的配置範例,它有兩個 wifi 網路,一個供私人使用,一個供客人使用:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br-vlan2        7fff.a0f3c15eb708       no              eth0.2
                                                       wlan0
                                                       wlan1
br-vlan3        7fff.a0f3c15eb708       no              eth0.3
                                                       wlan0-1
                                                       wlan1-1

一些額外的解釋:

典型的 openwrt 硬體(上面是 TP-Link WDR4300)有一個處理所有物理埠的開關;eth有時,物理 WAN 埠是SoC CPU 上的單獨介面。交換機通過中繼連接到 CPU(此連接上的數據包帶有 VLAN 標籤)。所以 eth0.2 是 VLAN2,它簡單地連接到 4 個物理交換機埠,去掉了 VLAN 標籤。

因此,您應該將 br-vlan2 簡單地視為“LAN 網路”,VLAN 是根據需要使用的,因為從 CPU 到交換機只有一個連接。

Linux 中的乙太網網橋可以將 VLAN 和物理介面作為成員。這符合我的預期,因為 VLAN 介面的行為就像 Linux 中的物理介面一樣,擁有自己的路由、防火牆等,就像任何物理介面一樣。如果您不介意接下來的瘋狂,我希望您也可以向網橋添加不同的 VLAN :)

我還沒有嘗試橋接一個物理介面,例如eth0也承載 VLAN 標記的流量……我不知道這些標記的數據包是否也會被橋接。

引用自:https://unix.stackexchange.com/questions/192177