07-VLAN配置
本章節下載: 07-VLAN配置 (1011.18 KB)
目 錄
3.6 配置Primary VLAN和Secondary VLAN間的映射關係
3.9 配置Primary VLAN下指定Secondary VLAN間三層互通
3.11.1 Private VLAN配置舉例(promiscuous模式)
3.11.2 Private VLAN配置舉例(trunk promiscuous模式)
3.11.3 Private VLAN配置舉例(trunk promiscuous & trunk secondary模式)
3.11.4 Secondary VLAN間三層互通配置舉例
4.1.6 端口加入Voice VLAN的方式和IP電話的配合
4.7 配置通過LLDP/CDP通告Voice VLAN信息
VLAN(Virtual Local Area Network,虛擬局域網)技術把一個物理LAN劃分成多個邏輯的LAN——VLAN,處於同一VLAN的主機能直接互通,而處於不同VLAN的主機則不能直接互通,從而增強了局域網的安全性。劃分VLAN後,廣播報文被限製在同一個VLAN內,即每個VLAN是一個廣播域,有效地限製了廣播域的範圍。通過VLAN可以將不同的主機劃分到不同的工作組,同一工作組的主機可以位於不同的物理位置,網絡構建和維護更方便靈活。
要使網絡設備能夠分辨不同VLAN的報文,需要在報文中添加標識VLAN的字段。IEEE 802.1Q協議規定,在以太網報文的目的MAC地址和源MAC地址字段之後、協議類型字段之前加入4個字節的VLAN Tag,用以標識VLAN的相關信息。
圖1-1 VLAN Tag的組成字段
如圖1-1所示,VLAN Tag包含四個字段,分別是TPID(Tag Protocol Identifier,標簽協議標識符)、Priority、CFI(Canonical Format Indicator,標準格式指示位)和VLAN ID。
· TPID:協議規定TPID取值為0x8100時表示報文帶有VLAN Tag,但各設備廠商可以自定義該字段的值。當鄰居設備將TPID值配置為非0x8100時,為了能夠識別這樣的報文,實現互通,必須在本設備上修改TPID值,確保和鄰居設備的TPID值配置一致。如果報文的TPID值為配置值或0x8100,則該報文被認為帶有VLAN Tag。配置TPID值的相關命令請參見“二層技術-以太網交換命令參考”中的“QinQ”。
· Priority:用來表示報文的802.1p優先級,長度為3比特,相關內容請參見“ACL和QoS配置指導/QoS”中的“附錄”。
· CFI:用來表示MAC地址在不同的傳輸介質中是否以標準格式進行封裝,長度為1比特。取值為0表示MAC地址以標準格式進行封裝,為1表示以非標準格式封裝。在以太網中,CFI取值為0。
· VLAN ID:用來表示該報文所屬VLAN的編號,長度為12比特。由於0和4095為協議保留取值,所以VLAN ID的取值範圍為1~4094。
網絡設備根據報文是否攜帶VLAN Tag以及攜帶的VLAN Tag信息,來對報文進行處理,利用VLAN ID來識別報文所屬的VLAN。
· 以太網支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封裝格式,本文以Ethernet II型封裝為例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封裝格式添加VLAN Tag字段的方式請參見相關協議規範。
· 對於攜帶有多層VLAN Tag的報文,設備會根據其最外層VLAN Tag進行處理,而內層VLAN Tag會被視為報文的普通數據部分。
VLAN根據劃分方式不同可以分為不同類型,下麵列出了幾種最常見的VLAN類型:
· 基於端口的VLAN
· 基於MAC地址的VLAN
· 基於IP子網的VLAN
· 基於協議的VLAN
如果某個接口下同時使能以上四種VLAN,則缺省情況下VLAN的匹配將按照MAC VLAN、IP子網VLAN、協議VLAN、端口VLAN的先後順序進行。
基於端口劃分VLAN是最簡單、最有效的VLAN劃分方法。它按照設備端口來定義VLAN成員,將指定端口加入到指定VLAN中之後,該端口就可以轉發該VLAN的報文。
端口的鏈路類型分為三種,端口的鏈路類型決定了端口能否加入多個VLAN。不同鏈路類型的端口在轉發報文時對VLAN Tag的處理方式不同:
· Access:端口隻能發送一個VLAN的報文,發出去的報文不帶VLAN Tag。一般用於和不能識別VLAN Tag的用戶終端設備相連,或者不需要區分不同VLAN成員時使用。
· Trunk:端口能發送多個VLAN的報文,發出去的端口缺省VLAN的報文不帶VLAN Tag,其他VLAN的報文都必須帶VLAN Tag。通常用於網絡傳輸設備之間的互連。
· Hybrid:端口能發送多個VLAN的報文,端口發出去的報文可根據需要配置某些VLAN的報文帶VLAN Tag,某些VLAN的報文不帶VLAN Tag。在一些應用場景下,需要使用Hybrid端口的功能。比如在1:2 VLAN映射中,服務提供商網絡的多個VLAN的報文在進入用戶網絡前,需要剝離外層VLAN Tag,此時Trunk端口不能實現該功能,因為Trunk端口隻能使該端口缺省VLAN的報文不帶VLAN Tag通過。有關1:2 VLAN映射的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN映射”。
端口缺省VLAN簡稱為PVID(Port VLAN ID)。當端口收到Untagged報文時,會認為該報文所屬的VLAN為PVID。
Access端口的PVID就是它所在的VLAN。
Trunk端口和Hybrid端口可以允許多個VLAN通過,能夠配置端口PVID。
端口對報文的接收和發送的處理有幾種不同情況,具體情況請參看表1-1。
端口類型 |
對接收報文的處理 |
對發送報文的處理 |
|
當接收到的報文不帶Tag時 |
當接收到的報文帶有Tag時 |
||
Access端口 |
為報文添加端口PVID的Tag |
· 當報文的VLAN ID與端口的PVID相同時,接收該報文 · 當報文的VLAN ID與端口的PVID不同時,丟棄該報文 |
去掉Tag,發送該報文 |
Trunk端口 |
· 當端口的PVID在端口允許通過的VLAN ID列表裏時,接收該報文,給報文添加PVID的Tag · 當端口的PVID不在端口允許通過的VLAN ID列表裏時,丟棄該報文 |
· 當報文的VLAN ID在端口允許通過的VLAN ID列表裏時,接收該報文 · 當報文的VLAN ID不在端口允許通過的VLAN ID列表裏時,丟棄該報文 |
· 當報文的VLAN ID與端口的PVID相同,且是該端口允許通過的VLAN ID時:去掉Tag,發送該報文 · 當報文的VLAN ID與端口的PVID不同,且是該端口允許通過的VLAN ID時:保持原有Tag,發送該報文 |
Hybrid端口 |
當報文的VLAN ID是端口允許通過的VLAN ID時,發送該報文,並可以配置端口在發送該VLAN的報文時是否攜帶Tag |
基於MAC的VLAN是根據報文的源MAC地址來劃分VLAN。設備維護的MAC VLAN表記錄了MAC地址和VLAN的對應關係。這種劃分方法的最大優點就是當用戶物理位置發生變化,VLAN不用重新配置。所以這種根據MAC地址的劃分方法也稱為基於用戶的VLAN。
手動配置靜態MAC VLAN常用於VLAN中用戶相對較少的網絡環境。在該方式下,用戶需要手動配置MAC VLAN表項,開啟基於MAC地址的VLAN功能,並將端口加入MAC VLAN。其原理為:
· 當端口收到的報文為Untagged報文時,根據報文的源MAC地址匹配MAC VLAN表項。首先進行模糊匹配,即查詢MAC VLAN表中掩碼不是全F的表項,將源MAC地址和掩碼相與運算後與MAC VLAN表項中的MAC地址匹配,如果完全相同,則模糊匹配成功,給報文添加表項中對應的VLAN Tag並轉發該報文;如果模糊匹配失敗,則進行精確匹配,即查詢表中掩碼為全F的表項。如果報文中的源MAC地址與某MAC VLAN表項中的MAC地址完全相同,則精確匹配成功,給報文添加表項中對應的VLAN Tag並轉發該報文;如果沒有找到匹配的MAC VLAN表項,則繼續按照其他原則(基於IP子網的VLAN、基於協議的VLAN、基於端口的VLAN)確定報文所屬的VLAN,給報文添加對應的VLAN Tag並轉發該報文。
· 當端口收到的報文為Tagged報文時,如果報文的VLAN ID在該端口允許通過的VLAN ID列表裏,則轉發該報文;否則丟棄該報文。
手動配置靜態MAC VLAN時,如果不能確定從哪些端口收到指定VLAN的報文,就不能把相應端口加入到MAC VLAN。此時可以采用動態觸發端口加入靜態MAC VLAN的方式。在該方式下,配置MAC VLAN表項後,需要在端口上開啟基於MAC的VLAN功能和MAC VLAN的動態觸發功能,不需要手動把端口加入MAC VLAN。
配置動態觸發端口加入靜態MAC VLAN後,端口在收到報文時,首先判斷報文是否攜帶VLAN Tag,若帶VLAN Tag,則直接獲取報文源MAC地址;若不帶VLAN Tag,則先進行報文VLAN選擇(按照基於MAC的VLAN->基於IP子網的VLAN->基於協議的VLAN->基於端口的VLAN的優先次序為該Untagged報文添加對應的VLAN Tag,並獲取該VLAN Tag),再獲取報文源MAC地址,然後根據報文的源MAC地址和VLAN查詢靜態MAC VLAN表項:
· 如果報文源MAC地址與MAC VLAN表項中的MAC地址精確匹配,再檢查報文的VLAN ID是否與對應表項中的VLAN ID一致,若一致,通過該報文動態觸發端口加入相應VLAN,同時轉發該報文;否則丟棄該報文。
· 如果報文源MAC地址與MAC VLAN表項的MAC地址不精確匹配:
¡ 當報文VLAN ID為PVID,判斷端口是否允許報文在PVID內轉發,若允許,則生成以報文源MAC地址為目的MAC地址的動態MAC地址表項,並在PVID中轉發該報文,否則丟棄該報文。
如果動態MAC地址表項已經生成,則即使端口的PVID配置修改,使得報文的VLAN ID不再滿足上述的判斷條件,源MAC地址為動態MAC地址表項目的MAC地址的報文仍可以被端口轉發。直到生成的動態MAC地址表項老化,不再滿足上述判斷條件的報文才會被丟棄。
¡ 當報文VLAN ID不為PVID,判斷是否報文VLAN ID為Primary VLAN ID且PVID為對應的Secondary VLAN ID,若是,則轉發該報文;否則丟棄該報文。處理流程如圖1-2所示:
動態MAC VLAN是由接入認證過程來動態決定接入用戶報文所屬的VLAN。該功能需要和接入認證功能(比如端口接入控製方式為MAC-based的802.1X)配合使用,以實現終端的安全、靈活接入。在設備上配置動態MAC VLAN功能以後,還需要在接入認證服務器上配置用戶名和VLAN的綁定關係。
如果用戶發起認證請求,接入認證服務器先對用戶名和密碼進行驗證,如果驗證通過,服務器下發VLAN信息。此時設備根據請求報文的源MAC地址和下發的VLAN信息生成動態MAC VLAN表項(要求與已有的靜態MAC VLAN表項不能衝突),並將MAC VLAN添加到端口允許通過的VLAN列表中。用戶下線後,設備自動刪除MAC VLAN表項,並將MAC VLAN從端口允許通過的VLAN列表中刪除。
有關接入認證功能的詳細介紹請參見“安全配置指導”中的“802.1X”和“MAC地址認證”。
基於IP子網的VLAN(簡稱子網VLAN)是根據報文源IP地址及子網掩碼來進行劃分的。設備從端口收到Untagged報文後,會根據報文的源IP地址來確定報文所屬的VLAN,然後將報文自動劃分到指定VLAN中傳輸。
此特性主要用於將指定網段或IP地址的報文劃分到指定的VLAN中傳送。
基於協議的VLAN(簡稱協議VLAN)是根據端口接收到的報文所屬的協議(族)類型以及封裝格式來給報文分配不同的VLAN ID。可用來劃分VLAN的協議有IP、IPX、AT(AppleTalk,Apple計算機網絡協議)等,封裝格式有Ethernet II、802.3 raw、802.2 LLC、802.2 SNAP等。
此特性主要應用於將網絡中提供的服務類型與VLAN相關聯,方便管理和維護。
不同VLAN間的主機不能直接通信,通過在設備上創建並配置VLAN接口,可以實現VLAN間的三層互通。
VLAN接口是一種三層的虛擬接口,它不作為物理實體存在於設備上。每個VLAN對應一個VLAN接口,在為VLAN接口配置了IP地址後,該IP地址即可作為本VLAN內網絡設備的網關地址,此時該VLAN接口能對報文進行三層轉發。多個VLAN接口的IP地址不在同一個網段時,還需要為設備部署IP路由協議,使得多個VLAN接口的IP地址之間路由可達,設備才能在不同的VLAN間跨網段實現三層轉發。有關IP路由協議的詳細介紹,請參見“三層技術-IP路由配置指導”。
與VLAN相關的協議規範有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
VLAN 1為係統缺省VLAN,用戶不能手工創建和刪除。
動態學習到的VLAN,以及被其他應用鎖定不讓刪除的VLAN,都不能使用undo vlan命令直接刪除。隻有將相關配置刪除之後,才能刪除相應的VLAN。
VLAN配置任務如下:
(1) 創建VLAN
(2) (可選)開啟VLAN內報文丟棄功能
(3) (可選)開啟VLAN的流量統計功能
(1) 進入係統視圖。
system-view
(2) 創建VLAN。請至少選擇其中一項進行配置。
¡ 創建一個VLAN,並進入VLAN視圖。
vlan vlan-id
¡ 批量創建VLAN,然後進入VLAN視圖。
vlan { vlan-id-list | all }
vlan vlan-id
缺省情況下,係統隻有一個缺省VLAN(VLAN 1)。
(3) (可選)指定VLAN的名稱。
name text
缺省情況下,VLAN的名稱為“VLAN vlan-id”,其中vlan-id為該VLAN的四位數編號,如果該VLAN的編號不足四位,則會在編號前增加0,補齊四位。例如,VLAN 100的名稱為“VLAN 0100”。
(4) (可選)配置VLAN的描述信息。
description text
缺省情況下,VLAN的描述信息為“VLAN vlan-id”,其中vlan-id為該VLAN的四位數編號,如果該VLAN的編號不足四位,則會在編號前增加0,補齊四位。例如,VLAN 100的描述信息為“VLAN 0100”。
開啟VLAN內報文丟棄功能後,指定VLAN內軟件轉發的報文(包括協議報文)將被丟棄。如果需要丟棄指定VLAN內收發的所有報文,還需要配置QoS策略匹配其餘報文,關於QoS策略的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟VLAN內報文丟棄功能。
block outbound
缺省情況下VLAN內報文丟棄功能處於關閉狀態。
當您需要檢查網絡狀況或者處理網絡故障時,可以在設備上打開VLAN的流量統計功能,對通過VLAN的流量總數(包括所有單播、組播和廣播報文)進行統計。
VLAN的流量統計功能會占用一定的係統資源,請在不需要統計信息時及時關閉該功能。
VLAN的流量統計信息是不斷累加的,係統不會自動清除,如需清空VLAN的流量統計信息,可執行reset vlan statistics命令清除指定VLAN的統計信息。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟VLAN的流量統計功能。
statistics enable
缺省情況下,VLAN的流量統計功能處於關閉狀態。
· 當執行undo vlan命令刪除的VLAN是某個端口的PVID時,對Access端口,端口的PVID會恢複到VLAN 1;對Trunk或Hybrid端口,端口的PVID配置不會改變,即它們可以使用已經不存在的VLAN作為端口PVID。
· 建議本端設備端口的PVID和相連的對端設備端口的PVID保持一致。
· 建議保證端口的PVID為端口允許通過的VLAN。如果端口不允許某VLAN通過,但是端口的PVID為該VLAN,則端口會丟棄收到的該VLAN的報文或者不帶VLAN Tag的報文。
· 成員端口加入/離開二層聚合組時,對端口上的VLAN配置具有如下限製或行為:
a. 隻有成員端口處於缺省的VLAN配置情況時(即加入了VLAN 1的Access端口),才能夠加入二層聚合組。
b. 成員端口加入二層聚合組以後,在二層聚合接口上執行的VLAN相關配置會同步到成員端口上。
c. 成員端口退出聚合組後,成員端口上的VLAN相關配置會恢複為缺省配置。
配置基於Access端口的VLAN有兩種方法:一種是在VLAN視圖下進行配置,另一種是在接口視圖下進行配置。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 向當前VLAN中添加一個或一組Access端口。
port interface-list
缺省情況下,係統將所有端口都加入到VLAN 1。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口的鏈路類型為Access類型。
port link-type access
缺省情況下,端口的鏈路類型為Access。
(4) 將Access端口加入到指定VLAN。
port access vlan vlan-id
缺省情況下,所有Access端口都屬於VLAN 1。
在將Access端口加入到指定VLAN之前,該VLAN必須已經存在。
Trunk端口可以加入多個VLAN。基於Trunk端口的VLAN隻能在接口視圖下配置。
Trunk端口不能直接切換為Hybrid端口,隻能先將Trunk端口配置為Access端口,再配置為Hybrid端口。
配置端口PVID後,必須使用port trunk permit vlan命令配置允許PVID的報文通過,接口才能轉發PVID的報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口的鏈路類型為Trunk類型。
port link-type trunk
缺省情況下,端口的鏈路類型為Access類型。
(4) 允許指定的VLAN通過當前Trunk端口。
port trunk permit vlan { vlan-id-list | all }
缺省情況下,Trunk端口隻允許VLAN 1的報文通過。
(5) (可選)配置Trunk端口的PVID。
port trunk pvid vlan vlan-id
缺省情況下,Trunk端口的PVID為VLAN 1。
Hybrid端口可以加入多個VLAN。基於Hybrid端口的VLAN隻能在接口視圖下配置。將Hybrid端口加入VLAN時,指定VLAN必須已經存在。
Hybrid端口不能直接切換為Trunk端口,隻能先將Hybrid端口配置為Access端口,再配置為Trunk端口。
配置端口PVID後,必須使用port hybrid vlan命令配置允許PVID的報文通過,出接口才能轉發PVID的報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,端口的鏈路類型為Access類型。
(4) 允許指定的VLAN通過當前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(5) (可選)配置Hybrid端口的PVID。
port hybrid pvid vlan vlan-id
缺省情況下,Hybrid端口的PVID為該端口在鏈路類型為Access時的所屬VLAN。
· 基於MAC的VLAN隻對Hybrid端口配置有效。
· Super VLAN不能作為MAC VLAN表項中的VLAN。
(1) 進入係統視圖。
system-view
(2) 配置MAC VLAN表項。
mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ dot1p priority ]
(3) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(4) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,所有端口的鏈路類型均為Access類型。
(5) 允許基於MAC的VLAN通過當前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(6) 開啟MAC VLAN功能。
mac-vlan enable
缺省情況下,MAC VLAN功能處於關閉狀態。
(7) (可選)配置接口的VLAN優先匹配方式。
vlan precedence { mac-vlan | ip-subnet-vlan }
缺省情況下,對於基於MAC的VLAN和基於IP子網的VLAN,優先根據MAC地址來匹配VLAN。
當端口接收報文的源MAC地址精確匹配了MAC VLAN表項時,動態觸發端口加入MAC VLAN。源MAC地址匹配的VLAN必須是靜態VLAN(本地手工創建的VLAN)。
端口自動加入MAC VLAN表項中相應的VLAN時,若端口此前未配置允許該VLAN通過,則端口自動以Untagged方式加入該VLAN;若端口此前已配置允許該VLAN通過,則不改變原有配置。
當端口對MAC VLAN的中的報文進行轉發時,根據MAC VLAN的優先級(MAC地址對應VLAN的802.1p優先級)高低來決定報文傳輸的優先程度。
· 如果用戶在同一端口上同時配置了1.4.2 手動配置靜態MAC VLAN和1.4.3 配置動態觸發端口加入靜態MAC VLAN,此時該端口選擇使用後者的功能。
· 不建議MAC VLAN的動態觸發功能和802.1X/MAC地址認證功能同時使用,否則會影響802.1X/MAC地址認證功能的正常工作。
· 不建議MAC VLAN的動態觸發功能與MAC地址禁止學習功能或MAC地址數學習上限功能同時使用,否則部分流量可能被丟棄:
¡ 同時配置MAC VLAN的動態觸發功能與MAC地址禁止學習功能時,僅精確匹配了MAC VLAN的報文能夠正常轉發,未精確匹配的報文將被丟棄。
¡ 同時配置MAC VLAN的動態觸發功能與MAC地址數學習上限功能時,當接口學習到的MAC地址到達所配置的上限後,僅匹配MAC地址表中已學習到的表項的報文能夠正常轉發,其餘報文將被丟棄。
· 配置MSTP情況下,如果端口在要加入的VLAN對應的MSTP實例中是阻塞狀態,則端口會丟棄收到的報文,造成MAC地址不能上送,不能完成動態觸發端口加入靜態MAC VLAN,因此不建議本功能和多實例MSTP同時使用。
· 當端口配置了自動模式下的Voice VLAN,又配置本功能時,兩個功能可能會相互影響,導致其中某個功能不可用。當端口同時配置了本功能和自動模式下的Voice VLAN,再取消其中任何一個功能的配置,會導致另一個功能不可用。因此不建議同一端口同時配置本功能和自動模式下的Voice VLAN。
(1) 進入係統視圖。
system-view
(2) 配置MAC VLAN表項。
mac-vlan mac-address mac-address vlan vlan-id [ dot1p priority ]
(3) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
(4) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,所有端口的鏈路類型均為Access類型。
(5) 開啟MAC VLAN功能。
mac-vlan enable
缺省情況下,MAC VLAN功能處於關閉狀態。
(6) 開啟MAC VLAN的動態觸發功能。
mac-vlan trigger enable
缺省情況下,MAC VLAN的動態觸發功能處於關閉狀態。
(7) (可選)配置接口優先根據MAC地址來匹配VLAN。
vlan precedence mac-vlan
缺省情況下,對於基於MAC的VLAN和基於IP子網的VLAN,優先根據MAC地址來匹配VLAN。
(8) (可選)配置當報文源MAC地址與MAC VLAN表項的MAC地址未精確匹配時,禁止該報文在PVID內轉發。
port pvid forbidden
缺省情況下,當報文源MAC地址與MAC VLAN表項的MAC地址未精確匹配時,允許該報文在PVID內轉發。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,所有端口的鏈路類型均為Access類型。
(4) 允許基於MAC的VLAN通過當前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(5) 開啟MAC VLAN功能。
mac-vlan enable
缺省情況下,MAC VLAN功能處於關閉狀態。
(6) (可選)配置接口的VLAN優先匹配方式。
vlan precedence { mac-vlan | ip-subnet-vlan }
缺省情況下,對於基於MAC的VLAN和基於IP子網的VLAN,優先根據MAC地址來匹配VLAN。
(7) 配置接入認證功能。請至少選擇其中一項進行配置。
¡ 配置802.1X。
請參見“安全命令參考”中的“802.1X”。
¡ 配置MAC地址認證。
請參見“安全命令參考”中的“MAC地址認證”。
基於IP子網的VLAN隻對Hybrid端口配置有效,隻對Untagged報文應用。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置VLAN與指定的IP子網或IP地址關聯。
ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ]
缺省情況下,VLAN未關聯IP子網或IP地址。
VLAN關聯的IP網段或IP地址不允許是組播網段或組播地址。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(6) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,所有端口的鏈路類型均為Access類型。
(7) 允許子網VLAN通過當前端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(8) 配置端口與子網VLAN關聯。
port hybrid ip-subnet-vlan vlan vlan-id
缺省情況下,端口未關聯子網VLAN。
協議VLAN由協議模板定義。協議模板是用來匹配報文所屬協議類型的標準,由“協議類型+封裝格式”組成。對於一個協議VLAN來說,其綁定的多個協議模板用協議索引(protocol-index)來區分;對於不同的協議VLAN來說,其綁定的協議模板用協議vlan-id和protocol-index來唯一標識。最後通過命令行將協議VLAN中的協議模板與端口綁定。
當端口收到Untagged報文時,如果該報文攜帶的協議類型和封裝格式與某協議模板相匹配,則為其添加該協議模板綁定的協議vlan-id的VLAN Tag,否則為其添加PVID的VLAN Tag。
配置協議VLAN時,需要注意的是,協議VLAN特性要求Hybrid入端口的報文格式為Untagged的,而自動模式下的Voice VLAN隻支持Hybrid端口對Tagged的語音流進行處理,因此,不能將某個VLAN同時配置為協議VLAN和Voice VLAN。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置VLAN與指定的協議模板關聯。
protocol-vlan [ protocol-index ] { at | ipv4 | ipv6 | ipx { ethernetii | llc | raw | snap } | mode { ethernetii etype etype-id | llc { dsap dsap-id [ ssap ssap-id ] | ssap ssap-id } | snap etype etype-id } }
缺省情況下,當前VLAN未關聯協議模板。
(4) 退出VLAN視圖。
quit
(5) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(6) 配置端口的鏈路類型為Hybrid類型。
port link-type hybrid
缺省情況下,所有端口的鏈路類型均為Access類型。
(7) 允許協議VLAN通過當前端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過。
(8) 配置端口與協議VLAN關聯。
port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all }
缺省情況下,端口未關聯協議VLAN。
VLAN組是一組VLAN的集合。VLAN組內可以添加多個VLAN列表,一個VLAN列表表示一組VLAN ID連續的VLAN。
認證服務器可以通過下發VLAN組名的方式為通過802.1X認證的用戶或通過MAC地址認證的用戶下發一組授權VLAN。有關802.1X和MAC地址認證的詳細介紹,請參見“安全配置指導”中的“802.1X”和“MAC地址認證”。
(1) 進入係統視圖。
system-view
(2) 創建一個VLAN組,並進入VLAN組視圖。
vlan-group group-name
(3) 在VLAN組內添加VLAN成員。
vlan-list vlan-id-list
缺省情況下,當前VLAN組中不存在VLAN列表。
可以多次在當前VLAN組內添加VLAN成員。
配置VLAN接口基本屬性時,需要注意的是不能對Sub VLAN及在Primary VLAN interface下配置了三層互通的Secondary VLAN創建對應的VLAN接口。有關Sub VLAN的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“Super VLAN”;有關Secondary VLAN的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“Private VLAN”。
隻有當VLAN中有一個或一個以上的以太網端口處於up狀態時,該VLAN對應的VLAN接口狀態才會UP。
VLAN接口配置任務如下:
(1) 創建VLAN接口
(2) (可選)配置處理接口流量的slot
(3) (可選)恢複VLAN接口的缺省配置
在創建VLAN接口之前,對應的VLAN必須已經存在,否則將不能創建指定的VLAN接口。
(1) 進入係統視圖。
system-view
(2) 創建VLAN接口,並進入VLAN接口視圖。
interface vlan-interface interface-number
(3) 配置VLAN接口的IP地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情況下,未配置VLAN接口的IP地址。
(4) (可選)配置VLAN接口的描述信息。
description text
缺省情況下,VLAN接口的描述信息為該VLAN接口的接口名,如“Vlan-interface1 Interface”。
(5) (可選)配置VLAN接口的MTU值。
mtu size
缺省情況下,VLAN接口的MTU值為1500字節。
(6) (可選)配置VLAN接口的MAC地址。
mac-address mac-address
缺省情況下,未配置VLAN接口的MAC地址。
(7) (可選)配置VLAN接口的期望帶寬。
bandwidth bandwidth-value
缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbps)。
(8) 取消手工關閉VLAN接口。
undo shutdown
缺省情況下,未手工關閉VLAN接口,此時VLAN接口狀態受VLAN中端口狀態的影響。
當要求同一個VLAN接口的流量必須在同一個slot上進行處理時,可以在VLAN接口下配置處理接口流量的slot。
(1) 進入係統視圖。
system-view
(2) 進入VLAN接口視圖。
interface vlan-interface interface-number
(3) 配置處理接口流量的slot。
service slot slot-number
缺省情況下,未配置處理接口流量的slot。
您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。
(1) 進入係統視圖。
system-view
(2) 進入VLAN接口視圖。
interface vlan-interface interface-number
(3) 恢複VLAN接口的缺省配置。
default
接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行該命令前,完全了解其對網絡產生的影響。
開啟本功能後,端口接收到LACP或BFD協議報文時,會記錄報文攜帶的VLAN Tag(無論攜帶了幾層VLAN Tag)。當本端口發送相同的協議報文時,設備會將這些報文的VLAN Tag設置為之前記錄的VLAN Tag,無論該端口的類型是否允許在發送報文時攜帶這些VLAN Tag。有關LACP的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“以太網鏈路聚合”;有關BFD的詳細介紹,請參見“可靠性配置指導”中的“BFD”。
在端口上執行了port outbound-vlan-tag enable命令後,若再執行undo port outbound-vlan-tag enable命令,會導致該端口上的BFD會話down,請謹慎執行此配置。
聚合組成員端口配置本命令時不對其他成員端口造成影響,也不影響聚合組成員端口的選中狀態,若要保持聚合組的配置一致性,請手動在所有成員端口上配置本命令。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖。
interface interface-type interface-number
(3) 開啟端口發送協議報文時設置VLAN Tag功能。
port outbound-vlan-tag enable
缺省情況下,設備發送的協議報文的802.1p優先級為6。但某些設備收到優先級為6的報文後會丟棄或不處理,影響了各類協議在網絡中的正常運行。此時需要通過本命令修改本設備發送的協議報文的802.1p優先級。
配置本功能後,會修改設備發送的以下類型協議報文的802.1p優先級:ARP、NTP、OSPF、BGP、PIM、SSH、Telnet和LDP。
(1) 進入係統視圖。
system-view
(2) 配置設備發送的協議報文的802.1p優先級。
control-packet dot1p priority
缺省情況下,設備發送的協議報文的802.1p優先級為6。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後VLAN的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除VLAN接口統計信息。
表1-2 VLAN顯示和維護
操作 |
命令 |
|
顯示VLAN接口相關信息 |
display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ] |
|
顯示端口關聯的子網VLAN的信息 |
display ip-subnet-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all } |
|
顯示指定的或所有子網VLAN的信息 |
display ip-subnet-vlan vlan { vlan-id1 [ to vlan-id2 ] | all } |
|
顯示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 } |
|
顯示端口關聯的協議VLAN的信息 |
display protocol-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all } |
|
顯示指定的或所有協議VLAN的信息 |
display protocol-vlan vlan { vlan-id1 [ to vlan-id2 ] | all } |
|
顯示VLAN相關信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] |
|
顯示設備上所有已創建VLAN的概要信息 |
display vlan brief |
|
顯示VLAN的流量統計信息 |
display vlan vlan-id statistics [ slot slot-number ] |
|
顯示創建的VLAN組及其VLAN成員列表 |
display vlan-group [ group-name ] |
|
清除VLAN接口的統計信息 |
reset counters interface [ vlan-interface [ interface-number ] ] |
|
清除VLAN的流量統計信息 |
reset vlan vlan-id statistics [ slot slot-number ] |
|
· Host A和Host C屬於部門A,但是通過不同的設備接入公司網絡;Host B和Host D屬於部門B,也通過不同的設備接入公司網絡。
· 為了通信的安全性,也為了避免廣播報文泛濫,公司網絡中使用VLAN技術來隔離部門間的二層流量。其中部門A使用VLAN 100,部門B使用VLAN 200。
圖1-3 基於端口的VLAN組網圖
(1) 配置Device A
# 創建VLAN 100,並將Twenty-FiveGigE1/0/1加入VLAN 100。
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] port twenty-fivegige 1/0/1
[DeviceA-vlan100] quit
# 創建VLAN 200,並將Twenty-FiveGigE1/0/2加入VLAN 200。
[DeviceA] vlan 200
[DeviceA-vlan200] port twenty-fivegige 1/0/2
[DeviceA-vlan200] quit
# 為了使Device A上VLAN 100和VLAN 200的報文能發送給Device B,將Twenty-FiveGigE1/0/3的鏈路類型配置為Trunk,並允許VLAN 100和VLAN 200的報文通過。
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] port link-type trunk
[DeviceA-Twenty-FiveGigE1/0/3] port trunk permit vlan 100 200
(2) Device B上的配置與Device A上的配置相同,不再贅述。
(3) 將Host A和Host C配置在一個網段,比如192.168.100.0/24;將Host B和Host D配置在一個網段,比如192.168.200.0/24。
(1) Host A和Host C能夠互相ping通,但是均不能ping通Host B和Host D。Host B和Host D能夠互相ping通,但是均不能ping通Host A和Host C。
(2) 通過查看顯示信息驗證配置是否成功。
# 查看Device A上VLAN 100和VLAN 200的配置信息,驗證以上配置是否生效。
[DeviceA-Twenty-FiveGigE1/0/3] display vlan 100
VLAN ID: 100
VLAN type: Static
Route interface: Not configured
Description: VLAN 0100
Name: VLAN 0100
Tagged ports:
Twenty-FiveGigE1/0/3(U)
Untagged ports:
Twenty-FiveGigE1/0/1(U)
[DeviceA-Twenty-FiveGigE1/0/3] display vlan 200
VLAN ID: 200
VLAN type: Static
Route interface: Not configured
Description: VLAN 0200
Name: VLAN 0200
Tagged ports:
Twenty-FiveGigE1/0/3(U)
Untagged ports:
Twenty-FiveGigE1/0/2(U)
· 如下圖所示,Device A和Device C的Twenty-FiveGigE1/0/1端口分別連接到兩個會議室,Laptop1和Laptop2是會議用筆記本電腦,會在兩個會議室間移動使用。
· Laptop1和Laptop2分別屬於兩個部門,兩個部門間使用VLAN 100和VLAN 200進行隔離。現要求這兩台筆記本電腦無論在哪個會議室使用,均隻能訪問自己部門的服務器,即Server1和Server2。
圖1-4 基於MAC的VLAN組網圖
(1) Device A的配置
# 創建VLAN 100和VLAN 200。
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] quit
[DeviceA] vlan 200
[DeviceA-vlan200] quit
# 將Laptop1的MAC地址與VLAN 100關聯,Laptop2的MAC地址與VLAN 200關聯。
[DeviceA] mac-vlan mac-address 000d-88f8-4e71 vlan 100
[DeviceA] mac-vlan mac-address 0014-222c-aa69 vlan 200
# 配置終端的接入端口:Laptop1和Laptop2均可能從Twenty-FiveGigE1/0/1接入,將Twenty-FiveGigE1/0/1的端口類型配置為Hybrid,並使其在發送VLAN 100和VLAN 200的報文時去掉VLAN Tag;開啟Twenty-FiveGigE1/0/1端口的MAC VLAN功能。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] port link-type hybrid
[DeviceA-Twenty-FiveGigE1/0/1] port hybrid vlan 100 200 untagged
[DeviceA-Twenty-FiveGigE1/0/1] mac-vlan enable
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 為了終端能夠訪問Server1和Server2,需要將上行端口Twenty-FiveGigE1/0/2的端口類型配置為Trunk,並允許VLAN 100和VLAN 200的報文通過。
[DeviceA] interface twenty-fivegige 1/0/2
[DeviceA-Twenty-FiveGigE1/0/2] port link-type trunk
[DeviceA-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 200
[DeviceA-Twenty-FiveGigE1/0/2] quit
(2) Device B的配置
# 創建VLAN 100和VLAN 200,並將Twenty-FiveGigE1/0/3加入VLAN 100,Twenty-FiveGigE1/0/4加入VLAN 200。
<DeviceB> system-view
[DeviceB] vlan 100
[DeviceB-vlan100] port twenty-fivegige 1/0/3
[DeviceB-vlan100] quit
[DeviceB] vlan 200
[DeviceB-vlan200] port twenty-fivegige 1/0/4
[DeviceB-vlan200] quit
# 配置Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2端口為Trunk端口,均允許VLAN 100和VLAN 200的報文通過。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] port link-type trunk
[DeviceB-Twenty-FiveGigE1/0/1] port trunk permit vlan 100 200
[DeviceB-Twenty-FiveGigE1/0/1] quit
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port link-type trunk
[DeviceB-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 200
[DeviceB-Twenty-FiveGigE1/0/2] quit
(3) Device C的配置
Device C的配置與Device A完全一致,這裏不再贅述。
(1) Laptop1隻能訪問Server1,不能訪問Server2;Laptop2隻能訪問Server2,不能訪問Server1。
(2) 在Device A和Device C上可以查看到Laptop1和VLAN 100、Laptop2和VLAN 200的靜態MAC VLAN地址表項已經生成。以Device A為例:
[DeviceA] display mac-vlan all
The following MAC VLAN addresses exist:
S:Static D:Dynamic
MAC address Mask VLAN ID Dot1p State
000d-88f8-4e71 ffff-ffff-ffff 100 0 S
0014-222c-aa69 ffff-ffff-ffff 200 0 S
Total MAC VLAN address count: 2
如下圖所示,辦公區的主機屬於不同的網段192.168.5.0/24和192.168.50.0/24,Device C在收到來自辦公區主機的報文時,根據報文的源IP地址,使來自不同網段主機的報文分別在指定的VLAN中傳輸,其中,來自網段192.168.5.0/24的報文在VLAN 100中傳輸,來自網段192.168.50.0/24的報文在VLAN 200中傳輸。
圖1-5 基於IP子網的VLAN組網圖
(1) 配置Device C
# 配置子網192.168.5.0/24與VLAN 100關聯。
<DeviceC> system-view
[DeviceC] vlan 100
[DeviceC-vlan100] ip-subnet-vlan ip 192.168.5.0 255.255.255.0
[DeviceC-vlan100] quit
# 配置子網192.168.50.0/24與VLAN 200關聯。
[DeviceC] vlan 200
[DeviceC-vlan200] ip-subnet-vlan ip 192.168.50.0 255.255.255.0
[DeviceC-vlan200] quit
# 配置端口Twenty-FiveGigE1/0/2為Hybrid端口,允許VLAN 100通過,並且在發送VLAN 100的報文時攜帶VLAN Tag。
[DeviceC] interface twenty-fivegige 1/0/2
[DeviceC-Twenty-FiveGigE1/0/2] port link-type hybrid
[DeviceC-Twenty-FiveGigE1/0/2] port hybrid vlan 100 tagged
[DeviceC-Twenty-FiveGigE1/0/2] quit
# 配置端口Twenty-FiveGigE1/0/3為Hybrid端口,允許VLAN 200通過,並且在發送VLAN 200的報文時攜帶VLAN Tag。
[DeviceC] interface twenty-fivegige 1/0/3
[DeviceC-Twenty-FiveGigE1/0/3] port link-type hybrid
[DeviceC-Twenty-FiveGigE1/0/3] port hybrid vlan 200 tagged
[DeviceC-Twenty-FiveGigE1/0/3] quit
# 配置端口Twenty-FiveGigE1/0/1為Hybrid端口,允許VLAN 100、200通過,並且在發送VLAN 100、200的報文時不攜帶VLAN Tag。
[DeviceC] interface twenty-fivegige 1/0/1
[DeviceC-Twenty-FiveGigE1/0/1] port link-type hybrid
[DeviceC-Twenty-FiveGigE1/0/1] port hybrid vlan 100 200 untagged
# 配置端口Twenty-FiveGigE1/0/1和基於IP子網的VLAN 100、200關聯。
[DeviceC-Twenty-FiveGigE1/0/1] port hybrid ip-subnet-vlan vlan 100
[DeviceC-Twenty-FiveGigE1/0/1] port hybrid ip-subnet-vlan vlan 200
[DeviceC-Twenty-FiveGigE1/0/1] quit
(2) 配置Device A和Device B
配置Device A和Device B允許對應VLAN通過,配置過程略。
# 查看所有子網VLAN的信息。
[DeviceC] display ip-subnet-vlan vlan all
VLAN ID: 100
Subnet index IP address Subnet mask
0 192.168.5.0 255.255.255.0
VLAN ID: 200
Subnet index IP address Subnet mask
0 192.168.50.0 255.255.255.0
# 查看端口Twenty-FiveGigE1/0/1關聯的子網VLAN的信息。
[DeviceC] display ip-subnet-vlan interface twenty-fivegige 1/0/1
Interface: Twenty-FiveGigE1/0/1
VLAN ID Subnet index IP address Subnet mask Status
100 0 192.168.5.0 255.255.255.0 Active
200 0 192.168.50.0 255.255.255.0 Active
如下圖所示,實驗室網絡中大部分主機運行IPv4網絡協議,另外為了教學需要還部署了IPv6實驗局,因此,有些主機運行IPv6網絡協議。為了避免互相幹擾,將VLAN 100與IPv4協議、ARP協議關聯,VLAN 200與IPv6協議關聯,通過協議VLAN將IPv4流量和IPv6流量二層互相隔離。
圖1-6 基於協議的VLAN組網圖
(1) 配置Device
# 創建VLAN 100,將端口Twenty-FiveGigE1/0/3加入VLAN 100。
<Device> system-view
[Device] vlan 100
[Device-vlan100] description protocol VLAN for IPv4
[Device-vlan100] port twenty-fivegige 1/0/3
[Device-vlan100] quit
# 創建VLAN 200,將端口Twenty-FiveGigE1/0/4加入VLAN 200。
[Device] vlan 200
[Device-vlan200] description protocol VLAN for IPv6
[Device-vlan200] port twenty-fivegige 1/0/4
# 將IPv6協議報文劃分到VLAN 200中傳輸。
[Device-vlan200] protocol-vlan 1 ipv6
[Device-vlan200] quit
# 將IPv4協議報文和采用Ethernet II封裝格式的ARP協議報文(ARP報文對應的封裝格式為Ethernet II)劃分到VLAN 100中傳輸。
[Device] vlan 100
[Device-vlan100] protocol-vlan 1 ipv4
[Device-vlan100] protocol-vlan 2 mode ethernetii etype 0806
[Device-vlan100] quit
# 配置端口Twenty-FiveGigE1/0/1為Hybrid端口,允許VLAN 100、200通過,並且在發送VLAN 100、200的報文時不攜帶VLAN Tag。
[Device] interface twenty-fivegige 1/0/1
[Device-Twenty-FiveGigE1/0/1] port link-type hybrid
[Device-Twenty-FiveGigE1/0/1] port hybrid vlan 100 200 untagged
# 配置端口Twenty-FiveGigE1/0/1與VLAN 100的協議模板1(即IPv4協議模板)、協議模板2(即ARP協議模板)和VLAN 200的協議模板1(即IPv6協議模板)進行綁定。
[Device-Twenty-FiveGigE1/0/1] port hybrid protocol-vlan vlan 100 1 to 2
[Device-Twenty-FiveGigE1/0/1] port hybrid protocol-vlan vlan 200 1
[Device-Twenty-FiveGigE1/0/1] quit
# 配置端口Twenty-FiveGigE1/0/2為Hybrid端口,允許VLAN 100、200通過,並且在發送VLAN 100、200的報文時不攜帶VLAN Tag。
[Device] interface twenty-fivegige 1/0/2
[Device-Twenty-FiveGigE1/0/2] port link-type hybrid
[Device-Twenty-FiveGigE1/0/2] port hybrid vlan 100 200 untagged
# 配置端口Twenty-FiveGigE1/0/2與VLAN 100的協議模板1(即IPv4協議模板)、協議模板2(即ARP協議模板)和VLAN 200的協議模板1(即IPv6協議模板)進行綁定。
[Device-Twenty-FiveGigE1/0/2] port hybrid protocol-vlan vlan 100 1 to 2
[Device-Twenty-FiveGigE1/0/2] port hybrid protocol-vlan vlan 200 1
[Device-Twenty-FiveGigE1/0/2] quit
(2) L2 switch A和L2 switch B采用缺省配置
(3) 配置Host和Server
將IPv4 Host A、IPv4 Host B和IPv4 Server配置在一個網段,比如192.168.100.0/24;將IPv6 Host A、IPv6 Host B和IPv6 Server配置在一個網段,比如2001::1/64。
(1) 通過ping命令查看
VLAN 100內的主機和服務器能夠互相Ping通;VLAN 200內的主機和服務器能夠互相Ping通。但VLAN 100內的主機/服務器與VLAN 200內的主機/服務器之間會Ping失敗。
(2) 通過顯示信息查看
# 查看所有協議VLAN的信息。
[Device] display protocol-vlan vlan all
VLAN ID: 100
Protocol index Protocol type
1 IPv4
2 Ethernet II Etype 0x0806
VLAN ID: 200
Protocol index Protocol type
1 IPv6
# 查看所有端口關聯的協議VLAN的信息。
[Device] display protocol-vlan interface all
Interface: Twenty-FiveGigE1/0/1
VLAN ID Protocol index Protocol type Status
100 1 IPv4 Active
100 2 Ethernet II Etype 0x0806 Active
200 1 IPv6 Active
Interface: Twenty-FiveGigE1/0/2
VLAN ID Protocol index Protocol type Status
100 1 IPv4 Active
100 2 Ethernet II Etype 0x0806 Active
200 1 IPv6 Active
在交換局域網中,VLAN技術以其對廣播域的靈活控製、部署方便而得到了廣泛的應用。但是在一般的交換設備中,通常是采用一個VLAN對應一個VLAN接口的方式來實現廣播域之間的互通,這在某些情況下導致了對IP地址的較大浪費。
Super VLAN可以對VLAN進行聚合,從而大幅縮減實際需要的VLAN接口數量,解決IP地址緊張的問題。其原理是一個Super VLAN和多個Sub VLAN關聯,關聯的Sub VLAN公用Super VLAN對應的VLAN接口(即Super VLAN interface)的IP地址作為三層通信的網關地址,此時Sub VLAN間的三層通信以及Sub VLAN與外部的三層通信均借用Super VLAN interface來實現,從而節省了IP地址資源。
· Super VLAN:支持創建VLAN接口,並配置接口IP地址,不能加入物理接口。
· Sub VLAN:不支持創建VLAN接口,可以加入物理端口,不同Sub VLAN之間二層相互隔離。
為了實現Sub VLAN之間的三層互通,在創建好Super VLAN及其Super VLAN interface之後,用戶需要開啟設備的本地代理功能:
· 對於IPv4網絡環境,用戶需要在Super VLAN interface上開啟本地代理ARP功能,Super VLAN利用本地代理ARP,可以對Sub VLAN內用戶發出的ARP請求和響應報文進行處理,從而實現Sub VLAN之間的三層互通。
· 對於IPv6網絡環境,用戶需要在Super VLAN interface上開啟本地代理ND功能,Super VLAN利用本地代理ND,可以對Sub VLAN內用戶發出的NS請求和NA響應報文進行處理,從而實現Sub VLAN之間的三層互通。
· MAC VLAN表項中的VLAN不能配為Super VLAN。
· 如果某個VLAN被指定為Super VLAN,則該VLAN不能被指定為某個端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN;同樣,如果某個VLAN被指定為某個端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN,則該VLAN不能被指定為Super VLAN。Guest VLAN/Auth-Fail VLAN/Critical VLAN的相關內容請參見“安全配置指導”中的“802.1X”。
· 一個VLAN不能同時配置為Super VLAN和Sub VLAN。
· 在Super VLAN下可以配置二層組播功能,但是由於Super VLAN中沒有物理端口,該配置將不會生效。
Super VLAN配置任務如下:
(1) 創建Sub VLAN
(2) 配置Super VLAN
(1) 進入係統視圖。
system-view
(2) 創建VLAN用作Sub VLAN。
vlan vlan-id-list
缺省情況下,係統隻有一個缺省VLAN(VLAN 1)。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置VLAN的類型為Super VLAN。
supervlan
缺省情況下,VLAN類型不為Super VLAN。
(4) 建立Super VLAN和Sub VLAN的映射關係。
subvlan vlan-id-list
建立Super VLAN和Sub VLAN的映射關係前,指定的Sub VLAN必須已經創建。
在Super VLAN interface下配置VRRP功能後,會對網絡性能造成影響,建議不要這樣配置。VRRP的詳細描述請參見“可靠性配置指導”中的“VRRP”。
(1) 進入係統視圖。
system-view
(2) 創建VLAN接口,並進入VLAN接口視圖。
interface vlan-interface interface-number
interface-number的值必須等於Super VLAN ID。
(3) 配置VLAN接口的IP地址。
(IPv4網絡)
ip address ip-address { mask-length | mask } [ sub ]
(IPv6網絡)
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }
缺省情況下,沒有配置VLAN接口的IP地址。
(4) 開啟本地代理ARP功能或本地代理ND功能。
(IPv4網絡)
local-proxy-arp enable
缺省情況下,本地代理ARP功能處於關閉狀態。
本地代理ARP功能的相關介紹請參見“三層技術-IP業務配置指導”中的“ARP”。
(IPv6網絡)
local-proxy-nd enable
缺省情況下,本地代理ND功能處於關閉狀態。
本地代理ND功能的相關介紹請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後Super VLAN的運行情況,通過查看顯示信息驗證配置的效果。
表2-1 Super VLAN顯示和維護
操作 |
命令 |
顯示Super VLAN及其關聯的Sub VLAN的信息 |
display supervlan [ supervlan-id ] |
Device A連接不同VLAN用戶,其中,端口Twenty-FiveGigE1/0/1和端口Twenty-FiveGigE1/0/2屬於VLAN 2,端口Twenty-FiveGigE1/0/3和端口Twenty-FiveGigE1/0/4屬於VLAN 3,端口Twenty-FiveGigE1/0/5和端口Twenty-FiveGigE1/0/6屬於VLAN 5。
為實現Device A連接的各VLAN用戶(均在10.1.1.0/24網段)之間能夠滿足二層隔離和三層互通的同時,節省IP資源,創建Super VLAN,其關聯的Sub VLAN公用Super VLAN interface的IP地址10.1.1.1/24作為三層通信的網關地址。
圖2-1 配置Super VLAN組網圖
# 創建VLAN 10,配置VLAN接口的IP地址為10.1.1.1/24。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] quit
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ip address 10.1.1.1 255.255.255.0
# 開啟設備的本地代理ARP功能。
[DeviceA-Vlan-interface10] local-proxy-arp enable
[DeviceA-Vlan-interface10] quit
# 創建VLAN 2,並向VLAN 2中添加端口Twenty-FiveGigE1/0/1和端口Twenty-FiveGigE1/0/2。
[DeviceA] vlan 2
[DeviceA-vlan2] port twenty-fivegige 1/0/1 twenty-fivegige 1/0/2
[DeviceA-vlan2] quit
# 創建VLAN 3,並向VLAN 3中添加端口Twenty-FiveGigE1/0/3和端口Twenty-FiveGigE1/0/4。
[DeviceA] vlan 3
[DeviceA-vlan3] port twenty-fivegige 1/0/3 twenty-fivegige 1/0/4
[DeviceA-vlan3] quit
# 創建VLAN 5,並向VLAN 5中添加端口Twenty-FiveGigE1/0/5和端口Twenty-FiveGigE1/0/6。
[DeviceA] vlan 5
[DeviceA-vlan5] port twenty-fivegige 1/0/5 twenty-fivegige 1/0/6
[DeviceA-vlan5] quit
# 配置VLAN 10為Super VLAN,其關聯的Sub VLAN為VLAN 2、VLAN 3和VLAN 5。
[DeviceA] vlan 10
[DeviceA-vlan10] supervlan
[DeviceA-vlan10] subvlan 2 3 5
[DeviceA-vlan10] quit
[DeviceA] quit
# 查看Super VLAN的相關信息,驗證以上配置是否生效。
<DeviceA> display supervlan
Super VLAN ID: 10
Sub-VLAN ID: 2-3 5
VLAN ID: 10
VLAN type: Static
It is a super VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0010
Name: VLAN 0010
Tagged ports: None
Untagged ports: None
VLAN ID: 2
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/1
Twenty-FiveGigE1/0/2
VLAN ID: 3
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0003
Name: VLAN 0003
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/3
Twenty-FiveGigE1/0/4
VLAN ID: 5
VLAN type: Static
It is a sub-VLAN.
Route unterface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0005
Name: VLAN 0005
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/5
Twenty-FiveGigE1/0/6
在采用以太網接入的場景中,基於用戶安全和管理計費等方麵的考慮,一般會要求接入用戶互相隔離。VLAN是天然的隔離手段,於是很自然的想法是每個用戶一個VLAN。但是,根據IEEE 802.1Q規定,最多可以提供4094個VLAN。如果每個用戶一個VLAN,4094個VLAN遠遠不能滿足需求。
Private VLAN采用二層VLAN結構,它在同一台設備上配置Primary VLAN和Secondary VLAN兩類VLAN,既能夠保證接入用戶之間相互隔離,又能將接入的VLAN ID屏蔽掉,從而節省了VLAN資源。
· Primary VLAN:用於連接上行設備,一個Primary VLAN可以和多個Secondary VLAN相對應。上行連接的設備隻需知道Primary VLAN,而不必關心Secondary VLAN,Primary VLAN下麵的Secondary VLAN對上行設備不可見。
· Secondary VLAN:用於連接用戶,Secondary VLAN之間二層報文互相隔離。如果希望實現同一Primary VLAN下Secondary VLAN用戶之間報文的互通,可以通過配置上行設備(如圖3-1中的L3 Device A)的本地代理ARP/ND功能來實現三層報文的互通。
如圖3-1所示,L2 Device B上啟動了Private VLAN功能。其中VLAN 10是Primary VLAN,VLAN 2、VLAN 5、VLAN 8是Secondary VLAN,VLAN 2、VLAN 5、VLAN 8都映射到VLAN 10,VLAN 2、VLAN 5、VLAN 8對L3 Device A不可見。
如果配置Private VLAN功能的設備為三層設備,Secondary VLAN間及Secondary VLAN與外部需要進行三層互通,則可以通過在本地設備上創建Secondary對應的VLAN接口(即Secondary VLAN interface),並在該Secondary VLAN interface上配置IP地址來實現;或者通過在本地設備上配置Primary VLAN下指定Secondary VLAN間三層互通,同時創建Primary VLAN interface(但不能創建Secondary VLAN interface),並在Primary VLAN interface上配置IP地址和本地代理ARP/ND功能來實現。
在完成Private VLAN的配置後,建議用戶作如下確認:
· 對於工作模式為promiscuous的端口,確保該端口的PVID為Primary VLAN,該端口以Untagged方式加入Primary VLAN和Secondary VLAN;
· 對於工作模式為trunk promiscuous/trunk secondary的端口,確保該端口以Tagged方式加入Primary VLAN和Secondary VLAN;
· 對於工作模式為host的端口,確保該端口的PVID為Secondary VLAN,該端口以Untagged方式加入Primary VLAN和Secondary VLAN。
Primary VLAN和PVST請勿同時使用。有關PVST的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“生成樹”。
係統缺省VLAN(VLAN 1)不支持Private VLAN相關配置。
Private VLAN配置任務如下:
(1) 創建Primary VLAN
(2) 創建Secondary VLAN
(3) 配置Primary VLAN和Secondary VLAN間的映射關係
(4) 配置上行端口
(5) 配置下行端口
(6) (可選)配置Primary VLAN下指定Secondary VLAN間三層互通
(1) 進入係統視圖。
system-view
(2) 創建VLAN,並進入VLAN視圖。
vlan vlan-id
(3) 配置VLAN的類型為Primary VLAN。
private-vlan primary
缺省情況下,VLAN的類型不是Primary VLAN。
(1) 進入係統視圖。
system-view
(2) 創建一個或多個Secondary VLAN。
vlan { vlan-id-list | all }
(1) 進入係統視圖。
system-view
(2) 進入Primary VLAN視圖。
vlan vlan-id
(3) 建立Primary VLAN和Secondary VLAN的映射關係。
private-vlan secondary vlan-id-list
缺省情況下,未建立Primary VLAN和Secondary VLAN的映射關係。
當上行端口(如圖3-1中L2 Device B上與L3 Device A相連的端口)隻對應一個Primary VLAN時,配置該端口工作在promiscuous模式,可以實現上行端口加入Primary VLAN及同步加入對應的Secondary VLAN的功能;當上行端口對應多個Primary VLAN時,配置該端口工作在trunk promiscuous模式,可以實現上行端口加入多個Primary VLAN及同步加入各自對應的Secondary VLAN的功能。
(1) 進入係統視圖。
system-view
(2) 進入上行端口視圖。
interface interface-type interface-number
(3) 配置上行端口工作模式。請選擇其中一項進行配置。
¡ 配置上行端口在指定VLAN中工作在promiscuous模式。
port private-vlan vlan-id promiscuous
¡ 配置上行端口在指定VLAN中工作在trunk promiscuous模式。
port private-vlan vlan-id-list trunk promiscuous
缺省情況下,端口在指定VLAN中不工作在promiscuous/trunk promiscuous模式。
當下行端口(如圖3-1中L2 Device B上與用戶相連的端口)隻對應一個Secondary VLAN時,配置該端口工作在host模式,可以實現下行端口同步加入Secondary VLAN對應的Primary VLAN的功能;當下行端口對應多個Secondary VLAN時,配置該端口工作在trunk secondary模式,可以實現下行端口加入多個Secondary VLAN及同步加入各自對應的Primary VLAN的功能。
(1) 進入係統視圖。
system-view
(2) 進入下行端口視圖。
interface interface-type interface-number
(3) 配置端口的鏈路類型。
port link-type { access | hybrid | trunk }
(4) 配置下行端口加入Secondary VLAN。請選擇其中一項進行配置。
¡ 將Access端口加入Secondary VLAN。
port access vlan vlan-id
¡ 將Trunk端口加入Secondary VLAN。
port trunk permit vlan { vlan-id-list | all }
¡ 將Hybrid端口加入Secondary VLAN。
port hybrid vlan vlan-id-list { tagged | untagged }
(5) 配置下行端口的工作模式。請選擇其中一項進行配置。
¡ 配置下行端口在指定VLAN中工作在trunk secondary模式。
port private-vlan vlan-id-list trunk secondary
¡ 配置下行端口工作在host模式。
port private-vlan host
缺省情況下,端口不工作在trunk secondary/host模式。
(6) (可選)配置同一Secondary VLAN內各端口二層互通。
a. 退回係統視圖。
quit
b. 進入Secondary VLAN視圖。
vlan vlan-id
c. 請選擇其中一項進行配置。
undo private-vlan isolated
private-vlan community
缺省情況下,同一Secondary VLAN內的端口能夠二層互通。
(1) 進入係統視圖。
system-view
(2) 進入Primary VLAN interface視圖。
interface vlan-interface interface-number
(3) 配置當前Primary VLAN下指定的Secondary VLAN間三層互通。
private-vlan secondary vlan-id-list
缺省情況下,Secondary VLAN之間三層不互通。
(4) 配置Primary VLAN接口的IP地址。
(IPv4網絡)
ip address ip-address { mask-length | mask } [ sub ]
(IPv6網絡)
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }
缺省情況下,沒有配置VLAN接口的IP地址。
(5) 開啟本地代理ARP功能或本地代理ND功能。
(IPv4網絡)
local-proxy-arp enable
缺省情況下,本地代理ARP功能處於關閉狀態。
本地代理ARP功能的相關介紹請參見“三層技術-IP業務配置指導”中的“ARP”。
(IPv6網絡)
local-proxy-nd enable
缺省情況下,本地代理ND功能處於關閉狀態。
本地代理ND功能的相關介紹請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後Private VLAN的運行情況,通過查看顯示信息驗證配置的效果。
表3-1 Private VLAN顯示和維護
操作 |
命令 |
顯示Primary VLAN和其包含的Secondary VLAN的信息 |
display private-vlan [ primary-vlan-id ] |
· Device B上的Primary VLAN 5包含上行端口Twenty-FiveGigE1/0/5,並關聯兩個Secondary VLAN(VLAN 2和VLAN 3),其中,VLAN 2包含端口Twenty-FiveGigE1/0/2,VLAN 3包含端口Twenty-FiveGigE1/0/3。
· Device C上的Primary VLAN 6包含上行端口Twenty-FiveGigE1/0/5,並關聯兩個Secondary VLAN(VLAN 3和VLAN 4),其中,VLAN 3包含端口Twenty-FiveGigE1/0/3,VLAN 4包含端口Twenty-FiveGigE1/0/4。
· 從Device A看,下接的Device B隻有一個VLAN(VLAN 5),下接的Device C隻有一個VLAN(VLAN 6)。
圖3-2 組網圖
下麵隻列出Device B和Device C的配置過程。
(1) 配置Device B
# 配置VLAN 5為Primary VLAN。
<DeviceB> system-view
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan primary
[DeviceB-vlan5] quit
# 創建Secondary VLAN 2、3。
[DeviceB] vlan 2 to 3
# 配置Primary VLAN 5和Secondary VLAN 2、3的映射關係。
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan secondary 2 to 3
[DeviceB-vlan5] quit
# 配置上行端口Twenty-FiveGigE1/0/5在VLAN 5中工作在promiscuous模式。
[DeviceB] interface twenty-fivegige 1/0/5
[DeviceB-Twenty-FiveGigE1/0/5] port private-vlan 5 promiscuous
[DeviceB-Twenty-FiveGigE1/0/5] quit
# 將下行端口Twenty-FiveGigE1/0/2、Twenty-FiveGigE1/0/3分別添加到VLAN 2、VLAN 3,並配置它們工作在host模式。
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port access vlan 2
[DeviceB-Twenty-FiveGigE1/0/2] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/2] quit
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port access vlan 3
[DeviceB-Twenty-FiveGigE1/0/3] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/3] quit
(2) 配置Device C
# 配置VLAN 6為Primary VLAN。
<DeviceC> system-view
[DeviceC] vlan 6
[DeviceC–vlan6] private-vlan primary
[DeviceC–vlan6] quit
# 創建Secondary VLAN 3、4。
[DeviceC] vlan 3 to 4
# 配置Primary VLAN 6和Secondary VLAN 3、4的映射關係。
[DeviceC] vlan 6
[DeviceC-vlan6] private-vlan secondary 3 to 4
[DeviceC-vlan6] quit
# 配置上行端口Twenty-FiveGigE1/0/5在VLAN 6中工作在promiscuous模式。
[DeviceC] interface twenty-fivegige 1/0/5
[DeviceC-Twenty-FiveGigE1/0/5] port private-vlan 6 promiscuous
[DeviceC-Twenty-FiveGigE1/0/5] quit
# 將下行端口Twenty-FiveGigE1/0/3、Twenty-FiveGigE1/0/4分別添加到VLAN 3、VLAN 4,並配置它們工作在host模式。
[DeviceC] interface twenty-fivegige 1/0/3
[DeviceC-Twenty-FiveGigE1/0/3] port access vlan 3
[DeviceC-Twenty-FiveGigE1/0/3] port private-vlan host
[DeviceC-Twenty-FiveGigE1/0/3] quit
[DeviceC] interface twenty-fivegige 1/0/4
[DeviceC-Twenty-FiveGigE1/0/4] port access vlan 4
[DeviceC-Twenty-FiveGigE1/0/4] port private-vlan host
[DeviceC-Twenty-FiveGigE1/0/4] quit
# 顯示Device B上的Private VLAN配置情況(Device C的顯示結果類似,這裏不再列出)。
[DeviceB] display private-vlan
Primary VLAN ID: 5
Secondary VLAN ID: 2-3
VLAN ID: 5
VLAN type: Static
Private VLAN type: Primary
Route interface: Not configured
Description: VLAN 0005
Name: VLAN 0005
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/3
Twenty-FiveGigE1/0/5
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/5
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0003
Name: VLAN 0003
Tagged Ports: None
Untagged Ports:
Twenty-FiveGigE1/0/3
Twenty-FiveGigE1/0/5
可以看到,工作在promiscuous模式的端口Twenty-FiveGigE1/0/5和工作在host模式的端口Twenty-FiveGigE1/0/2和Twenty-FiveGigE1/0/3均以Untagged方式允許VLAN報文通過。
· Device B上的VLAN 5和VLAN 10為Primary VLAN,其上行端口Twenty-FiveGigE1/0/1需要允許VLAN 5和VLAN 10的報文攜帶VLAN Tag通過。
· Device B的下行端口Twenty-FiveGigE1/0/2允許Secondary VLAN 2通過,Twenty-FiveGigE1/0/3允許Secondary VLAN 3通過,Secondary VLAN 2、3映射到Primary VLAN 5。
· Device B的下行端口Twenty-FiveGigE1/0/4允許Secondary VLAN 6通過,Twenty-FiveGigE1/0/5允許Secondary VLAN 8通過,Secondary VLAN 6、8映射到Primary VLAN 10。
· 從Device A看,下接的Device B隻有VLAN 5和VLAN 10。
圖3-3 組網圖
(1) 配置Device B
# 配置VLAN 5和VLAN 10為Primary VLAN。
<DeviceB> system-view
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan primary
[DeviceB-vlan5] quit
[DeviceB] vlan 10
[DeviceB-vlan10] private-vlan primary
[DeviceB-vlan10] quit
# 創建Secondary VLAN 2、3、6、8。
[DeviceB] vlan 2 to 3
[DeviceB] vlan 6
[DeviceB-vlan6] quit
[DeviceB] vlan 8
[DeviceB-vlan8] quit
# 配置Primary VLAN 5和Secondary VLAN 2、3的映射關係。
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan secondary 2 to 3
[DeviceB-vlan5] quit
# 配置Primary VLAN 10和Secondary VLAN 6、8的映射關係。
[DeviceB] vlan 10
[DeviceB-vlan10] private-vlan secondary 6 8
[DeviceB-vlan10] quit
# 配置上行端口Twenty-FiveGigE1/0/1在VLAN 5和VLAN 10中工作在trunk promiscuous模式。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] port private-vlan 5 10 trunk promiscuous
[DeviceB-Twenty-FiveGigE1/0/1] quit
# 將下行端口Twenty-FiveGigE1/0/2加入VLAN 2,Twenty-FiveGigE1/0/3加入VLAN 3,並配置它們工作在host模式。
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port access vlan 2
[DeviceB-Twenty-FiveGigE1/0/2] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/2] quit
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port access vlan 3
[DeviceB-Twenty-FiveGigE1/0/3] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/3] quit
# 將下行端口Twenty-FiveGigE1/0/4加入VLAN 6,Twenty-FiveGigE1/0/5加入VLAN 8,並配置它們工作在host模式。
[DeviceB] interface twenty-fivegige 1/0/4
[DeviceB-Twenty-FiveGigE1/0/4] port access vlan 6
[DeviceB-Twenty-FiveGigE1/0/4] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/4] quit
[DeviceB] interface twenty-fivegige 1/0/5
[DeviceB-Twenty-FiveGigE1/0/5] port access vlan 8
[DeviceB-Twenty-FiveGigE1/0/5] port private-vlan host
[DeviceB-Twenty-FiveGigE1/0/5] quit
(2) 配置Device A
# 創建VLAN 5和VLAN 10。
[DeviceA] vlan 5
[DeviceA-vlan5] quit
[DeviceA] vlan 10
[DeviceA-vlan10] quit
# 配置端口Twenty-FiveGigE1/0/1為Hybrid端口,並允許VLAN 5和VLAN 10攜帶Tag通過。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] port link-type hybrid
[DeviceA-Twenty-FiveGigE1/0/1] port hybrid vlan 5 10 tagged
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 顯示Device B上的Primary VLAN 5配置情況(Primary VLAN 10的顯示結果類似,這裏不再列出)。
[DeviceB] display private-vlan 5
Primary VLAN ID: 5
Secondary VLAN ID: 2-3
VLAN ID: 5
VLAN type: Static
Private VLAN type: Primary
Route interface: Not configured
Description: VLAN 0005
Name: VLAN 0005
Tagged ports:
Twenty-FiveGigE1/0/1
Untagged ports:
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/3
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0002
Name: VLAN 0002
Tagged ports:
Twenty-FiveGigE1/0/1
Untagged ports:
Twenty-FiveGigE1/0/2
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0003
Name: VLAN 0003
Tagged ports:
Twenty-FiveGigE1/0/1
Untagged ports:
Twenty-FiveGigE1/0/3
可以看到,工作在trunk promiscuous模式的端口Twenty-FiveGigE1/0/1以Tagged方式允許VLAN報文通過,工作在host模式的端口Twenty-FiveGigE1/0/2和Twenty-FiveGigE1/0/3以Untagged方式允許VLAN報文通過。
· Device A上的VLAN 10和VLAN 20為Primary VLAN,上行端口Twenty-FiveGigE1/0/5需要允許VLAN 10和VLAN 20的報文攜帶VLAN Tag通過。
· Device A上的VLAN 11、12、21、22為Secondary VLAN,下行端口Twenty-FiveGigE1/0/2允許Secondary VLAN 11、21的報文攜帶VLAN Tag通過,下行端口Twenty-FiveGigE1/0/1允許Secondary VLAN 22通過,下行端口Twenty-FiveGigE1/0/3允許Secondary VLAN 12通過。
· Secondary VLAN 11、12映射到Primary VLAN 10;Secondary VLAN 21、22映射到Primary VLAN 20。
圖3-4 組網圖
(1) 配置Device A
# 配置VLAN 10和VLAN 20為Primary VLAN。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan primary
[DeviceA-vlan10] quit
[DeviceA] vlan 20
[DeviceA-vlan20] private-vlan primary
[DeviceA-vlan20] quit
# 創建Secondary VLAN 11、12、21、22。
[DeviceA] vlan 11 to 12
[DeviceA] vlan 21 to 22
# 配置Primary VLAN 10和Secondary VLAN 11、12的映射關係。
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan secondary 11 12
[DeviceA-vlan10] quit
# 配置Primary VLAN 20和Secondary VLAN 21、22的映射關係。
[DeviceA] vlan 20
[DeviceA-vlan20] private-vlan secondary 21 22
[DeviceA-vlan20] quit
# 配置上行端口Twenty-FiveGigE1/0/5在VLAN 10和VLAN 20中工作在trunk promiscuous模式。
[DeviceA] interface twenty-fivegige 1/0/5
[DeviceA-Twenty-FiveGigE1/0/5] port private-vlan 10 20 trunk promiscuous
[DeviceA-Twenty-FiveGigE1/0/5] quit
# 將下行端口Twenty-FiveGigE1/0/1加入VLAN 22,並配置其工作在host模式。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] port access vlan 22
[DeviceA-Twenty-FiveGigE1/0/1] port private-vlan host
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 將下行端口Twenty-FiveGigE1/0/3加入VLAN 12,並配置其工作在host模式。
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] port access vlan 12
[DeviceA-Twenty-FiveGigE1/0/3] port private-vlan host
[DeviceA-Twenty-FiveGigE1/0/3] quit
# 配置下行端口Twenty-FiveGigE1/0/2在VLAN 11和VLAN 21中工作在trunk secondary模式。
[DeviceA] interface twenty-fivegige 1/0/2
[DeviceA-Twenty-FiveGigE1/0/2] port private-vlan 11 21 trunk secondary
[DeviceA-Twenty-FiveGigE1/0/2] quit
(2) 配置Device B
# 創建VLAN 11和VLAN 21。
<DeviceB> system-view
[DeviceB] vlan 11
[DeviceB-vlan11] quit
[DeviceB] vlan 21
[DeviceB-vlan21] quit
# 配置端口Twenty-FiveGigE1/0/2為Hybrid端口,並允許VLAN 11和VLAN 21攜帶Tag通過。
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port link-type hybrid
[DeviceB-Twenty-FiveGigE1/0/2] port hybrid vlan 11 21 tagged
[DeviceB-Twenty-FiveGigE1/0/2] quit
# 將端口Twenty-FiveGigE1/0/3加入VLAN 11。
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port access vlan 11
[DeviceB-Twenty-FiveGigE1/0/3] quit
# 將端口Twenty-FiveGigE1/0/4加入VLAN 21。
[DeviceB] interface twenty-fivegige 1/0/4
[DeviceB-Twenty-FiveGigE1/0/4] port access vlan 21
[DeviceB-Twenty-FiveGigE1/0/4] quit
(3) 配置Device C
# 創建VLAN 10和VLAN 20。
<DeviceC> system-view
[DeviceC] vlan 10
[DeviceC-vlan10] quit
[DeviceC] vlan 20
[DeviceC-vlan20] quit
# 配置端口Twenty-FiveGigE1/0/5為Hybrid端口,並允許VLAN 10和VLAN 20攜帶Tag通過。
[DeviceC] interface twenty-fivegige 1/0/5
[DeviceC-Twenty-FiveGigE1/0/5] port link-type hybrid
[DeviceC-Twenty-FiveGigE1/0/5] port hybrid vlan 10 20 tagged
[DeviceC-Twenty-FiveGigE1/0/5] quit
# 顯示Device A上Primary VLAN 10的配置情況(Primary VLAN 20的顯示結果類似,這裏不再列出)。
[DeviceA] display private-vlan 10
Primary VLAN ID: 10
Secondary VLAN ID: 11-12
VLAN ID: 10
VLAN type: Static
Private-vlan type: Primary
Route interface: Not configured
Description: VLAN 0010
Name: VLAN 0010
Tagged ports:
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/5
Untagged ports:
Twenty-FiveGigE1/0/3
VLAN ID: 11
VLAN type: Static
Private-vlan type: Secondary
Route interface: Not configured
Description: VLAN 0011
Name: VLAN 0011
Tagged ports:
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/5
Untagged ports: None
VLAN ID: 12
VLAN type: Static
Private-vlan type: Secondary
Route interface: Not configured
Description: VLAN 0012
Name: VLAN 0012
Tagged ports:
Twenty-FiveGigE1/0/5
Untagged ports:
Twenty-FiveGigE1/0/3
可以看到,工作在trunk promiscuous模式的端口Twenty-FiveGigE1/0/5和工作在trunk secondary模式的端口Twenty-FiveGigE1/0/2以Tagged方式允許VLAN報文通過,工作在host模式的端口Twenty-FiveGigE1/0/3以Untagged方式允許VLAN報文通過。
· Device A上的VLAN 10為Primary VLAN,包含上行端口Twenty-FiveGigE1/0/1並關聯兩個Secondary VLAN(VLAN 2和VLAN 3),VLAN 2包含端口Twenty-FiveGigE1/0/2,VLAN 3包含端口Twenty-FiveGigE1/0/3。VLAN接口10的IP地址為192.168.1.1/24。
· 實現各Secondary VLAN間二層隔離和三層互通。
圖3-5 組網圖
# 配置VLAN 10為Primary VLAN。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan primary
[DeviceA-vlan10] quit
# 創建Secondary VLAN 2、3。
[DeviceA] vlan 2 to 3
# 配置Primary VLAN 10和Secondary VLAN 2、3的映射關係。
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan secondary 2 3
[DeviceA-vlan10] quit
# 配置上行端口Twenty-FiveGigE1/0/1在VLAN 10中工作在promiscuous模式。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] port private-vlan 10 promiscuous
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 將下行端口Twenty-FiveGigE1/0/2加入VLAN 2,並配置其工作在host模式。
[DeviceA] interface twenty-fivegige 1/0/2
[DeviceA-Twenty-FiveGigE1/0/2] port access vlan 2
[DeviceA-Twenty-FiveGigE1/0/2] port private-vlan host
[DeviceA-Twenty-FiveGigE1/0/2] quit
# 將下行端口Twenty-FiveGigE1/0/3加入VLAN 3,並配置其工作在host模式。
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] port access vlan 3
[DeviceA-Twenty-FiveGigE1/0/3] port private-vlan host
[DeviceA-Twenty-FiveGigE1/0/3] quit
# 配置Primary VLAN 10下Secondary VLAN 2、3之間三層互通。
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] private-vlan secondary 2 3
# 配置VLAN接口10的IP地址為192.168.1.1/24。
[DeviceA-Vlan-interface10] ip address 192.168.1.1 255.255.255.0
# 開啟本地代理ARP功能。
[DeviceA-Vlan-interface10] local-proxy-arp enable
[DeviceA-Vlan-interface10] quit
# 查看Private VLAN 10的相關信息,驗證以上配置是否生效。
[DeviceA] display private-vlan 10
Primary VLAN ID: 10
Secondary VLAN ID: 2-3
VLAN ID: 10
VLAN type: Static
Private VLAN type: Primary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0010
Name: VLAN 0010
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/1
Twenty-FiveGigE1/0/2
Twenty-FiveGigE1/0/3
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/1
Twenty-FiveGigE1/0/2
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0003
Name: VLAN 0003
Tagged ports: None
Untagged ports:
Twenty-FiveGigE1/0/1
Twenty-FiveGigE1/0/3
可以看到,Secondary VLAN 2和Secondary VLAN 3的Route interface字段都顯示為Configured,說明Secondary VLAN 2與Secondary VLAN 3間已配置三層互通。
Voice VLAN是為用戶的語音數據流專門劃分的VLAN。通過劃分Voice VLAN並將連接語音設備的端口加入Voice VLAN,係統自動為語音報文修改QoS(Quality of Service,服務質量)參數,來提高語音數據報文優先級、保證通話質量。
當IP電話接入設備時,需要設備完成以下兩個任務:
(1) 識別IP電話,獲取IP電話的MAC地址,從而進行安全認證及提高語音報文的優先級。
(2) 將Voice VLAN信息通告給IP電話,IP電話能夠根據收到的Voice VLAN信息完成自動配置,使IP電話發出的語音報文在Voice VLAN內傳輸。
常見的語音設備有IP電話、IAD(Integrated Access Device,綜合接入設備)等。本文中以IP電話為例進行說明。
設備可以根據端口接收的報文的源MAC地址來判斷該數據流是否為語音數據流。源MAC地址符合係統配置的語音設備OUI(Organizationally Unique Identifier,全球統一標識符)地址的報文被認為是語音數據流。
用戶可以預先配置OUI地址,也可以使用缺省的OUI地址作為判斷標準。設備缺省的OUI地址如表4-1所示。
序號 |
OUI地址 |
生產廠商 |
1 |
0001-e300-0000 |
Siemens phone |
2 |
0003-6b00-0000 |
Cisco phone |
3 |
0004-0d00-0000 |
Avaya phone |
4 |
000f-e200-0000 |
H3C Aolynk phone |
5 |
0060-b900-0000 |
Philips/NEC phone |
6 |
00d0-1e00-0000 |
Pingtel phone |
7 |
00e0-7500-0000 |
Polycom phone |
8 |
00e0-bb00-0000 |
3Com phone |
· 通常意義下,OUI地址指的是MAC地址的前24位(二進製),是IEEE為不同設備供應商分配的一個全球唯一的標識符。本文中的OUI地址有別於通常意義的OUI地址,它是設備判斷收到的報文是否為語音報文的依據,是voice-vlan mac-address命令中的mac-address和oui-mask參數相與運算後的結果。
· 設備缺省的OUI地址可以手工刪除,刪除之後也可再次手工添加。
通過設備上配置的OUI地址識別IP電話的方法受限於設備上可配置的OUI地址的數量,並且當網絡中IP電話數量眾多時,網絡管理員的配置工作量較大。如果IP電話支持LLDP(Link Layer Discovery Protocol,鏈路層發現協議)功能,可以配置LLDP自動識別IP電話功能。
在設備上配置了通過LLDP自動發現IP電話功能後,設備將通過LLDP自動發現對端設備,並與對端設備通過LLDP的TLV進行信息交互。如果通過端口收到的LLDP System Capabilities TLV中的信息發現對端設備具有電話能力,則認為對端設備是IP電話並將設備上配置的Voice VLAN信息通過LLDP發送給對端設備。這種方式使接入網絡的IP電話類型不再受限於OUI地址的數量。
在完成IP電話的發現過程後,端口將繼續完成Voice VLAN的其他功能,即端口將自動加入Voice VLAN,並提高從該IP電話發出的語音數據的優先級。為防止IP電話無法通過端口上配置的認證功能,設備還會將IP電話的MAC地址添加到MAC地址表中。
有關LLDP的詳細信息,請參見“二層技術-以太網交換配置指導”中的“LLDP”。
設備可以通過三種方式將Voice VLAN信息通告給IP電話,這三種方式的優先順序如下圖所示。
· 通過命令行指定LLDP或CDP(Cisco Discovery Protocol,思科發現協議)發布的Voice VLAN ID。
· 當IP電話配合接入認證功能使用時,將認證服務器下發的授權VLAN信息通告給IP電話。
· 直接將端口配置的Voice VLAN信息通告給IP電話。
如下圖所示,主機連接到IP電話,IP電話連接到接入設備。在串聯接入的環境下,需要將主機和IP電話劃分到不同的VLAN,且需要IP電話能發出攜帶VLAN Tag的報文,從而區分業務數據流和語音數據流。同時,需要配置端口允許Voice VLAN和PVID通過。
圖4-2 主機與IP電話串聯接入組網圖
如下圖所示,IP電話單獨接入設備。單獨接入適用於IP電話發出Untagged語音報文的情況,此時需要配置PVID為Voice VLAN,並配置端口允許PVID通過。
圖4-3 IP電話單獨接入組網圖
根據端口加入Voice VLAN的不同方式,可以將Voice VLAN的工作模式分為自動模式和手動模式。
自動模式適用於主機和IP電話串聯接入(端口同時傳輸語音數據和普通業務數據)的組網方式,如圖4-2所示。
自動模式下,係統利用IP電話上電時發出的協議報文,識別報文的源MAC地址,匹配OUI地址。匹配成功後,係統將自動把語音報文的入端口加入Voice VLAN,並下發ACL規則、配置報文的優先級。用戶可以在設備上配置Voice VLAN的老化時間,當在老化定時器停止前係統沒有從入端口收到任何語音報文時,係統將把該端口從Voice VLAN中刪除。端口的添加/刪除到Voice VLAN的過程由係統自動實現。當Voice VLAN正常工作時,如果遇到IP電話重新啟動,為保證已經建立的語音連接能夠正常工作,係統會在IP電話重新啟動完成後,將配置為自動模式的端口重新加入Voice VLAN,而不需要再次通過語音流觸發。
手動模式適用於IP電話單獨接入(端口僅傳輸語音報文)的組網方式,如圖4-3所示。該組網方式可以使該端口專用於傳輸語音數據,最大限度避免業務數據對語音數據傳輸的影響。
手動模式下,需要手工將連接IP電話的端口加入Voice VLAN中。再通過識別報文的源MAC地址,匹配OUI地址。匹配成功後,係統將下發ACL規則、配置報文的優先級。端口的添加/刪除到Voice VLAN的過程由網絡管理員手動實現。
由於IP電話類型較多,因此需要用戶保證端口的鏈路類型與IP電話匹配,不同Voice VLAN工作模式下的詳細配合關係請見表4-2和表4-3。
如果用戶的IP電話發出的是Tagged語音流,且接入端口上開啟了802.1X認證和Guest VLAN/Auth-Fail VLAN/Critical VLAN,為保證各種功能的正常使用,請為Voice VLAN、PVID和802.1X的Guest VLAN/Auth-Fail VLAN/Critical VLAN分配不同的VLAN ID。
如果用戶的IP電話發出的是Untagged語音流,為實現Voice VLAN功能,隻能將PVID配置為Voice VLAN,此時將不能實現802.1X認證功能。
表4-2 不同類型端口支持Tagged語音數據配置要求
Voice VLAN工作模式 |
端口類型 |
是否支持Tagged語音數據 |
配置要求 |
自動模式 |
Access |
不支持 |
- |
Trunk |
支持 |
PVID不能為Voice VLAN |
|
Hybrid |
|||
手工模式 |
Access |
不支持 |
- |
Trunk |
支持 |
PVID不能為Voice VLAN,需要配置端口允許Voice VLAN的報文通過 |
|
Hybrid |
支持 |
PVID不能為Voice VLAN,需要配置端口允許Voice VLAN的報文攜帶Tag通過 |
當IP電話發送Untagged語音數據,則端口的Voice VLAN工作模式隻能為手工模式,不能為自動模式。
表4-3 不同類型端口支持Untagged語音數據配置要求
Voice VLAN工作模式 |
端口類型 |
是否支持Untagged語音數據 |
配置要求 |
自動模式 |
Access |
不支持 |
- |
Trunk |
|||
Hybrid |
|||
手工模式 |
Access |
支持 |
端口加入Voice VLAN |
Trunk |
支持 |
PVID必須為Voice VLAN,且接入端口允許PVID通過 |
|
Hybrid |
支持 |
PVID必須為Voice VLAN,且允許PVID的報文不帶VLAN Tag通過 |
開啟了Voice VLAN功能的端口會對接收到的報文進行過濾,根據過濾機製的不同,可以將Voice VLAN的工作模式分為普通模式和安全模式:
· 普通模式下,端口加入Voice VLAN後,設備對於接收的語音報文不再一一進行識別,凡是帶有Voice VLAN Tag的報文,設備將不再檢查其源MAC地址是否為語音設備的OUI地址,均接收並在Voice VLAN中轉發。對於PVID就是Voice VLAN的手工模式端口,會導致任意的Untagged報文都可以在Voice VLAN中傳輸。這樣的處理方式很容易使Voice VLAN收到惡意用戶的流量攻擊。惡意用戶可以構造大量帶有Voice VLAN Tag或Untagged的報文,占用Voice VLAN的帶寬,影響正常的語音通信。
· 安全模式下,設備將對每一個要進入Voice VLAN傳輸的報文進行源MAC地址匹配檢查,對於不能匹配OUI地址的報文,則將其丟棄。
對於比較安全的網絡,用戶可以配置Voice VLAN的普通模式,以減少檢查報文的工作對係統資源的占用。
· 隻有匹配了OUI地址的報文才能被修改優先級。比如在普通模式下,報文在Voice VLAN中轉發,但如果該報文未匹配OUI地址,則該報文不會被修改優先級。
· 建議用戶盡量不要在Voice VLAN中同時傳輸語音和業務數據。如確有此需要,請確認Voice VLAN的安全模式已關閉,否則業務數據會被丟棄。
表4-4 Voice VLAN的安全/普通模式對報文的處理
Voice VLAN工作模式 |
報文類型 |
處理方式 |
安全模式 |
Untagged報文 |
當報文的源MAC地址是可識別的OUI地址時,根據配置修改報文的優先級並允許該報文在Voice VLAN內傳輸,否則將該報文丟棄 |
帶有Voice VLAN Tag的報文 |
||
帶有其他VLAN Tag的報文 |
根據指定端口是否允許該VLAN通過來對報文進行轉發和丟棄的處理,不受Voice VLAN安全/普通模式的影響 |
|
普通模式 |
Untagged報文 |
不對報文的源MAC地址進行檢查,所有報文均可以在Voice VLAN內進行傳輸,並修改源MAC地址與OUI地址相匹配的報文的優先級 |
帶有Voice VLAN Tag的報文 |
||
帶有其他VLAN Tag的報文 |
根據指定端口是否允許該VLAN通過來對報文進行轉發和丟棄的處理,不受Voice VLAN安全/普通模式的影響 |
Voice VLAN功能具有以下限製:
· Voice VLAN的老化定時器需在對應的MAC地址表項老化之後才能啟動,因此Voice VLAN實際的老化時間為設備上配置的Voice VLAN老化時間與動態MAC地址表項老化時間之和。有關動態MAC地址老化時間的詳細介紹,請參見“MAC地址表”。
· 不建議Voice VLAN功能與MAC地址禁止學習功能或MAC地址數學習上限功能同時使用,否則部分流量可能被丟棄:
¡ 同時配置Voice VLAN功能與MAC地址禁止學習功能時,僅精確匹配了OUI地址的報文能夠正常轉發,未精確匹配的報文將被丟棄。
¡ 同時配置Voice VLAN功能與MAC地址數學習上限功能時,當接口學習到的MAC地址到達所配置的上限後,僅匹配MAC地址表中已學習到的表項和OUI地址的報文能夠正常轉發,其餘報文將被丟棄。
Voice VLAN配置任務如下:
(1) 配置語音報文的QoS優先級
(2) 配置端口Voice VLAN功能
請選擇以下一項任務進行配置:
(3) (可選)配置通過LLDP自動發現IP電話功能
(4) (可選)配置通過LLDP/CDP通告Voice VLAN信息
請選擇以下一項任務進行配置:
Voice VLAN在實現中,通過提高語音報文的QoS優先級來保證語音通信的質量。語音報文會自帶QoS優先級,通過配置,用戶可以選擇在語音報文通過設備時修改或者不修改報文的QoS優先級。
語音報文的Qos優先級由兩部分組成:
· CoS(Classic of Service,業務優先級):由802.1p定義,在802.1Q幀中為一個長3位的優先級字段。網絡發生擁塞時,設備會優先發送802.1p優先級高的報文。
· DSCP(Differentiated Services Codepoint,區分服務編碼點)優先級:IPv4報文TOS字段中的6位作為DSCP。在實施DiffServ的網絡中,每一個轉發設備都會根據報文的DSCP值執行相應的轉發行為。
在Voice VLAN已開啟的情況下,不允許配置/修改語音報文的QoS優先級。必須關閉端口上的Voice VLAN功能後,才能配置/修改語音報文的QoS優先級。
在同一端口多次執行本配置,最後一次執行的配置生效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
(3) 配置語音報文的QoS優先級。請選擇其中一項進行配置。
¡ 配置端口信任Voice VLAN內語音報文的優先級,即不修改報文的優先級。
voice-vlan qos trust
¡ 配置端口將Voice VLAN內語音報文的CoS和DSCP值修改為指定值。
voice-vlan qos cos-value dscp-value
缺省情況下,端口將Voice VLAN內語音報文的CoS值修改為6,DSCP值修改為46。
· 自動模式下的Voice VLAN隻支持Hybrid端口對Tagged的語音流進行處理,而協議VLAN特性要求Hybrid入端口的報文格式為Untagged的,因此,不能將某個VLAN同時配置為Voice VLAN和協議VLAN。
· 配置MSTP多實例情況下,如果端口在要加入的Voice VLAN對應的MSTP實例中是阻塞狀態,則端口會丟棄收到的報文,造成MAC地址不能上送,不能完成動態觸發功能。自動模式Voice VLAN的使用場景為接入側,不建議和多實例MSTP同時使用。
· 配置PVST情況下,如果端口要加入的Voice VLAN不為端口允許通過的VLAN,則端口處於阻塞狀態,會丟棄收到的報文,造成MAC地址不能上送,不能完成動態觸發功能。自動模式Voice VLAN的使用場景為接入側,不建議和PVST同時使用。
· 當端口配置了動態觸發端口加入靜態MAC VLAN,又配置本功能時,兩個功能可能會相互影響,導致其中某個功能不可用。當端口同時配置了本功能和動態觸發端口加入靜態MAC VLAN,再取消其中任何一個功能的配置,會導致另一個功能不可用。因此不建議同一端口同時配置本功能和動態觸發端口加入靜態MAC VLAN。
(1) 進入係統視圖。
system-view
(2) (可選)配置Voice VLAN的老化時間。
voice-vlan aging minutes
缺省情況下,老化時間為1440分鍾,老化時間隻對自動模式下的端口有效。
(3) (可選)開啟Voice VLAN的安全模式。
voice-vlan security enable
缺省情況下,Voice VLAN工作在安全模式。
(4) (可選)配置Voice VLAN識別的OUI地址。
voice-vlan mac-address oui mask oui-mask [ description text ]
Voice VLAN啟動後將有缺省的OUI地址,請參見“表4-1設備缺省的OUI地址”。
(5) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
(6) 配置端口的鏈路類型。請選擇其中一項進行配置。
¡ 配置端口的鏈路類型為Trunk。
port link-type trunk
¡ 配置端口的鏈路類型為Hybrid。
port link-type hybrid
(7) 配置端口的Voice VLAN工作模式為自動模式。
voice-vlan mode auto
缺省情況下,端口的Voice VLAN工作模式為自動模式。
(8) 開啟端口的Voice VLAN功能。
voice-vlan vlan-id enable
缺省情況下,端口的Voice VLAN功能處於關閉狀態。
開啟端口的Voice VLAN功能之前,須確保對應的VLAN已存在。
· 同一設備同一時刻可以給不同的端口配置不同的Voice VLAN,但一個端口隻能配置一個Voice VLAN,而且這些VLAN必須是已經存在的靜態VLAN。
· 不允許在聚合組的成員端口上開啟Voice VLAN功能。有關聚合組的成員端口的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“以太網鏈路聚合”。
· 當端口開啟了Voice VLAN並工作在手工模式時,必須手工將端口加入Voice VLAN,才能保證Voice VLAN功能生效。
(1) 進入係統視圖。
system-view
(2) (可選)開啟Voice VLAN的安全模式。
voice-vlan security enable
缺省情況下,Voice VLAN工作在安全模式。
(3) (可選)配置Voice VLAN中可識別的OUI地址。
voice-vlan mac-address oui mask oui-mask [ description text ]
Voice VLAN啟動後將有缺省的OUI地址,請參見“表4-1設備缺省的OUI地址”。
(4) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
(5) 配置端口的Voice VLAN工作模式為手動模式。
undo voice-vlan mode auto
缺省情況下,端口的Voice VLAN工作模式為自動模式。
(6) 將手動模式端口加入Voice VLAN。請選擇其中一項進行配置。
¡ 將Access端口加入Voice VLAN。
請參見“1.3.2 配置基於Access端口的VLAN”。
將Access端口加入Voice VLAN後,Voice VLAN會自動成為PVID。
¡ 將Trunk端口加入Voice VLAN。
請參見“1.3.3 配置基於Trunk端口的VLAN”。
¡ 將Hybrid端口加入Voice VLAN。
請參見“1.3.4 配置基於Hybrid端口的VLAN”。
(7) (可選)配置PVID為Voice VLAN。請選擇其中一項進行配置。
¡ 將Trunk端口PVID配置為Voice VLAN。
請參見“1.3.3 配置基於Trunk端口的VLAN”。
¡ 將Hybrid端口PVID配置為Voice VLAN。
請參見“1.3.4 配置基於Hybrid端口的VLAN”。
當輸入的語音流是Untagged語音流時,需要進行該項配置;當輸入的語音流是Tagged語音流時,不能將PVID配置為Voice VLAN。
(8) 開啟端口的Voice VLAN功能。
voice-vlan vlan-id enable
缺省情況下,端口的Voice VLAN功能處於關閉狀態。
開啟端口的Voice VLAN功能之前,須先創建對應的VLAN。
· 在配置本功能前,需要在全局和接入端口均開啟LLDP功能。
· 通過LLDP自動發現IP電話功能隻能與Voice VLAN自動模式配合使用,不能與手動模式配合使用。
· 通過LLDP自動發現IP電話功能與LLDP兼容CDP功能不能同時配置。兩者同時配置時,CDP鄰居的刪除也會導致Voice VLAN配置被刪除,導致通過LLDP自動發現的IP電話離線。
· 設備開啟通過LLDP自動發現IP電話功能後,每個端口最多可以接入5台IP電話。
(1) 進入係統視圖。
system-view
(2) 開啟通過LLDP自動發現IP電話功能。
voice-vlan track lldp
缺省情況下,通過LLDP自動發現IP電話功能處於關閉狀態。
對於支持LLDP的IP電話,可以通過LLDP-MED中的Network Policy TLV將Voice VLAN信息通告給IP電話。
在配置本功能前,需要在全局和接入端口開啟LLDP功能。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖。
interface interface-type interface-number
(3) 配置端口上發布的Voice VLAN ID。
lldp tlv-enable med-tlv network-policy vlan-id
缺省情況下,未配置端口上發布的Voice VLAN ID。
(4) (可選)查看通告的Voice VLAN信息。
display lldp local-information
如果IP電話隻支持CDP,不支持LLDP,當設備與這類IP電話直連時,IP電話將會向設備發送CDP報文以請求在設備上所配Voice VLAN的VLAN ID;如果在指定時間內沒有收到設備發送的Voice VLAN的VLAN ID,IP電話將會把語音數據流以Untagged方式發送,從而導致語音數據流與其他類型的數據流混在一起,無法進行區分。
通過在設備上配置LLDP兼容CDP功能,可以利用LLDP來接收、識別從IP電話發送的CDP報文,並向IP電話發送CDP報文,該CDP報文攜帶設備配置的Voice VLAN信息,使IP電話完成Voice VLAN的自動配置。之後IP電話的語音數據流將被限製在配置的Voice VLAN內,與其他數據流區分開來。
設備發送給IP電話的CDP報文中不包含優先級信息。
在配置本功能前,需要在全局和接入端口開啟LLDP功能。
(1) 進入係統視圖。
system-view
(2) 開啟LLDP兼容CDP功能。
lldp compliance cdp
缺省情況下,LLDP兼容CDP功能處於關閉狀態。
(3) 進入二層以太網接口視圖。
interface interface-type interface-number
(4) 配置LLDP兼容CDP功能的工作模式為TxRx。
lldp compliance admin-status cdp txrx
缺省情況下,LLDP兼容CDP功能的工作模式為Disable。
(5) 配置CDP報文攜帶的Voice VLAN ID。
cdp voice-vlan vlan-id
缺省情況下,未配置CDP報文攜帶的Voice VLAN ID。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後Voice VLAN的運行情況,通過查看顯示信息驗證配置的效果。
表4-5 Voice VLAN顯示和維護
操作 |
命令 |
顯示Voice VLAN的狀態 |
display voice-vlan state |
顯示係統當前支持的OUI地址 |
display voice-vlan mac-address |
· IP phone A的MAC地址為0011-1100-0001,下行連接PC A(MAC地址為0022-1100-0002),上行連接到Device A的Twenty-FiveGigE1/0/1端口。
· IP phone B的MAC地址為0011-2200-0001,下行連接PC B(MAC地址為0022-2200-0002),上行連接到Device A的Twenty-FiveGigE1/0/2端口。
· Device A使用Voice VLAN 2傳輸IP phone A產生的語音報文;使用Voice VLAN 3傳輸IP phone B產生的語音報文。
· Device A的端口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2工作在自動模式,如果它們在30分鍾內沒有收到語音流,就將相應的Voice VLAN老化。
圖4-4 配置自動模式下Voice VLAN組網圖
# 創建VLAN 2和VLAN 3。
<DeviceA> system-view
[DeviceA] vlan 2 to 3
# 配置Voice VLAN的老化時間為30分鍾。
[DeviceA] voice-vlan aging 30
# 由於端口Twenty-FiveGigE1/0/1可能會同時收到語音和數據兩種流量,為了保證語音報文的質量以及帶寬的高效利用,配置Voice VLAN工作在安全模式,即Voice VLAN隻用於傳輸語音報文。(可選,缺省情況下,Voice VLAN工作在安全模式)
[DeviceA] voice-vlan security enable
# 配置允許OUI地址為0011-1100-0000和0011-2200-0000的報文通過Voice VLAN,即當報文源MAC地址前綴為0011-1100-0000或0011-2200-0000時,Device A會把它當成語音報文來處理。
[DeviceA] voice-vlan mac-address 0011-1100-0001 mask ffff-ff00-0000 description IP phone A
[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description IP phone B
# 配置端口Twenty-FiveGigE1/0/1為Hybrid類型端口。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] port link-type hybrid
# 將端口Twenty-FiveGigE1/0/1上Voice VLAN的工作模式配置為自動模式。(可選,缺省情況下,端口的Voice VLAN工作在自動模式。)
[DeviceA-Twenty-FiveGigE1/0/1] voice-vlan mode auto
# 開啟端口Voice VLAN功能。
[DeviceA-Twenty-FiveGigE1/0/1] voice-vlan 2 enable
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 在端口Twenty-FiveGigE1/0/2上進行相應的配置。
[DeviceA] interface twenty-fivegige 1/0/2
[DeviceA-Twenty-FiveGigE1/0/2] port link-type hybrid
[DeviceA-Twenty-FiveGigE1/0/2] voice-vlan mode auto
[DeviceA-Twenty-FiveGigE1/0/2] voice-vlan 3 enable
[DeviceA-Twenty-FiveGigE1/0/2] quit
# 顯示當前係統支持的OUI地址、OUI地址掩碼和描述信息。
[DeviceA] display voice-vlan mac-address
OUI Address Mask Description
0001-e300-0000 ffff-ff00-0000 Siemens phone
0003-6b00-0000 ffff-ff00-0000 Cisco phone
0004-0d00-0000 ffff-ff00-0000 Avaya phone
000f-e200-0000 ffff-ff00-0000 H3C Aolynk phone
0011-1100-0000 ffff-ff00-0000 IP phone A
0011-2200-0000 ffff-ff00-0000 IP phone B
0060-b900-0000 ffff-ff00-0000 Philips/NEC phone
00d0-1e00-0000 ffff-ff00-0000 Pingtel phone
00e0-7500-0000 ffff-ff00-0000 Polycom phone
00e0-bb00-0000 ffff-ff00-0000 3Com phone
# 顯示當前Voice VLAN的狀態。
[DeviceA] display voice-vlan state
Current voice VLANs: 2
Voice VLAN security mode: Security
Voice VLAN aging time: 30 minutes
Voice VLAN enabled ports and their modes:
Port VLAN Mode CoS DSCP
WGE1/0/1 2 Auto 6 46
WGE1/0/2 3 Auto 6 46
· IP Phone A接入Device A的Hybrid類型端口Twenty-FiveGigE1/0/1。IP Phone A發出的報文為Untagged報文。
· Device A上VLAN 2為Voice VLAN。
· 手工將Device A的端口Twenty-FiveGigE1/0/1工作加入Voice VLAN,其PVID為VLAN 2,添加OUI地址0011-2200-0000,使該端口專用於傳輸語音報文。
圖4-5 配置手動模式下Voice VLAN組網圖
# 配置Voice VLAN為安全模式,使得Voice VLAN端口隻允許合法的語音報文通過。(可選,缺省情況下,Voice VLAN工作在安全模式)
<DeviceA> system-view
[DeviceA] voice-vlan security enable
# 配置允許OUI地址為0011-2200-0000的報文通過Voice VLAN,即報文源MAC地址前綴為0011-2200-0000時,Device A會把它當成語音報文來處理。
[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description test
# 創建VLAN 2。
[DeviceA] vlan 2
[DeviceA-vlan2] quit
# 配置端口Twenty-FiveGigE1/0/1工作在手動模式。
[DeviceA] interface twenty-fivegige 1/0/1
[DeviceA-Twenty-FiveGigE1/0/1] undo voice-vlan mode auto
# 配置端口Twenty-FiveGigE1/0/1為Hybrid類型。
[DeviceA-Twenty-FiveGigE1/0/1] port link-type hybrid
# 配置Voice VLAN是端口Twenty-FiveGigE1/0/1的PVID,且在該端口允許通過的Untagged VLAN列表中。
[DeviceA-Twenty-FiveGigE1/0/1] port hybrid pvid vlan 2
[DeviceA-Twenty-FiveGigE1/0/1] port hybrid vlan 2 untagged
# 開啟端口Twenty-FiveGigE1/0/1的Voice VLAN功能。
[DeviceA-Twenty-FiveGigE1/0/1] voice-vlan 2 enable
[DeviceA-Twenty-FiveGigE1/0/1] quit
# 顯示當前係統支持的OUI地址、OUI地址掩碼和描述信息。
[DeviceA] display voice-vlan mac-address
OUI Address Mask Description
0001-e300-0000 ffff-ff00-0000 Siemens phone
0003-6b00-0000 ffff-ff00-0000 Cisco phone
0004-0d00-0000 ffff-ff00-0000 Avaya phone
000f-e200-0000 ffff-ff00-0000 H3C Aolynk phone
0011-2200-0000 ffff-ff00-0000 test
0060-b900-0000 ffff-ff00-0000 Philips/NEC phone
00d0-1e00-0000 ffff-ff00-0000 Pingtel phone
00e0-7500-0000 ffff-ff00-0000 Polycom phone
00e0-bb00-0000 ffff-ff00-0000 3Com phone
# 顯示當前Voice VLAN的狀態。
[DeviceA] display voice-vlan state
Current voice VLANs: 1
Voice VLAN security mode: Security
Voice VLAN aging time: 1440 minutes
Voice VLAN enabled ports and their modes:
Port VLAN Mode CoS DSCP
WGE1/0/1 2 Manual 6 46
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!