VLAN配置
目 錄
1 VLAN配置... 1-1
1.1 VLAN簡介.. 1-1
1.1.1 VLAN概述.. 1-1
1.1.2 VLAN原理.. 1-2
1.1.3 VLAN劃分.. 1-3
1.2 配置VLAN基本屬性.. 1-3
1.3 配置VLAN接口基本屬性.. 1-3
1.4 配置基于端口的VLAN. 1-4
1.4.1 基于端口的VLAN簡介.. 1-4
1.4.2 配置基于Access端口的VLAN. 1-5
1.4.3 配置基于Trunk端口的VLAN. 1-6
1.4.4 配置基于Hybrid端口的VLAN. 1-7
1.5 基于MAC位址的VLAN. 1-8
1.5.1 基于MAC的VLAN簡介.. 1-8
1.5.2 配置基于MAC的VLAN. 1-8
1.6 VLAN顯示和維護.. 1-9
1.7 VLAN典型配置舉例.. 1-9

l 不同型号産品的特性功能支援情況略有不同,詳細請參見“特性差異化清單”部分的介紹。
l 裝置支援的接口類型和編号與裝置的實際情況相關,本手冊涉及以太網接口的配置舉例統一使用Eth口舉例說明。實際使用中請根據具體裝置的接口類型和編号進行配置。
l 本手冊中所述的AP裝置可以指代一般意義下的AP裝置和無線網橋、無線Mesh裝置。
1 VLAN配置
1.1 VLAN簡介
1.1.1 VLAN概述
以太網是一種基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,載波偵聽多路通路/沖突檢測)的共享通訊媒體的資料網絡通訊技術,當主機數目較多時會導緻沖突嚴重、廣播泛濫、性能顯著下降甚至使網絡不可用等問題。通過交換機實作LAN互聯雖然可以解決沖突(Collision)嚴重的問題,但仍然不能隔離廣播封包。在這種情況下出現了VLAN(Virtual Local Area Network,虛拟區域網路)技術,這種技術可以把一個LAN劃分成多個邏輯的LAN——VLAN,每個VLAN是一個廣播域,VLAN内的主機間通信就和在一個LAN内一樣,而VLAN間則不能直接互通,這樣,廣播封包被限制在一個VLAN内,如圖1-1所示。
圖1-1 VLAN示意圖
VLAN的劃分不受實體位置的限制:不在同一實體位置範圍的主機可以屬于同一個VLAN;一個VLAN包含的使用者可以連接配接在同一個交換機上,也可以跨越交換機,甚至可以跨越路由裝置。
VLAN的優點如下:
l 限制廣播域。廣播域被限制在一個VLAN内,節省了帶寬,提高了網絡處理能力。
l 增強區域網路的安全性。VLAN間的二層封包是互相隔離的,即一個VLAN内的使用者不能和其它VLAN内的使用者直接通信,如果不同VLAN要進行通信,則需通過路由裝置或三層交換機等三層裝置。
l 靈活建構虛拟工作組。用VLAN可以劃分不同的使用者到不同的工作組,同一工作組的使用者也不必局限于某一固定的實體範圍,網絡建構和維護更友善靈活。
1.1.2 VLAN原理
要使網絡裝置能夠分辨不同VLAN的封包,需要在封包中添加辨別VLAN的字段。由于普通交換機工作在OSI模型的資料鍊路層,隻能對封包的資料鍊路層封裝進行識别。是以,如果添加識别字段,也需要添加到資料鍊路層封裝中。
IEEE(Institute of Electrical and Electronics Engineers,電氣和電子工程師學會)于1999年頒布了用以标準化VLAN實作方案的IEEE 802.1Q協定标準草案,對帶有VLAN辨別的封包結構進行了統一規定。
傳統的以太網資料幀在目的MAC位址和源MAC位址之後封裝的是上層協定的類型字段,如圖1-2所示。
圖1-2 傳統以太網幀封裝格式
其中DA表示目的MAC位址,SA表示源MAC位址,Type表示封包所屬協定類型。
IEEE 802.1Q協定規定在目的MAC位址和源MAC位址之後封裝4個位元組的VLAN Tag,用以辨別VLAN的相關資訊。
圖1-3 VLAN Tag的組成字段
如圖1-3所示,VLAN Tag包含四個字段,分别是TPID(Tag Protocol Identifier,标簽協定辨別符)、Priority、CFI(Canonical Format Indicator,标準格式訓示位)和VLAN ID。
l TPID用來判斷本資料幀是否帶有VLAN Tag,長度為16bit,預設取值為0x8100。
l Priority表示封包的802.1P優先級,長度為3bit,相關内容請參見“ACL和QoS配置指導”中的“QoS”。
l CFI字段辨別MAC位址在不同的傳輸媒體中是否以标準格式進行封裝,長度為1bit,取值為0表示MAC位址以标準格式進行封裝,為1表示以非标準格式封裝,預設取值為0。
l VLAN ID辨別該封包所屬VLAN的編号,長度為12bit,取值範圍為0~4095。由于0和4095為協定保留取值,是以VLAN ID的取值範圍為1~4094。
網絡裝置利用VLAN ID來識别封包所屬的VLAN,根據封包是否攜帶VLAN Tag以及攜帶的VLAN Tag值,來對封包進行處理。

l 這裡的幀格式以Ethernet II型封裝為例,以太網還支援802.2 LLC和802.3 raw封裝格式。對于這些封裝格式的封包,也會添加VLAN Tag字段,用來區分不同VLAN的封包。
l 對于多VLAN Tag封包,裝置會根據其最外層VLAN Tag進行處理,而内層VLAN Tag會被視為封包的普通資料部分。
1.1.3 VLAN劃分
VLAN根據劃分方式不同可以分為不同類型,裝置支援下面兩種VLAN類型:
l 基于端口的VLAN
l 基于MAC位址的VLAN
1.2 配置VLAN基本屬性
表1-1 配置VLAN基本屬性
配置 | 指令 | 說明 |
進入系統視圖 | system-view | - |
建立VLAN | vlan { vlan-id1 [ to vlan-id2 ]} | 可選 該指令主要用于批量建立VLAN |
進入VLAN視圖 | vlan vlan-id | 必選 如果指定的VLAN不存在,則該指令先完成VLAN的建立,然後再進入該VLAN的視圖 預設情況下,系統隻有一個預設VLAN(VLAN1) |
指定目前VLAN的名稱 | name text | 預設情況下,VLAN的名稱為該VLAN的VLAN ID,如“VLAN 0001” |
為VLAN指定一個描述字元串 | description text | 可選 預設情況下,VLAN的描述字元串為該VLAN的VLAN ID,如“VLAN 0001” |

l VLAN1為系統預設VLAN,使用者不能手工建立和删除。
l 不能通過undo vlan指令删除裝置上動态學習到的VLAN。
1.3 配置VLAN接口基本屬性
不同VLAN間的主機不能直接通信,需要通過路由裝置或三層交換機等網絡層裝置進行轉發,裝置提供VLAN接口實作對封包進行三層轉發的功能。
VLAN接口是一種三層模式下的虛拟接口,主要用于實作VLAN間的三層互通,它不作為實體實體存在于裝置上。每個VLAN對應一個VLAN接口,在為VLAN接口配置了IP位址後,該接口即可作為本VLAN内網絡裝置的網關,對需要跨網段的封包進行基于IP位址的三層轉發。
表1-2 配置VLAN接口基本屬性
配置 | 指令 | 說明 |
進入系統視圖 | system-view | - |
建立VLAN接口并進入VLAN接口視圖 | interface vlan-interface vlan-interface-id | 必選 如果該VLAN接口已經存在,則直接進入該VLAN接口視圖 |
配置VLAN接口的IP位址 | ip address ip-address { mask | mask-length } | 可選 預設情況下,沒有配置VLAN接口的IP位址 |
為VLAN接口指定一個描述字元串 | description text | 可選 預設情況下,VLAN接口的描述字元串為該VLAN接口的接口名,如“Vlan-interface1 Interface” |
打開VLAN接口 | undo shutdown | 可選 預設情況下,VLAN接口的狀态為打開,此時VLAN接口狀态受VLAN中端口狀态的影響,即:當VLAN中所有以太網端口狀态為down時,VLAN接口為down狀态,即關閉狀态;當VLAN中有一個或一個以上的以太網端口處于up狀态時,則VLAN接口處于up狀态 如果将VLAN接口的狀态設定為down,則VLAN接口的狀态始終為down,不受VLAN中端口狀态的影響 |

在建立VLAN接口之前,對應的VLAN必須已經存在。否則,将不能建立指定的VLAN接口。
1.4 配置基于端口的VLAN
1.4.1 基于端口的VLAN簡介
基于端口劃分VLAN是VLAN最簡單、最有效的劃分方法。它按照裝置端口來定義VLAN成員,将指定端口加入到指定VLAN中之後,端口就可以轉發指定VLAN的封包。
1. 端口的鍊路類型
根據端口在轉發封包時對Tag标簽的不同處理方式,可将端口的鍊路類型分為三種:
l Access類型:端口隻能屬于1個VLAN,一般用于裝置與計算機直接連接配接;
l Trunk類型:端口可以允許多個VLAN通過,可以接收和發送多個VLAN的封包,一般用來在不同的裝置之間進行連接配接,以保證在跨越多個裝置上建立相同的VLAN的成員能夠互相通訊;
l Hybrid類型:端口可以允許多個VLAN通過,接收和發送多個VLAN的封包,用于網絡裝置之間連接配接或用于連接配接使用者裝置。Hybrid端口既可以連接配接接傳入連結路又可以連接配接幹道鍊路。
2. 預設VLAN
除了可以設定端口允許通過的VLAN,還可以設定端口的預設VLAN。在預設情況下,所有端口的預設VLAN均為VLAN1,但使用者可以根據需要進行配置。
l Access端口的預設VLAN就是它所在的VLAN,不能配置。
l Trunk端口和Hybrid端口可以允許多個VLAN通過,能夠配置預設VLAN。
l 當執行undo vlan指令删除的VLAN是某個端口的預設VLAN時,對Access端口,端口的預設VLAN會恢複到VLAN1;對Trunk或Hybrid端口,端口的預設VLAN配置不會改變,即它們可以使用已經不存在的VLAN作為預設VLAN。

l 建議本端裝置端口的預設VLAN ID和相連的對端裝置端口的預設VLAN ID保持一緻。
l 建議保證端口的PVID屬于端口所在的VLAN。如果端口不在某VLAN内,但是端口的PVID仍然為該VLAN,當端口收到該VLAN的封包或者不帶VLAN Tag的封包(包括STP等協定封包)都會被過濾。
在配置了端口鍊路類型和預設VLAN後,端口對封包的接收和發送的處理有幾種不同情況,具體情況請參看表1-3。
表1-3 不同鍊路類型端口收發封包的差異
端口類型 | 對接收封包的處理 | 對發送封包的處理 | |
當接收到的封包不帶Tag時 | 當接收到的封包帶有Tag時 | ||
Access端口 | 為封包打上預設VLAN的Tag | l 當VLAN ID與預設VLAN ID相同時,接收該封包 l 當VLAN ID與預設VLAN ID不同時,丢棄該封包 | 由于VLAN ID就是預設VLAN ID,去掉Tag,發送該封包 |
Trunk端口 | l 當預設VLAN ID在端口允許通過的VLAN ID清單裡時,接收該封包,給封包打上預設VLAN的Tag l 當預設VLAN ID不在端口允許通過的VLAN ID清單裡時,丢棄該封包 | l 當VLAN ID在端口允許通過的VLAN ID清單裡時,接收該封包 l 當VLAN ID是該端口不允許通過的VLAN ID時,丢棄該封包 | l 當VLAN ID與預設VLAN ID相同,且是該端口允許通過的VLAN ID時:去掉Tag,發送該封包 l 當VLAN ID與預設VLAN ID不同,且是該端口允許通過的VLAN ID時:保持原有Tag,發送該封包 |
Hybrid端口 | 當封包中攜帶的VLAN ID是該端口允許通過的VLAN ID時,發送該封包,并可以通過port hybrid vlan指令配置端口在發送該VLAN(包括預設VLAN)的封包時是否攜帶Tag |
1.4.2 配置基于Access端口的VLAN
配置基于Access端口的VLAN有兩種方法:一種是在VLAN視圖下進行配置,另一種是在以太網接口或BSS接口視圖下進行配置。
表1-4 配置基于Access端口的VLAN(在VLAN視圖下)
配置 | 指令 | 說明 |
進入系統視圖 | system-view | - |
進入VLAN視圖 | vlan vlan-id | 必選 如果指定的VLAN不存在,則該指令先完成VLAN的建立,然後再進入該VLAN的視圖 |
向目前VLAN中添加一個或一組Access端口 | port interface-list | 必選 預設情況下,系統将所有端口都加入到VLAN1 |
表1-5 配置基于Access端口的VLAN(在接口視圖下)
操作 | 指令 | 說明 |
進入系統視圖 | system-view | - |
進入接口視圖 | interface interface-type interface-number | 進入接口視圖後,下面進行的配置隻在目前端口下生效 |
配置端口的鍊路類型為Access類型 | port link-type access | 可選 預設情況下,端口的鍊路類型為Access類型 |
将目前Access端口加入到指定VLAN | port access vlan vlan-id | 可選 預設情況下,所有Access端口均屬于且隻屬于VLAN1 |

在将Access端口加入到指定VLAN之前,要加入的VLAN必須已經存在。
1.4.3 配置基于Trunk端口的VLAN
Trunk端口可以允許多個VLAN通過,隻能在以太網接口視圖下進行配置。
表1-6 配置基于Trunk端口的VLAN
操作 | 指令 | 說明 |
進入系統視圖 | system-view | - |
進入以太網接口視圖 | interface interface-type interface-number | - |
配置端口的鍊路類型為Trunk類型 | port link-type trunk | 必選 |
允許指定的VLAN通過目前Trunk端口 | port trunk permit vlan { vlan-id-list | all } | 必選 預設情況下,Trunk端口隻允許VLAN1的封包通過 |
設定Trunk端口的預設VLAN | port trunk pvid vlan vlan-id | 可選 預設情況下,Trunk端口的預設VLAN為VLAN1 |

l Trunk端口和Hybrid端口之間不能直接切換,隻能先設為Access端口,再設定為其它類型端口。例如:Trunk端口不能直接被設定為Hybrid端口,隻能先設為Access端口,再設為Hybrid端口。
l 配置預設VLAN後,必須使用port trunk permit vlan指令配置允許預設VLAN的封包通過,出接口才能轉發預設VLAN的封包。
1.4.4 配置基于Hybrid端口的VLAN
Hybrid端口可以允許多個VLAN通過,隻能在以太網接口和BSS接口視圖下進行配置。
表1-7 配置基于Hybrid端口的VLAN
操作 | 指令 | 說明 |
進入系統視圖 | system-view | - |
進入接口視圖 | interface interface-type interface-number | - |
配置端口的鍊路類型為Hybrid類型 | port link-type hybrid | 必選 |
允許指定的VLAN通過目前Hybrid端口 | port hybrid vlan vlan-id-list { tagged | untagged } | 必選 預設情況下,Hybrid端口隻允許VLAN1的封包以untagged方式通過(即VLAN1的封包從該端口發送出去後不攜帶VLAN Tag) |
設定Hybrid端口的預設VLAN | port hybrid pvid vlan vlan-id | 可選 預設情況下,Hybrid端口的預設VLAN為VLAN1 |

l Trunk端口和Hybrid端口之間不能直接切換,隻能先設為Access端口,再設定為其它類型端口。例如:Trunk端口不能直接被設定為Hybrid端口,隻能先設為Access端口,再設定為Hybrid端口。
l 在設定允許指定的VLAN通過Hybrid端口之前,允許通過的VLAN必須已經存在。
l 配置預設VLAN後,必須使用port hybrid vlan指令配置允許預設VLAN的封包通過,出接口才能轉發預設VLAN的封包。
1.5 基于MAC位址的VLAN
1.5.1 基于MAC的VLAN簡介
基于MAC劃分VLAN是VLAN的另一種劃分方法。它按照封包的源MAC位址來定義VLAN成員,将指定封包加入該VLAN的Tag後發送。該功能通常會和安全(比如802.1X)技術聯合使用,以實作終端的安全、靈活接入。
1. MAC VLAN的實作機制
如果端口采用基于MAC位址劃分VLAN的機制,則當端口收到封包時,采用以下方法處理:
l 當收到的封包為untagged封包時,會以封包的源MAC為根據去比對MAC-VLAN表項。精确查找,即查詢表中MASK為全F的表項,如果該表項中的MAC位址和關鍵字完全相同,則查找成功,給封包添加表項中指定的VLAN ID。模糊比對,即查詢表中MASK不是全F的表項,将關鍵字和MASK相與後再與表項中的MAC位址比對,如果完全相同,則查找成功,給封包添加表項中指定的VLAN ID。如果比對失敗,則按其它比對原則進行比對。
l 當收到的封包為tagged封包時,處理方式和基于端口的VLAN一樣:如果端口允許攜帶該VLAN标記的封包通過,則正常轉發;如果不允許,則丢棄該封包。
2. MAC VLAN的配置方式
基于MAC位址的VLAN可以通過如下兩種方式來進行配置:
l 通過指令行靜态配置。使用者通過指令行來配置MAC位址和VLAN的關聯關系。
l 通過認證伺服器來自動配置(即VLAN下發)。裝置根據認證伺服器提供的資訊,動态建立MAC位址和VLAN的關聯關系。如果使用者下線,系統将自動删除該對應關系。該方式下(隻)需要在認證伺服器上配置MAC位址和VLAN的關聯,有關該方式的詳細介紹請參見“安全配置指導”中的“802.1x”。
MAC-VLAN表項可以同時支援兩種配置方式,即在本地裝置和認證伺服器上都進行了配置,但是這兩種配置必須一緻配置才能生效;如果不一緻的話,則先執行的配置生效。
1.5.2 配置基于MAC的VLAN

基于MAC的VLAN功能隻能在Hybrid端口配置。
表1-8 配置基于MAC的VLAN
操作 | 指令 | 說明 |
進入系統視圖 | system-view | - |
配置MAC位址與VLAN的關聯 | mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id[ priority priority ] | 必選 |
進入接口視圖 | interface interface-type interface-number | 必選 |
配置端口的鍊路類型為Hybrid類型 | port link-type hybrid | 必選 |
允許基于MAC的VLAN通過目前Hybrid端口 | port hybrid vlan vlan-id-list { tagged | untagged } | 必選 預設情況下,所有Hybrid端口隻允許VLAN 1通過 |
使能基于MAC位址劃分VLAN的功能 | mac-vlan enable | 必選 預設情況下,未使能端口的MAC VLAN功能 |
1.6 VLAN顯示和維護
在完成上述配置後,在任意視圖下執行display指令可以顯示配置後VLAN的運作情況,通過檢視顯示資訊驗證配置的效果。
在使用者視圖下執行reset指令可以清除接口統計資訊。
表1-9 VLAN顯示和維護
操作 | 指令 |
顯示VLAN相關資訊 | display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] |
顯示VLAN接口相關資訊 | display interface vlan-interface [ vlan-interface-id ] |
顯示MAC-VLAN表項 | display mac-vlan { all | dynamic | mac-address mac-address [ mask mac-mask ] | static | vlan vlan-id } |
顯示所有使能了MAC VLAN功能的接口 | display mac-vlan interface |
顯示裝置上目前存在的Hybrid或Trunk端口 | display port { hybrid | trunk } |
清除接口的統計資訊 | reset counters interface [ interface-type [ interface-number ] ] |

使用reset counters interface指令可以清除VLAN接口的統計資訊,該指令的較長的描述請參見“二層技術-以太網交換指令參考”中的“以太網接口”。
1.7 VLAN典型配置舉例
1. 組網需求
l AP與對端Device B使用Trunk端口Ethernet1/0/1相連;
l 該端口的預設VLAN ID為100;
l 該端口允許VLAN2、VLAN6到VLAN50、VLAN100的封包通過。
2. 組網圖
圖1-4 配置基于端口的VLAN組網圖
3. 配置步驟
(1) 配置AP
# 建立VLAN2、VLAN6到VLAN50、VLAN100。
<AP> system-view
[AP] vlan 2
[AP-vlan2] quit
[AP] vlan 100
[AP-vlan100] vlan 6 to 50
Please wait... Done.
# 進入Ethernet1/0/1以太網接口視圖。
[AP] interface ethernet 1/0/1
# 配置Ethernet1/0/1為Trunk端口,并配置端口的預設VLAN ID為100。
[AP-Ethernet1/0/1] port link-type trunk
[AP-Ethernet1/0/1] port trunk pvid vlan 100
# 配置Ethernet1/0/1禁止VLAN1的封包通過(所有端口預設情況下都是允許VLAN1的封包通過的)。
[AP-Ethernet1/0/1] undo port trunk permit vlan 1
# 配置Ethernet1/0/1允許VLAN2、VLAN6到VLAN50、VLAN100的封包通過。
[AP-Ethernet1/0/1] port trunk permit vlan 2 6 to 50 100
Please wait... Done.
[AP-Ethernet1/0/1] quit
[AP] quit
(2) 配置Device B,與AP配置步驟雷同,不再贅述。
4. 顯示與驗證
此處以AP的驗證為例,Device B的驗證與此類似,不再贅述。
# 檢視AP的Ethernet1/0/1的相關資訊,驗證以上配置是否生效。
<AP> display interface ethernet 1/0/1
Ethernet1/0/1 current state: UP
IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 000f-e200-0000
Description: Ethernet1/0/1 Interface
Loopback is not set
Media type is twisted pair, promiscuous mode not set
100Mbps-speed mode, full-duplex mode
Link speed type is autonegotiation, link duplex type is autonegotiation
Flow-control is not enabled
The Maximum Frame Length is 1522
Broadcast MAX-ratio: 100%
Unicast MAX-ratio: 100%
Multicast MAX-ratio: 100%
PVID: 100
Port link-type: trunk
VLAN passing : 2, 6-50, 100
VLAN permitted: 2, 6-50, 100
Trunk port encapsulation: IEEE 802.1q
Port priority: 0
Last 300 seconds input: 0 packets/sec 0 bytes/sec
Last 300 seconds output: 0 packets/sec 0 bytes/sec
Input (total): 0 packets, 0 bytes
0 broadcasts, 0 multicasts
Input (normal): 0 packets, 0 bytes
0 broadcasts, 0 multicasts
Input: 0 input errors, 0 runts, 0 giants, 0 throttles
0 CRC, 0 frame, 0 overruns, 0 aborts
0 ignored, 0 parity errors
Output (total): 0 packets, 0 bytes
0 broadcasts, 0 multicasts, 0 pauses
Output (normal): 0 packets, 0 bytes
0 broadcasts, 0 multicasts, 0 pauses
Output: 0 output errors, 0 underruns, 0 buffer failures
0 aborts, 0 deferred, 0 collisions, 0 late collisions
0 lost carrier, 0 no carrier
通過以上顯示資訊,可以看到接口的類型為trunk(Port link-type: trunk),接口的預設VLAN為VLAN 100(PVID: 100),端口允許VLAN2、VLAN6到VLAN50、VLAN100的封包通過(VLAN permitted: 2, 6-50, 100)。配置成功。