• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

16-VXLAN配置指導

目錄

01-VXLAN配置

本章節下載 01-VXLAN配置  (1.59 MB)

01-VXLAN配置

  錄

1 VXLAN概述

1.1 VXLAN的優點

1.2 VXLAN網絡模型

1.3 VXLAN報文封裝格式

1.4 VXLAN運行機製

1.4.1 運行機製概述

1.4.1 建立VXLAN隧道並將其與VXLAN關聯

1.4.2 識別報文所屬的VXLAN

1.4.3 學習MAC地址

1.4.4 轉發單播流量

1.4.5 轉發泛洪流量

1.4.6 接入模式

1.5 ARP/ND泛洪抑製

1.6 VXLAN IP網關

1.7 VXLAN支持M-LAG

1.8 協議規範

2 配置VXLAN

2.1 VXLAN與硬件適配關係

2.2 VXLAN配置限製和指導

2.3 VXLAN配置任務簡介

2.4 VXLAN配置準備

2.5 創建VSI和VXLAN

2.6 配置VXLAN隧道

2.6.1 手工創建VXLAN隧道

2.7 手工關聯VXLAN與VXLAN隧道

2.8 建立數據幀與VSI的關聯

2.8.1 配置限製和指導

2.8.2 配置手工創建的以太網服務實例與VSI關聯

2.8.3 配置動態創建的以太網服務實例與VSI關聯

2.8.4 配置VLAN與VXLAN關聯

2.9 管理本地和遠端MAC地址

2.9.1 功能簡介

2.9.2 添加靜態MAC地址

2.9.3 關閉遠端MAC地址自動學習功能

2.9.4 開啟本地MAC地址的日誌記錄功能

2.9.5 配置接口的MAC地址軟件學習功能

2.10 配置VXLAN報文的目的UDP端口號

2.11 配置VXLAN報文檢查功能

2.12 配置缺省解封裝VXLAN報文功能

2.13 配置VSI泛洪抑製

2.14 配置ARP泛洪抑製

2.15 配置ND泛洪抑製

2.16 配置VXLAN流量統計

2.16.1 配置VSI的報文統計功能

2.16.2 配置AC的報文統計功能

2.16.3 配置VXLAN隧道的報文統計功能

2.16.4 配置L2VPN流量統計信息收集的時間間隔

2.17 檢測VXLAN隧道的連通性

2.17.1 開啟VXLAN隧道的連通性檢測功能

2.17.2 配置Ping方式檢測VXLAN隧道的連通性

2.17.3 配置Tracert方式檢測VXLAN隧道的連通性

2.18 VXLAN顯示和維護

2.19 VXLAN典型配置舉例

2.19.1 VXLAN頭端複製配置舉例

3 VXLAN IP網關

3.1 VXLAN IP網關簡介

3.1.1 獨立的VXLAN IP網關

3.1.2 集中式VXLAN IP網關

3.1.3 集中式VXLAN IP網關保護組

3.1.4 分布式VXLAN IP網關

3.2 VXLAN IP網關與硬件適配關係

3.3 VXLAN IP網關配置限製和指導

3.4 VXLAN IP網關配置任務簡介

3.5 VXLAN IP網關配置準備

3.6 配置集中式VXLAN IP網關

3.6.1 配置限製和指導

3.6.2 配置集中式網關的網關接口

3.6.3 配置VSI所屬的子網網段

3.7 配置集中式VXLAN IP網關保護組

3.7.1 VXLAN IP網關上的配置

3.7.2 接入層VTEP上的配置

3.8 配置分布式VXLAN IP網關

3.8.1 配置限製和指導

3.8.2 配置分布式網關的網關接口

3.8.3 開啟分布式網關的動態ARP/ND表項同步功能

3.8.4 配置VSI所屬的子網網段

3.9 管理ARP表項/ND表項

3.9.1 靜態配置ARP表項

3.9.2 關閉VXLAN遠端ARP/ND自動學習功能

3.10 配置VSI虛接口

3.10.1 配置VSI虛接口的可選參數

3.10.2 恢複VSI虛接口的缺省配置

3.11 開啟VXLAN支持M-LAG功能

3.12 VXLAN IP網關顯示和維護

3.13 VXLAN IP網關典型配置舉例

3.13.1 集中式VXLAN IP網關配置舉例

3.13.2 集中式VXLAN IP網關保護組配置舉例

3.13.3 分布式VXLAN IP網關配置舉例(IPv4網絡)

3.13.4 分布式VXLAN IP網關配置舉例(IPv6網絡)

3.13.5 IPv4 VXLAN支持M-LAG配置舉例(直連模式peer-link鏈路)

3.13.6 IPv4 VXLAN支持M-LAG配置舉例(隧道模式peer-link鏈路)

4 VXLAN數據中心互聯

4.1 VXLAN數據中心互聯簡介

4.1.1 VXLAN數據中心互聯典型組網

4.1.2 VXLAN數據中心互聯工作機製

4.1.3 相同VXLAN內不同站點的虛擬機通信過程

4.1.4 不同VXLAN間不同站點的虛擬機通信過程

4.2 VXLAN數據中心互聯與硬件適配關係

4.3 VXLAN數據中心互聯配置限製和指導

4.4 VXLAN數據中心互聯配置任務簡介

4.5 創建VXLAN-DCI隧道

4.6 關聯VXLAN與VXLAN-DCI隧道

4.7 配置ED設備的網關接口

4.8 配置手工創建VXLAN-DCI隧道的報文統計功能

4.9 VXLAN數據中心互聯顯示和維護

4.10 VXLAN數據中心互聯典型配置舉例

4.10.1 VXLAN數據中心互聯基本配置舉例

5 OVSDB-VTEP

5.1 OVSDB-VTEP簡介

5.1.1 工作機製

5.1.2 協議規範

5.2 OVSDB-VTEP配置限製和指導

5.3 OVSDB-VTEP配置任務簡介

5.4 OVSDB-VTEP配置準備

5.5 與控製器建立OVSDB連接

5.5.1 OVSDB連接類型

5.5.2 配置限製和指導

5.5.3 配置準備

5.5.4 與控製器建立主動SSL連接

5.5.5 與控製器建立被動SSL連接

5.5.6 與控製器建立主動TCP連接

5.5.7 與控製器建立被動TCP連接

5.6 開啟OVSDB服務器

5.7 開啟OVSDB VTEP服務

5.8 配置VXLAN隧道的全局源地址

5.9 指定用戶側的接入端口

5.10 開啟禁止控製器下發的ACL在VTEP上生效功能

5.11 OVSDB-VTEP典型配置舉例

5.11.1 OVSDB-VTEP頭端複製配置舉例


1 VXLAN概述

VXLAN(Virtual eXtensible LAN,可擴展虛擬局域網絡)是基於IP網絡、采用“MAC in UDP”封裝形式的二層VPN技術。VXLAN可以基於已有的服務提供商或企業IP網絡,為分散的物理站點提供二層互聯,並能夠為不同的租戶提供業務隔離。VXLAN主要應用於數據中心網絡和園區接入網絡。

1.1  VXLAN的優點

VXLAN具有如下優點:

·     支持大量的租戶:使用24位的標識符,最多可支持2的24次方(16777216)個VXLAN,使支持的租戶數目大規模增加,解決了傳統二層網絡VLAN資源不足的問題。

·     易於維護:基於IP網絡組建大二層網絡,使得網絡部署和維護更加容易,並且可以充分地利用現有的IP網絡技術,例如利用等價路由進行負載分擔等;隻有IP核心網絡的邊緣設備需要進行VXLAN處理,網絡中間設備隻需根據IP頭轉發報文,降低了網絡部署的難度和費用。

1.2  VXLAN網絡模型

VXLAN技術將已有的三層物理網絡作為Underlay網絡,在其上構建出虛擬的二層網絡,即Overlay網絡。Overlay網絡通過封裝技術、利用Underlay網絡提供的三層轉發路徑,實現租戶二層報文跨越三層網絡在不同站點間傳遞。對於租戶來說,Underlay網絡是透明的,同一租戶的不同站點就像工作在一個局域網中。

站點網絡和Underlay網絡既可以是IPv4網絡也可以是IPv6網絡。

圖1-1 VXLAN網絡模型示意圖

 

圖1-1所示,VXLAN的典型網絡模型中包括如下幾部分:

·     用戶終端(Terminal):用戶終端設備可以是PC機、無線終端設備、服務器上創建的VM(Virtual Machine,虛擬機)等。不同的用戶終端可以屬於不同的VXLAN。屬於相同VXLAN的用戶終端處於同一個邏輯二層網絡,彼此之間二層互通;屬於不同VXLAN的用戶終端之間二層隔離。VXLAN通過VXLAN ID來標識,VXLAN ID又稱VNI(VXLAN Network Identifier,VXLAN網絡標識符),其長度為24比特。

說明

本文檔中如無特殊說明,均以VM為例介紹VXLAN工作機製。采用其他類型用戶終端時,VXLAN工作機製與VM相同,不再贅述。

 

·     VTEP(VXLAN Tunnel End Point,VXLAN隧道端點):VXLAN的邊緣設備。VXLAN的相關處理都在VTEP上進行,例如識別以太網數據幀所屬的VXLAN、基於VXLAN對數據幀進行二層轉發、封裝/解封裝報文等。

·     VXLAN隧道:兩個VTEP之間的點到點邏輯隧道。VTEP為數據幀封裝VXLAN頭、UDP頭和IP頭後,通過VXLAN隧道將封裝後的報文轉發給遠端VTEP,遠端VTEP對其進行解封裝。

·     核心設備:IP核心網絡中的設備(如圖1-1中的P設備)。核心設備不參與VXLAN處理,僅需要根據封裝後報文的目的IP地址對報文進行三層轉發。

·     VSI(Virtual Switch Instance,虛擬交換實例):VTEP上為一個VXLAN提供二層交換服務的虛擬交換實例。VSI可以看作VTEP上的一台基於VXLAN進行二層轉發的虛擬交換機,它具有傳統以太網交換機的所有功能,包括源MAC地址學習、MAC地址老化、泛洪等。VSI與VXLAN一一對應。

·     AC(Attachment Circuit,接入電路):VTEP連接本地站點的物理電路或虛擬電路。在VTEP上,與VSI關聯的以太網服務實例(service instance)稱為AC。以太網服務實例在二層以太網接口上創建,它定義了一係列匹配規則,用來匹配從該二層以太網接口上接收到的數據幀。

1.3  VXLAN報文封裝格式

圖1-2所示,VXLAN報文的封裝格式為:在原始二層數據幀外添加8字節VXLAN頭、8字節UDP頭和20字節IP頭。其中,UDP頭的目的端口號為VXLAN UDP端口號(缺省為4789)。VXLAN頭主要包括兩部分:

·     標記位:“I”位為1時,表示VXLAN頭中的VXLAN ID有效;為0,表示VXLAN ID無效。其他位保留未用,設置為0。

·     VXLAN ID:用來標識一個VXLAN網絡,長度為24比特。

圖1-2 VXLAN報文封裝示意圖

 

1.4  VXLAN運行機製

1.4.1  運行機製概述

VXLAN運行機製可以概括為:

(1)     發現遠端VTEP,在VTEP之間建立VXLAN隧道,並將VXLAN隧道與VXLAN關聯。

(2)     識別接收到的報文所屬的VXLAN,以便將報文的源MAC地址學習到VXLAN對應的VSI,並在該VSI內轉發該報文。

(3)     學習虛擬機的MAC地址。

(4)     根據學習到的MAC地址表項轉發報文。

1.4.1  建立VXLAN隧道並將其與VXLAN關聯

為了將VXLAN報文傳遞到遠端VTEP,需要創建VXLAN隧道,並將VXLAN隧道與VXLAN關聯。

1. 創建VXLAN隧道

VXLAN隧道的建立方式有如下兩種:

·     手工方式:手工配置Tunnel接口,並指定隧道的源和目的IP地址分別為本端和遠端VTEP的IP地址。

·     自動方式:通過EVPN(Ethernet Virtual Private Network,以太網虛擬專用網絡)發現遠端VTEP後,自動在本端和遠端VTEP之間建立VXLAN隧道。EVPN的詳細介紹請參見“EVPN配置指導”。

2. 關聯VXLAN隧道與VXLAN

VXLAN隧道與VXLAN關聯的方式有如下兩種:

·     手工方式:手工將VXLAN隧道與VXLAN關聯。

·     自動方式:通過EVPN協議自動關聯VXLAN隧道與VXLAN。EVPN的詳細介紹請參見“EVPN配置指導”。

1.4.2  識別報文所屬的VXLAN

1. 本地站點內接收到數據幀的識別

VTEP采用如下幾種方式在數據幀和VXLAN之間建立關聯:

·     將以太網服務實例與VSI關聯:以太網服務實例定義了一係列匹配規則,如匹配指定VLAN的報文、匹配接口接收到的所有報文等。從二層以太網接口上接收到的、與規則匹配的數據幀均屬於指定的VSI/VXLAN。

·     將VLAN與VXLAN關聯:VTEP接收到的該VLAN的數據幀均屬於指定的VXLAN。

VTEP從指定VLAN或以太網服務實例接收到數據幀後,根據關聯方式判斷報文所屬的VXLAN。

圖1-3所示,VM 1屬於VLAN 2,在VTEP上配置以太網服務實例1匹配VLAN 2的報文,將以太網服務實例1與VSI A綁定,並在VSI A內創建VXLAN 10,則VTEP接收到VM 1發送的數據幀後,可以判定該數據幀屬於VXLAN 10。

圖1-3 二層數據幀所屬VXLAN識別

 

2. VXLAN隧道上接收報文的識別

對於從VXLAN隧道上接收到的VXLAN報文,VTEP根據報文中攜帶的VXLAN ID判斷該報文所屬的VXLAN。

1.4.3  學習MAC地址

MAC地址學習分為本地MAC地址學習和遠端MAC地址學習兩部分:

·     本地MAC地址學習

是指VTEP對本地站點內虛擬機MAC地址的學習。本地MAC地址的學習方式有如下幾種:

¡     靜態配置:手工指定本地MAC地址所屬的VSI(VXLAN),及其對應的以太網服務實例(即AC)。

¡     通過報文中的源MAC地址動態學習:VTEP接收到本地虛擬機發送的數據幀後,判斷該數據幀所屬的VSI,並將數據幀中的源MAC地址(本地虛擬機的MAC地址)添加到該VSI的MAC地址表中,該MAC地址對應的接口為接收到數據幀的接口。

·     遠端MAC地址學習

是指VTEP對遠端站點內虛擬機MAC地址的學習。遠端MAC地址的學習方式有如下幾種:

¡     靜態配置:手工指定遠端MAC地址所屬的VSI(VXLAN),及其對應的VXLAN隧道接口。

¡     通過報文中的源MAC地址動態學習:VTEP從VXLAN隧道上接收到遠端VTEP發送的VXLAN報文後,根據VXLAN ID判斷報文所屬的VXLAN,對報文進行解封裝,還原二層數據幀,並將數據幀中的源MAC地址(遠端虛擬機的MAC地址)添加到所屬VXLAN對應VSI的MAC地址表中,該MAC地址對應的接口為VXLAN隧道接口。

¡     通過BGP EVPN學習:在VTEP上運行BGP EVPN,通過BGP EVPN將本地MAC地址及其所屬的VXLAN信息通告給遠端VTEP。遠端VTEP接收到該信息後,在VXLAN對應VSI的MAC地址表中添加MAC地址表項。EVPN的詳細介紹請參見“EVPN配置指導”。

¡     通過OpenFlow下發:OpenFlow控製器以流表的形式向VTEP設備下發遠端MAC地址表項。OpenFlow的詳細介紹請參見“OpenFlow配置指導”。

¡     通過OVSDB下發:控製器通過OVSDB協議向VTEP設備下發遠端MAC地址表項。

通過不同方式學習到的遠端MAC地址優先級由高到低依次為:

a.     靜態配置、OpenFlow下發、OVSDB下發的MAC地址優先級相同,且優先級最高。

b.     通過BGP EVPN學習的MAC地址優先級次之。

c.     動態學習的MAC地址優先級最低。

1.4.4  轉發單播流量

完成本地和遠端MAC地址學習後,VTEP在VXLAN內轉發單播流量的過程如下所述。

1. 站點內流量

對於站點內流量,VTEP判斷出報文所屬的VSI後,根據目的MAC地址查找該VSI的MAC地址表,從相應的本地接口轉發給目的VM。

圖1-4所示,VM 1(MAC地址為MAC 1)發送以太網幀到VM 4(MAC地址為MAC 4)時,VTEP 1從接口Interface A收到該以太網幀後,判斷該數據幀屬於VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 4的出接口為Interface B,所在VLAN為VLAN 10,則將以太網幀從接口Interface B的VLAN 10內發送給VM 4。

圖1-4 站點內單播流量轉發

2. 站點間流量

圖1-5所示,以VM 1(MAC地址為MAC 1)發送以太網幀給VM 7(MAC地址為MAC 7)為例,站點間單播流量的轉發過程為:

(1)     VM 1發送以太網數據幀給VM 7,數據幀的源MAC地址為MAC 1,目的MAC為MAC 7,VLAN ID為2。

(2)     VTEP 1從接口Interface A(所在VLAN為VLAN 2)收到該數據幀後,判斷該數據幀屬於VSI A(VXLAN 10),查找VSI A的MAC地址表,得到MAC 7的出端口為Tunnel1。

(3)     VTEP 1為數據幀封裝VXLAN頭、UDP頭和IP頭後,將封裝好的報文通過VXLAN隧道Tunnel1、經由P設備發送給VTEP 2。

(4)     VTEP 2接收到報文後,根據報文中的VXLAN ID判斷該報文屬於VXLAN 10,並剝離VXLAN頭、UDP頭和IP頭,還原出原始的數據幀。

(5)     VTEP 2查找與VXLAN 10對應的VSI A的MAC地址表,得到MAC 7的出端口為Interface A(所在VLAN為VLAN 20)。

(6)     VTEP 2從接口Interface A的VLAN 20內將數據幀發送給VM 7。

圖1-5 站點間單播流量轉發

1.4.5  轉發泛洪流量

VTEP從本地站點接收到泛洪流量(組播、廣播和未知單播流量)後,將其轉發給除接收接口外的所有本地接口和VXLAN隧道。為了避免環路,VTEP從VXLAN隧道上接收到報文後,不會再將其泛洪到其他的VXLAN隧道,隻會轉發給所有本地接口。

目前設備采用單播路由方式(頭端複製)轉發泛洪流量。

1. 單播路由方式(頭端複製)

圖1-6所示,VTEP負責複製報文,采用單播方式將複製後的報文通過本地接口發送給本地站點,並通過VXLAN隧道發送給VXLAN內的所有遠端VTEP。

圖1-6 單播路由方式轉發示意圖

 

 

1.4.6  接入模式

接入模式分為VLAN接入模式和Ethernet接入模式兩種。

1. VLAN接入模式

在該模式下,從本地站點接收到的和發送給本地站點的以太網幀必須帶有VLAN Tag。

·     VTEP從本地站點接收到以太網幀後,刪除該幀的所有VLAN Tag,再轉發該數據幀;

·     VTEP發送以太網幀到本地站點時,為其添加本地站點的VLAN Tag。

采用該模式時,VTEP不會傳遞VLAN Tag信息,不同站點可以獨立地規劃自己的VLAN,不同站點的不同VLAN之間可以互通。

2. Ethernet接入模式

在該模式下,從本地站點接收到的和發送給本地站點的以太網幀可以攜帶VLAN Tag,也可以不攜帶VLAN Tag。

·     VTEP從本地站點接收到以太網幀後,保持該幀的VLAN Tag信息不變,轉發該數據幀;

·     VTEP發送以太網幀到本地站點時,不會為其添加VLAN Tag。

采用該模式時,VTEP會在不同站點間傳遞VLAN Tag信息,不同站點的VLAN需要統一規劃,否則無法互通。

1.5  ARP/ND泛洪抑製

ARP/ND泛洪抑製功能可以減少ARP/ND泛洪的次數,避免廣播發送的ARP請求或組播發送的ND請求報文占用核心網絡帶寬。

ARP/ND泛洪抑製功能的工作機製為:

(1)     VTEP從本地站點或VXLAN隧道接收到ARP/ND請求和ARP/ND應答報文後,根據該報文在本地建立ARP/ND泛洪抑製表項。

(2)     後續當VTEP收到本站點內虛擬機請求其它虛擬機MAC地址的ARP/ND請求時,如果VTEP上不存在該請求對應的ARP/ND泛洪抑製表項,則丟棄該請求或將ARP/ND請求泛洪到核心網。如果VTEP上存在對應的ARP/ND泛洪抑製表項,則根據ARP/ND泛洪抑製模式處理該請求:

¡     使用設備代答模式時,VTEP不轉發ARP/ND請求報文,而是直接代替目標IP/IPv6對應的設備回應ARP/ND應答報文。此ARP/ND應答報文的發送端IP/IPv6地址為ARP/ND請求報文的目標IP/IPv6地址;ARP應答報文內部的發送端MAC地址和鏈路層的源MAC地址均為ARP泛洪抑製表項中目標IP地址對應的MAC地址,ND應答報文的鏈路層的源MAC地址為ND泛洪抑製表項中目標IPv6地址對應的MAC地址。

¡     使用單播轉發模式時,VTEP將ARP請求報文內部的目標MAC地址和鏈路層的目的MAC地址均修改為泛洪抑製表項中與目標IP地址對應的MAC地址,將ND請求報文的鏈路層的目的MAC地址修改為泛洪抑製表項中與目標IPv6地址對應的MAC地址,然後單播轉發ARP/ND請求報文。

設備代答模式占用的係統資源較少。單播轉發模式雖然占用更多的係統資源,但是可以減少由於泛洪抑製表項未及時更新造成的ARP/ND表項學習錯誤。

為了避免報文被錯誤的丟棄,在ARP/ND泛洪抑製表項建立之前,建議不要丟棄無對應的泛洪抑製表項的ARP/ND請求。

圖1-7 ARP泛洪抑製示意圖

 

圖1-7所示,以ARP的設備代答模式、泛洪無對應泛洪抑製表項的ARP/ND請求為例,泛洪抑製的處理過程如下:

(3)     虛擬機VM 1發送ARP請求,獲取VM 7的MAC地址。

(4)     VTEP 1根據接收到的ARP請求,建立VM 1的ARP泛洪抑製表項,並在VXLAN內泛洪該ARP請求(圖1-7以單播路由泛洪方式為例)。

(5)     遠端VTEP(VTEP 2和VTEP 3)解封裝VXLAN報文,獲取原始的ARP請求報文後,建立VM 1的ARP泛洪抑製表項,並在本地站點的指定VXLAN內泛洪該ARP請求。

(6)     VM 7接收到ARP請求後,回複ARP應答報文。

(7)     VTEP 2接收到ARP應答後,建立VM 7的ARP泛洪抑製表項,並通過VXLAN隧道將ARP應答發送給VTEP 1。

(8)     VTEP 1解封裝VXLAN報文,獲取原始的ARP應答,並根據該應答建立VM 7的ARP泛洪抑製表項,之後將ARP應答報文發送給VM 1。

(9)     在VTEP 1上建立ARP泛洪抑製表項後,虛擬機VM 4發送ARP請求,獲取VM 1或VM 7的MAC地址。

(10)     VTEP 1接收到ARP請求後,建立VM 4的ARP泛洪抑製表項,並查找本地ARP泛洪抑製表項,根據已有的表項回複ARP應答報文,不會對ARP請求進行泛洪。

(11)     在VTEP 3上建立ARP泛洪抑製表項後,虛擬機VM 10發送ARP請求,獲取VM 1的MAC地址。

(12)     VTEP 3接收到ARP請求後,建立VM 10的ARP泛洪抑製表項,並查找本地ARP泛洪抑製表項,根據已有的表項回複ARP應答報文,不會對ARP請求進行泛洪。

1.6  VXLAN IP網關

VXLAN可以為分散的物理站點提供二層互聯。如果要為VXLAN站點內的虛擬機提供三層業務,則需要在網絡中部署VXLAN IP網關,以便站點內的虛擬機通過VXLAN IP網關與外界網絡或其他VXLAN網絡內的虛擬機進行三層通信。

VXLAN IP網關的詳細介紹,請參見“3 VXLAN IP網關”。

1.7  VXLAN支持M-LAG

說明

目前,本功能僅支持IPv4站點網絡和IPv4網絡作為Underlay網絡。

VXLAN利用M-LAG功能(Multichassis link aggregation,跨設備鏈路聚合)將兩台物理設備連接起來虛擬成一台設備,使用該虛擬設備作為VTEP(既可以是僅用於二層轉發的VTEP,也可以是VXLAN IP網關),可以避免VTEP單點故障對網絡造成影響,從而提高VXLAN網絡的可靠性。M-LAG的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“M-LAG”。

圖1-8 VXLAN支持M-LAG組網圖

 

圖1-8所示,VXLAN支持M-LAG功能的工作機製包括:

·     同步MAC地址和ARP信息

作為M-LAG設備的兩台VTEP通過peer-link鏈路連接,在peer-link鏈路上同步MAC地址和ARP信息,以確保兩台VTEP上的MAC地址和ARP信息保持一致。peer-link鏈路連接既可以是以太網聚合鏈路,也可以是VXLAN隧道。作為peer-link鏈路的以太網聚合鏈路稱為直連模式peer-link鏈路,作為peer-link鏈路的VXLAN隧道稱為隧道模式peer-link鏈路。

說明

作為peer-link鏈路的VXLAN隧道自動與設備上的所有VXLAN關聯。

 

·     使用相同的隧道源IP地址

跨設備鏈路聚合的兩台VTEP使用相同的隧道源IP地址,與其他VTEP設備建立VXLAN隧道。

·     備份雙掛AC的用戶側鏈路

在用戶側,兩台VTEP均通過以太網鏈路接入同一台虛擬機,跨設備在兩條鏈路間建立二層聚合接口,將該聚合接口配置為AC(在聚合接口上創建以太網服務實例、配置報文匹配規則並關聯以太網服務實例與VSI),則該AC稱為雙掛AC。VXLAN M-LAG組網中采用雙掛AC,來避免單條以太網鏈路故障導致虛擬機無法訪問網絡。

¡     采用直連模式peer-link鏈路時,用戶側鏈路備份機製為:將二層聚合接口配置為AC後,VTEP會在peer-link鏈路上自動創建具有相同報文匹配規則、關聯相同VSI的AC。當一台VTEP上的AC故障後,從VXLAN隧道上接收到的、發送給該AC的報文將通過peer-link鏈路轉發到另一台VTEP,該VTEP根據peer-link鏈路上配置的AC判斷報文所屬VSI,並轉發該報文,從而保證轉發不中斷。

¡     采用隧道模式peer-link鏈路時,用戶側鏈路備份機製為:如果一台VTEP上的AC故障,則該VTEP從VXLAN隧道上接收到發送給故障AC的報文後,為報文添加VXLAN封裝,封裝的VXLAN ID為故障AC所屬VSI對應的VXLAN ID,並通過作為peer-link鏈路的VXLAN隧道將其轉發到另一台VTEP。該VTEP根據VXLAN ID判斷報文所屬的VSI,並轉發該報文。

·     單掛AC互通

在VXLAN M-LAG組網中,組成M-LAG係統的兩台VTEP上AC配置可能不一致,若某個AC僅連接到其中一台VTEP,則該AC稱為單掛AC。組成M-LAG係統的兩台VTEP下不同單掛AC的互通通過peer-link鏈路來實現。

¡     采用直連模式peer-link鏈路時,單掛AC互通機製為:將接口配置為單掛AC後,VTEP會在peer-link鏈路上自動創建具有相同報文匹配規則、關聯相同VSI的AC。當從單掛AC上收到報文後,將通過peer-link鏈路轉發到另一台VTEP,該VTEP根據peer-link鏈路上配置的AC判斷報文所屬VSI,並轉發該報文。

¡     采用隧道模式peer-link鏈路時,單掛AC互通機製為:當從單掛AC上收到報文後,為報文添加VXLAN封裝,封裝的VXLAN ID為單掛AC所屬VSI對應的VXLAN ID,並通過作為peer-link鏈路的VXLAN隧道將其轉發到另一台VTEP。該VTEP根據VXLAN ID判斷報文所屬的VSI,並轉發該報文。

1.8  協議規範

與VXLAN相關的協議規範有:

·     RFC 7348:Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks

 


2 配置VXLAN

2.1  VXLAN與硬件適配關係

僅以下端口支持VXLAN功能:

·     LSCM2係列SC主控板的業務端口

·     LSCM2SRP6C4Y06A0主控板的業務端口

·     SF係列接口板的所有端口

·     SD係列接口板的所有端口

2.2  VXLAN配置限製和指導

VXLAN功能受設備的工作模式限製,僅專家模式支持VXLAN功能。有關設備工作模式的詳細介紹,請參見“基礎配置指導”中的“設備管理”。

將端口加入隔離組後,該端口下的AC之間也會隔離二層流量。有關端口隔離組的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“端口隔離”。

同一端口不能同時支持作為VXLAN隧道的源接口以及創建以太網服務實例,如果同時配置了這兩者,則隻有作為VXLAN隧道的源接口生效。

2.3  VXLAN配置任務簡介

VXLAN組網中,需要在VTEP上進行如下配置:

(1)     創建VSI和VXLAN

(2)     配置VXLAN隧道

(3)     手工關聯VXLAN與VXLAN隧道

(4)     建立數據幀與VSI的關聯

(5)     (可選)管理本地和遠端MAC地址

¡     添加靜態MAC地址

¡     關閉遠端MAC地址自動學習功能

¡     開啟本地MAC地址的日誌記錄功能

¡     配置接口的MAC地址軟件學習功能

(6)     (可選)配置VXLAN報文相關功能

¡     配置VXLAN報文的目的UDP端口號

¡     配置VXLAN報文檢查功能

¡     配置缺省解封裝VXLAN報文功能

(7)     (可選)減少發送到核心網的泛洪流量

¡     配置VSI泛洪抑製

¡     配置ARP泛洪抑製

¡     配置ND泛洪抑製

(8)     維護VXLAN網絡

¡     配置VXLAN流量統計

¡     檢測VXLAN隧道的連通性

2.4  VXLAN配置準備

在VXLAN組網中,IP核心網絡中的設備上需要配置路由協議,確保VTEP之間路由可達。

2.5  創建VSI和VXLAN

1. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟L2VPN功能。

l2vpn enable

缺省情況下,L2VPN功能處於關閉狀態。

(3)     創建VSI,並進入VSI視圖。

vsi vsi-name

(4)     開啟VSI。

undo shutdown

缺省情況下,VSI處於開啟狀態。

(5)     創建VXLAN,並進入VXLAN視圖。

vxlan vxlan-id

在一個VSI下隻能創建一個VXLAN。

不同VSI下創建的VXLAN,其VXLAN ID不能相同。

(6)     (可選)配置VSI相關參數。

a.     退回VSI視圖。

quit

b.     配置VSI的描述信息。

description text

缺省情況下,未配置VSI的描述信息。

c.     配置VSI的MTU值。

mtu size

缺省情況下,VSI的MTU值為1500字節。

d.     開啟VSI的MAC地址學習功能。

mac-learning enable

缺省情況下,VSI的MAC地址學習功能處於開啟狀態。

2.6  配置VXLAN隧道

2.6.1  手工創建VXLAN隧道

1. 功能簡介

手工創建VXLAN隧道時,隧道的源端地址和目的端地址需要分別手工指定為本地和遠端VTEP的接口地址。

2. 配置限製和指導

在同一台設備上,VXLAN隧道模式的不同Tunnel接口建議不要同時配置完全相同的源端地址和目的端地址。

如果設備上配置了通過EVPN自動建立並關聯VXLAN隧道,則隧道目的地址相同的EVPN自動創建隧道和手工創建隧道不能關聯同一個VXLAN。EVPN的詳細介紹請參見“EVPN配置指導”。

關於隧道的詳細介紹及Tunnel接口下的更多配置命令,請參見“三層技術-IP業務配置指導”中的“隧道”。

VXLAN隧道的公網出接口不能是設備上三層以太網子接口或者配置了子接口的三層以太網主接口,否則可能導致VXLAN報文無法轉發。

如果VXLAN隧道的出接口或AC所在接口為聚合接口,且負載分擔方式為按內層報文的源/目的MAC地址進行聚合負載分擔,則這樣的VXLAN隧道和AC在轉發VXLAN報文時,無法為VXLAN報文實現負載分擔。

VXLAN隧道的兩端地址間存在負載分擔路徑時,VXLAN隧道隻能對已知單播流量進行負載分擔轉發,無法對廣播、組播和未知單播流量進行負載分擔轉發。

如果一個目的地址在FIB中的下一跳為標簽轉發路徑入口,則設備不支持將該目的地址作為VXLAN隧道的目的端地址。

VXLAN隧道接口下不支持配置tunnel tostunnel ttl以及tunnel dfbit enable命令。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     (可選)配置VXLAN隧道的全局源地址。

tunnel global source-address { ipv4-address | ipv6 ipv6-address }

缺省情況下,未配置VXLAN隧道的全局源地址。

如果隧道下未配置源地址或源接口,則隧道會使用全局源地址作為隧道的源地址。

(3)     創建模式為VXLAN隧道的Tunnel接口,並進入Tunnel接口視圖。

interface tunnel tunnel-number mode vxlan [ ipv6 ]

在隧道的兩端應配置相同的隧道模式,否則會造成報文傳輸失敗。

(4)     配置隧道的源端地址。請選擇其中一項進行配置。

¡     直接指定隧道的源端地址。

source { ipv4-address | ipv6-address }

指定的地址將作為封裝後VXLAN報文的源IP地址。

¡     指定隧道的源接口。

source interface-type interface-number

采用指定接口的IP地址作為封裝後VXLAN報文的源IP地址。

缺省情況下,未設置VXLAN隧道的源端地址。

采用OVSDB對VTEP設備進行部署和控製時,不能執行本配置。

(5)     配置隧道的目的端地址。

destination { ipv4-address | ipv6-address }

缺省情況下,未指定隧道的目的端地址。

隧道的目的端地址是對端設備上接口的IP地址,該地址將作為封裝後VXLAN報文的目的地址。

2.7  手工關聯VXLAN與VXLAN隧道

1. 功能簡介

一個VXLAN可以關聯多條VXLAN隧道。一條VXLAN隧道可以關聯多個VXLAN,這些VXLAN共用該VXLAN隧道,VTEP根據VXLAN報文中的VXLAN ID來識別隧道傳遞的報文所屬的VXLAN。VTEP接收到某個VXLAN的泛洪流量後,如果采用單播路由泛洪方式,則VTEP將在與該VXLAN關聯的所有VXLAN隧道上發送該流量,以便將流量轉發給所有的遠端VTEP。

2. 配置限製和指導

VTEP必須與相同VXLAN內的其它VTEP建立VXLAN隧道,並將該隧道與VXLAN關聯。

在IRF環境中,VXLAN隧道的目的端地址存在多個屬於不同chassis的出接口且形成負載分擔時,設備通過VXLAN隧道發送的流量優先選擇與接收流量的接口屬於同一chassis的隧道出接口。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     進入VXLAN視圖。

vxlan vxlan-id

(4)     配置VXLAN與VXLAN隧道關聯。

tunnel { tunnel-number [ backup-tunnel tunnel-number ] | all }

缺省情況下,VXLAN未關聯VXLAN隧道。

參數

說明

backup-tunnel tunnel-number

本參數指定的隧道作為備用VXLAN隧道,為主用VXLAN隧道提供保護。當主用VXLAN隧道down時,VXLAN將啟用備用VXLAN隧道

 

2.8  建立數據幀與VSI的關聯

2.8.1  配置限製和指導

開啟VLAN關聯VXLAN功能後,不能再手工或動態創建以太網服務實例,如需創建以太網服務實例,請先執行undo vxlan vlan-based命令關閉VLAN關聯VXLAN功能後再創建;反之,手工或動態創建以太網服務實例後,不能再開啟VLAN關聯VXLAN功能,如需開啟該功能,請先刪除所有的以太網服務實例後再開啟。

2.8.2  配置手工創建的以太網服務實例與VSI關聯

1. 功能簡介

手工創建以太網服務實例,並將以太網服務實例與VSI關聯後,從該接口接收到的、符合以太網服務實例報文匹配規則的報文,將通過查找關聯VSI的MAC地址表進行轉發。

2. 配置限製和指導

請不要在同一個二層以太網接口/二層聚合接口上,同時配置QinQ功能以及以太網服務實例與VSI關聯。否則,將導致QinQ功能無法生效。

請不要在同一個二層以太網接口上,同時配置Voice VLAN功能以及以太網服務實例與VSI關聯。否則,可能導致設備的MAC地址表項學習錯誤。

請不要在同一個二層以太網接口/二層聚合接口上,同時配置VLAN映射功能以及以太網服務實例與VSI關聯。否則,可能導致這些功能無法生效。

同一接口下,請不要同時配置僅匹配外層VLAN標簽(s-vid)的以太網服務實例和僅匹配內層VLAN標簽(c-vid)的以太網服務實例。否則,兩種類型的以太網服務實例會產生衝突,後創建的那一類以太網服務實例無法生效。

以太網服務實例的匹配規則為encapsulation tagged時,請使用Ethernet接入模式將該以太網服務實例與VSI關聯。

同一接口下不同以太網服務實例,不能配置匹配相同外層VLAN tag不同內層VLAN tag的報文匹配規則。

配置以太網服務實例的報文匹配規則時需要注意的事項請參見“VXLAN命令參考”中的“VXLAN”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     手工創建以太網服務實例,並進入以太網服務實例視圖。

service-instance instance-id

(4)     配置以太網服務實例的報文匹配規則。請選擇其中一項進行配置。

¡     匹配報文的內層VLAN tag。

encapsulation c-vid vlan-id

¡     匹配報文的外層VLAN tag。

encapsulation s-vid vlan-id [ only-tagged ]

¡     同時匹配報文的外層和內層VLAN tag。

encapsulation s-vid vlan-id c-vid { vlan-id | all }

¡     匹配不攜帶VLAN tag的所有報文。

encapsulation untagged

缺省情況下,未配置報文匹配規則。

(5)     將以太網服務實例與VSI關聯。

xconnect vsi vsi-name [ access-mode { ethernet | vlan } | microsegment microsegment-id | on-demand ] * [ track track-entry-number&<1-3> ]

缺省情況下,以太網服務實例未關聯VSI。

2.8.3  配置動態創建的以太網服務實例與VSI關聯

1. 功能簡介

802.1X或MAC地址認證為用戶下發授權VSI、Guest VSI、Auth-Fail VSI或Critical VSI後,將用戶信息(接入端口、所屬VLAN、MAC地址等)及VSI信息通知給VXLAN。VXLAN根據用戶信息動態創建以太網服務實例,並將其與VSI關聯。802.1X和MAC地址認證的詳細介紹,請參見“安全配置指導”中的“802.1X”和“MAC地址認證”。

動態創建的以太網服務實例可以通過以下匹配方式判斷接口接收到的報文是否屬於該AC:

·     VLAN方式:檢查報文攜帶的VLAN ID是否與以太網服務實例匹配的VLAN ID相同。隻有二者相同,報文才屬於該AC。

·     MAC地址方式:檢查報文攜帶的VLAN ID、源MAC地址是否分別與以太網服務實例匹配的VLAN ID、MAC地址相同。隻有VLAN ID、源MAC地址均相同時,報文才屬於該AC。

缺省情況下,動態創建的以太網服務實例采用VLAN匹配方式。如果需要采用MAC地址方式,那麼必須采用MAC地址認證或基於MAC接入控製的802.1X認證,並開啟動態創建的以太網服務實例匹配MAC地址功能。

2. 配置限製和指導

二層聚合接口的成員端口上無法動態創建以太網服務實例。

mac-based ac命令對Hybrid端口上的兩類報文不生效:

·     以Untagged方式通過的VLAN報文

·     匹配Hybrid端口PVID的報文

有關Hybrid端口的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN”。

動態創建的以太網服務實例匹配MAC地址功能與以太網服務實例同時匹配報文的內(c-vid)外層(s-vid)VLAN tag功能互斥,請不要在一個端口下同時配置。

3. 配置VLAN方式

采用VLAN方式時,僅需完成802.1X或MAC地址認證相關配置,並在接入認證設備上配置Guest VSI、Auth-Fail VSI、Critical VSI,或在遠程AAA服務器上配置為認證成功用戶下發授權VSI。完成上述配置後,接入認證設備上會自動地創建以太網服務實例,並將其與Guest VSI、Auth-Fail VSI、Critical VSI或授權VSI關聯。

802.1X或MAC地址認證的配置方法,請參見“安全配置指導”中的“802.1X”和“MAC地址認證”。

4. 配置MAC地址方式

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     開啟動態創建的以太網服務實例匹配MAC地址功能。

mac-based ac

缺省情況下,動態創建的以太網服務實例匹配MAC地址功能處於關閉狀態,即動態創建的以太網服務實例隻匹配VLAN。

本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。

(4)     配置MAC接入控製的802.1X認證或MAC地址認證。

完成802.1X或MAC地址認證相關配置,並在接入認證設備上配置Guest VSI、Auth-Fail VSI、Critical VSI,或在遠程AAA服務器上配置為認證成功用戶下發授權VSI。

完成上述配置後,接入認證設備上會自動地創建以太網服務實例,並將其與Guest VSI、Auth-Fail VSI、Critical VSI或授權VSI關聯。

802.1X或MAC地址認證的配置方法,請參見“安全配置指導”中的“802.1X”和“MAC地址認證”。

2.8.4  配置VLAN與VXLAN關聯

1. 功能簡介

開啟VLAN關聯VXLAN功能,並在VLAN視圖下配置與該VLAN關聯的VXLAN後,如果存在屬於該VLAN的接口,則自動在該接口上創建編號為當前VLAN ID、匹配外層VLAN tag為當前VLAN ID的以太網服務實例,並將該以太網服務實例與指定VXLAN對應的VSI關聯,從而確保屬於該VLAN的數據幀均通過指定的VSI轉發。

2. 配置限製和指導

EVPN M-LAG組網中,不能配置本功能。EVPN的詳細介紹,請參見“EVPN配置指導”。

將VLAN與VXLAN關聯後,該VLAN內將不能進行普通的二層轉發,該VLAN對應的VLAN接口也不能進行三層轉發。

與VXLAN關聯的VLAN數目、允許這些VLAN通過的Trunk類型的端口數目較多時,AC創建和刪除過程可能會耗費一定的時間,VXLAN、EVPN等相關操作需要等待AC創建、刪除完成後才會響應。

3. 配置準備

本配置中指定的與VLAN關聯的VXLAN需要通過vxlan命令創建。

4. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟VLAN關聯VXLAN功能。

vxlan vlan-based

缺省情況下,VLAN關聯VXLAN功能處於關閉狀態。

(3)     進入VLAN視圖。

vlan vlan-id

本配置中指定的VLAN不能為VLAN 1。

(4)     配置VLAN與指定的VXLAN關聯。

vxlan vni vxlan-id

缺省情況下,未指定與VLAN關聯的VXLAN。

本配置中指定的VXLAN ID不能為EVPN組網中的L3VNI。

2.9  管理本地和遠端MAC地址

2.9.1  功能簡介

本地MAC地址可以通過報文中的源MAC地址動態學習。在動態添加、刪除本地MAC地址時,可以記錄日誌信息。

遠端MAC地址表項的產生方法包括靜態添加、根據接收到的VXLAN報文內封裝的源MAC地址自動學習等。

2.9.2  添加靜態MAC地址

1. 配置限製和指導

請不要為EVPN動態創建的隧道配置靜態遠端MAC地址表項,避免出現如下問題:

·     如果公網側接口down,設備將刪除已創建的隧道,同時刪除為該隧道配置的靜態遠端MAC地址表項,公網側接口重新up後會自動重新建立隧道,但是無法恢複靜態遠端MAC地址表項;

·     如果執行了配置回滾操作,設備會重新創建隧道,新創建的隧道編號可能發生變化,造成配置回滾失敗。

有關EVPN的介紹請參見“EVPN配置指導”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     添加靜態遠端MAC地址表項。

mac-address static mac-address interface tunnel tunnel-number vsi vsi-name

interface tunnel interface-number參數指定的隧道接口必須與vsi vsi-name參數指定的VSI對應的VXLAN關聯,否則配置將失敗。

2.9.3  關閉遠端MAC地址自動學習功能

1. 功能簡介

如果網絡中存在攻擊,為了避免學習到錯誤的遠端MAC地址,可以手工關閉遠端MAC地址自動學習功能,手動添加靜態的遠端MAC地址。

2. 配置限製和指導

本功能僅對手工創建的VXLAN隧道生效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     關閉遠端MAC地址自動學習功能。

vxlan tunnel mac-learning disable

缺省情況下,遠端MAC地址自動學習功能處於開啟狀態。

2.9.4  開啟本地MAC地址的日誌記錄功能

1. 功能簡介

開啟本地MAC地址的日誌記錄功能後,VXLAN會立即根據已經學習到的本地MAC地址表項生成日誌信息,之後在增加或刪除本地MAC地址時也將產生日誌信息。生成的日誌信息將被發送到設備的信息中心,通過設置信息中心的參數,決定日誌信息的輸出規則(即是否允許輸出以及輸出方向)。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟本地MAC地址的日誌記錄功能。

vxlan local-mac report

缺省情況下,本地MAC地址的日誌記錄功能處於關閉狀態。

2.9.5  配置接口的MAC地址軟件學習功能

1. 功能簡介

本功能適用於SDN(Software Defined Network,軟件定義網絡)組網。

在SDN組網中,設備將接口學習到的MAC地址上傳給控製器,控製器把收到的MAC地址下發給其它遠端設備,以減少不必要的廣播流量。

接口的MAC地址學習方式包括:

·     硬件學習:接口通過硬件學習MAC地址。軟件周期性地檢查硬件是否學習到新的MAC地址,把學到的地址上傳控製器處理。硬件學習方式下需等待軟件檢查周期的到來,控製器獲取MAC地址的速度較慢。

·     軟件學習:接口通過軟件學習MAC地址。軟件把學到的MAC地址下發給硬件,同時上傳控製器處理。軟件學習方式下不需等待軟件檢查周期的到來,控製器獲取MAC地址的速度較快。

2. 配置限製和指導

開啟接口的MAC地址軟件學習功能後,大量的MAC地址學習可能對係統造成衝擊,不建議用戶在大量MAC地址頻繁變化的情況下開啟本功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     開啟接口的MAC地址軟件學習功能。

l2vpn mac-address software-learning enable

缺省情況下,接口的MAC地址軟件學習功能處於關閉狀態,設備采用硬件方式學習MAC地址。

(4)     (可選)配置接口的MAC地址數學習上限。

mac-address max-mac-count count

缺省情況下,未配置接口的MAC地址數學習上限。

有關本命令的詳細介紹請參見“二層技術-以太網交換命令參考”中的“MAC地址表”。

2.10  配置VXLAN報文的目的UDP端口號

(1)     進入係統視圖。

system-view

(2)     配置VXLAN報文的目的UDP端口號。

vxlan udp-port port-number

缺省情況下,VXLAN報文的目的UDP端口號為4789。

屬於同一個VXLAN的VTEP設備上需要配置相同的UDP端口號。

2.11  配置VXLAN報文檢查功能

1. 功能簡介

通過本配置可以實現對接收到的VXLAN報文的UDP校驗和、內層封裝的以太網數據幀是否攜帶VLAN Tag進行檢查:

·     VLAN Tag檢查:VTEP接收到VXLAN報文並對其解封裝後,若內層以太網數據幀帶有VLAN Tag,則丟棄該VXLAN報文。

2. 配置限製和指導

遠端VTEP上通過xconnect vsi命令的access-mode參數配置接入模式為ethernet時,VXLAN報文可能攜帶VLAN Tag。這種情況下建議不要在本端VTEP上執行vxlan invalid-vlan-tag discard命令,以免錯誤地丟棄報文。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置丟棄內層數據幀含有VLAN Tag的VXLAN報文。

vxlan invalid-vlan-tag discard

缺省情況下,不會檢查VXLAN報文內層封裝的以太網數據幀是否攜帶VLAN Tag。

2.12  配置缺省解封裝VXLAN報文功能

1. 功能簡介

在建立單向IPv4/IPv6 VXLAN隧道的組網(即對端建立了指向本端的VXLAN隧道,但本端未建立指向對端的VXLAN隧道)中,本端從對端接收到VXLAN報文後,會因為無法解封裝而丟棄該報文。配置本功能後,如果本端接收到的VXLAN報文的目的地址為BGP鄰居地址、虛擬VTEP/ED地址(evpn m-lag group)、M-LAG係統的本地地址(evpn m-lag local)或指定源接口的IPv4/IPv6地址,則本端會解封裝該報文,不會丟棄。可以通過如下兩種方式配置本功能:

·     vxlan default-decapsulation source方式:本端接收到的VXLAN報文的目的地址為指定源接口的IPv4/IPv6地址,本端會解封裝該報文,不會丟棄。

·     vxlan default-decapsulation enable方式:本端接收到的VXLAN報文的目的地址為BGP鄰居地址、虛擬VTEP/ED地址(evpn m-lag group)或M-LAG係統的本地地址(evpn m-lag local),本端都會解封裝該報文,不會丟棄。

2. 配置限製和指導

·     隻有指定的接口上配置了IPv4/IPv6地址,本功能才生效。

如果在建立單向IPv4/IPv6 VXLAN隧道的組網中配置本功能後,又建立了以指定源接口下配置的IPv4/IPv6地址為源地址的、指向對端的IPv4/IPv6 VXLAN隧道,則本功能失效。

3. 開啟缺省解封裝指定IPv4 VXLAN報文功能

(1)     進入係統視圖。

system-view

(2)     配置缺省解封裝IPv4 VXLAN報文功能,請至少選擇其中的一項進行配置。

¡     開啟缺省解封裝IPv4 VXLAN報文功能。

vxlan default-decapsulation enable

缺省情況下,缺省解封裝IPv4 VXLAN報文功能處於關閉狀態。

¡     開啟缺省解封裝指定IPv4 VXLAN報文功能。

vxlan default-decapsulation source interface interface-type interface-number

缺省情況下,缺省解封裝指定IPv4 VXLAN報文功能處於關閉狀態。

4. 開啟缺省解封裝指定IPv6 VXLAN報文功能

(1)     進入係統視圖。

system-view

(2)     配置缺省解封裝IPv4 VXLAN報文功能,請至少選擇其中的一項進行配置。

¡     開啟缺省解封裝IPv6 VXLAN報文功能。

vxlan ipv6 default-decapsulation enable

缺省情況下,缺省解封裝IPv6 VXLAN報文功能處於關閉狀態。

¡     開啟缺省解封裝指定IPv6 VXLAN報文功能。

vxlan ipv6 default-decapsulation source interface interface-type interface-number

缺省情況下,缺省解封裝指定IPv6 VXLAN報文功能處於關閉狀態。

2.13  配置VSI泛洪抑製

1. 功能簡介

缺省情況下,VTEP從本地站點內接收到目的MAC地址為廣播、未知單播和未知組播的數據幀後,會在該VXLAN內除接收接口外的所有本地接口和VXLAN隧道上泛洪該數據幀,將該數據幀發送給VXLAN內的所有站點;VTEP從VXLAN隧道接收到目的MAC地址為廣播、未知單播和未知組播的數據幀後,會在該VXLAN內的所有本地接口上泛洪該數據幀。通過本配置可以手工禁止某類數據幀在VXLAN內泛洪,以減少網絡中的泛洪流量。

禁止通過VXLAN隧道向遠端站點泛洪後,為了將某些單播或組播MAC地址的數據幀泛洪到遠端站點以保證某些業務的流量在站點間互通,可以配置選擇性泛洪的MAC地址,當數據幀的目的MAC地址匹配該MAC地址時,該數據幀可以泛洪到遠端站點。

2. 配置限製和指導

請不要將三層接口的MAC地址配置為選擇性泛洪的MAC地址,否則可能導致選擇性泛洪功能不可用。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     關閉VSI的泛洪功能。

flooding disable { all | { broadcast | unknown-multicast | unknown-unicast } * } [ all-direction ]

缺省情況下,VSI泛洪功能處於開啟狀態。

broadcastunknown-multicastunknown-unicast參數必須同時指定。

(4)     (可選)配置VSI選擇性泛洪的MAC地址。

selective-flooding mac-address mac-address

2.14  配置ARP泛洪抑製

1. 配置限製和指導

如果同時執行flooding disable命令關閉了VSI的泛洪功能,則建議通過mac-address timer命令配置動態MAC地址的老化時間大於25分鍾(ARP泛洪抑製表項的老化時間),以免MAC地址在ARP泛洪抑製表項老化之前老化,產生黑洞MAC地址。

如果配置了vxlan tunnel arp-learning disable命令,則設備從VXLAN隧道上接收到ARP請求報文後,不會采用匹配的ARP泛洪抑製表項對其進行應答。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     (可選)配置ARP泛洪抑製模式。

arp suppression mode { proxy-reply | unicast-forward } [ mismatch-discard ]

缺省情況下,開啟ARP泛洪抑製功能後,ARP泛洪抑製模式為設備代答模式。當ARP請求報文的目標IP地址不是本端設備的IP地址,且不能匹配本端設備的ARP泛洪抑製表項時,廣播轉發ARP請求報文。

(4)     開啟ARP泛洪抑製功能。

arp suppression enable [ no-broadcast ]

缺省情況下,ARP泛洪抑製功能處於關閉狀態。

2.15  配置ND泛洪抑製

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     (可選)配置ND泛洪抑製模式。

ipv6 nd suppression mode { proxy-reply | unicast-forward } [ mismatch-discard ]

缺省情況下,開啟ND泛洪抑製功能後,ND泛洪抑製模式為設備代答模式。當NS報文的目標IPv6地址不是本端設備的IPv6地址,且不能匹配本端設備的ND泛洪抑製表項時,廣播轉發NS報文。

(4)     開啟ND泛洪抑製功能。

ipv6 nd suppression enable [ no-broadcast ]

缺省情況下,ND泛洪抑製功能處於關閉狀態。

2.16  配置VXLAN流量統計

2.16.1  配置VSI的報文統計功能

1. 功能簡介

本配置用來開啟VSI的報文統計功能,用戶可以使用display l2vpn vsi verbose命令查看VSI的報文統計信息,使用reset l2vpn statistics vsi命令清除VSI的報文統計信息。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VXLAN所在VSI視圖。

vsi vsi-name

(3)     開啟VSI的報文統計功能。

statistics enable

缺省情況下,VSI的報文統計功能處於關閉狀態。

2.16.2  配置AC的報文統計功能

1. 配置限製和指導

隻有為以太網服務實例配置了報文匹配方式並綁定了VSI實例,以太網服務實例的報文統計功能才會生效。如果在報文統計過程中修改報文匹配方式或綁定的VSI實例,則報文統計重新開始。

2. 配置以太網服務實例的報文統計功能

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     進入以太網服務實例視圖。

service-instance instance-id

(4)     開啟以太網服務實例的報文統計功能。

statistics enable

缺省情況下,以太網服務實例的報文統計功能處於關閉狀態。

3. 配置VLAN下對應AC的報文統計功能

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     開啟VLAN下對應AC的報文統計功能。

ac statistics enable

缺省情況下,VLAN下對應AC的報文統計功能處於關閉狀態。

本功能用來對VLAN與VXLAN關聯方式下自動生成的AC進行報文統計。開啟本功能前,必須先執行vxlan vlan-based命令開啟VLAN關聯VXLAN功能。

2.16.3  配置VXLAN隧道的報文統計功能

1. 功能簡介

VXLAN隧道既可以手工創建,也可以通過EVPN等協議自動創建。手工創建VXLAN隧道的報文統計功能需要在Tunnel接口下開啟;自動創建VXLAN隧道的報文統計功能在係統視圖下全局開啟。開啟VXLAN隧道的報文統計功能後,可以通過display interface tunnel命令查看統計信息,通過reset counters interface tunnel命令清除VXLAN隧道的統計信息。

2. 開啟手工創建VXLAN隧道的報文統計功能

(1)     進入係統視圖。

system-view

(2)     進入模式為VXLAN隧道的Tunnel接口視圖。

interface tunnel tunnel-number [ mode vxlan [ ipv6 ] ]

(3)     開啟手工創建VXLAN隧道的報文統計功能。

statistics enable

缺省情況下,手工創建VXLAN隧道的報文統計功能處於關閉狀態。

3. 開啟自動VXLAN隧道的報文統計功能

(1)     進入係統視圖。

system-view

(2)     開啟自動VXLAN隧道的報文統計功能。

tunnel statistics vxlan auto [ destination ipv4-address ]

缺省情況下,自動VXLAN隧道的報文統計功能處於關閉狀態。

目前,自動VXLAN隧道包括EVPN自動創建的VXLAN隧道和OVSDB VTEP自動創建的VXLAN隧道。EVPN的詳細介紹請參見“EVPN配置指導”;OVSDB的詳細介紹請參見“5 OVSDB-VTEP”。

 

2.16.4  配置L2VPN流量統計信息收集的時間間隔

1. 功能簡介

通過本功能配置的流量統計信息收集時間間隔對VSI的報文統計、AC的報文統計和VXLAN隧道的報文統計功能均生效。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     設置L2VPN統計信息收集的時間間隔。

l2vpn statistics interval interval

缺省情況下,L2VPN統計信息收集的時間間隔為15分鍾。

2.17  檢測VXLAN隧道的連通性

2.17.1  開啟VXLAN隧道的連通性檢測功能

1. 功能簡介

在隧道源節點上檢測VXLAN隧道的連通性前,需要在VXLAN隧道的尾節點上執行本配置,否則隧道尾節點無法正常識別檢測報文,導致檢測失敗。

2. 配置限製和指導

如果隧道源節點執行ping vxlan/tracert vxlan命令時指定-r reply-mode參數為3,則還需要在隧道源節點上執行本命令。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟VXLAN隧道的連通性檢測功能。

overlay oam enable

缺省情況下,VXLAN隧道的連通性檢測功能處於關閉狀態。

2.17.2  配置Ping方式檢測VXLAN隧道的連通性

1. 功能簡介

在VXLAN組網中,VTEP之間通過VXLAN隧道傳輸數據報文。當VTEP間出現丟包或斷流現象時,可以通過本功能檢測VTEP設備間VXLAN隧道的連通性。具體檢測過程為:

(1)     本端VTEP設備通過tunnel-source source-address tunnel-destination dest-address指定的VXLAN隧道向遠端VTEP發送VXLAN Echo Request報文,該報文采用VXLAN封裝。

(2)     遠端VTEP設備收到VXLAN Echo Request報文後,回複VXLAN Echo Reply報文。

(3)     本端設備根據是否收到VXLAN Echo Reply報文、收到VXLAN Echo Reply報文的信息,判斷該VXLAN隧道的連通性,並輸出相應的統計信息。

2. 配置限製和指導

VTEP基於VXLAN Echo Request報文的源UDP端口號進行負載分擔。當兩個VTEP之間的VXLAN隧道對應多條路徑時,為了保證檢測結果的準確性,可以通過配置負載分擔參數實現對多條路徑的遍曆檢測。可以通過如下兩種方式指定VXLAN Echo Request報文的源UDP端口號:

·     直接指定源UDP端口號的起始值和結束值,使設備發出的VXLAN Echo Request報文中的UDP端口號從起始值開始,依次+1,直到遞增到結束值。

·     通過指定不同的MAC地址、IP地址以及協議類型參數動態計算VXLAN的源UDP號。

配置本功能時,指定負載分擔參數僅改變VXLAN Echo Request報文的源UDP端口號並不會改變設備發送的VXLAN Echo Request報文的其他信息。

指定vxlan-source-udpport vxlan-source-udpport [ end-vxlan-src-udpport ]參數後,每個源UDP端口號對應VXLAN Echo Request報文的發送數目由-c count參數決定。

通過本功能檢測VXLAN隧道的連通性時,需要在VXLAN隧道的對端VTEP上配置overlay oam enable命令。

3. 配置步驟

可在任意視圖下執行本命令,檢測VXLAN隧道的連通性。

ping vxlan [ -a inner-src-address | -c count | -m interval | -r reply-mode | -t timeout | -tos tos-value ] * vxlan-id vxlan-id tunnel-source source-address tunnel-destination dest-address [ destination-udpport dest-port ] [ vxlan-source-address vxlan-source-address ] [ load-balance { vxlan-source-udpport vxlan-source-udpport [ end-vxlan-src-udpport ] | source-address lb-src-address destination-address lb-dest-address protocol { udp | lb-protocol-id } source-port lb-src-port destination-port lb-dest-port source-mac lb-source-mac destination-mac lb-destination-mac } ]

2.17.3  配置Tracert方式檢測VXLAN隧道的連通性

1. 功能簡介

在VXLAN中,VTEP之間通過VXLAN隧道傳輸數據報文。當VTEP間出現丟包或斷流現象時,可以通過本功能查看VXLAN隧道所經過的路徑,並根據應答信息對錯誤點進行定位。具體檢測過程為:

(1)     本端VTEP設備通過tunnel-source source-address tunnel-destination dest-address指定的VXLAN隧道向遠端VTEP發送VXLAN Echo Request報文,該報文采用VXLAN封裝且IPv4報文頭部的TTL字段取值設置為1。

(2)     下一個節點收到報文後,TTL字段的值變成0,會向首節點(即本端VTEP)發送ICMP的TTL超時報文。

(3)     本端VTEP收到ICMP報文後,將TTL字段的取值加1(此時設置為2)繼續發送VXLAN Echo Request報文。

(4)     下遊節點收到報文後,依次將TTL減1,直到TTL為0,該節點會向首節點發送ICMP報文;若為目的節點則向首節點發送VXLAN Echo Reply報文。

(5)     本端VTEP依次重複上述過程,直至TTL達到最大值或收到遠端VTEP發送的應答報文。

(6)     本端VTEP設備根據是否收到應答報文、收到應答報文的信息,判斷該VXLAN隧道的連通性,並輸出相應的統計信息。

2. 配置限製和指導

VTEP基於VXLAN Echo Request報文的源UDP端口號進行負載分擔。當兩個VTEP之間的VXLAN隧道對應多條路徑時,為了保證檢測結果的準確性,可以通過配置負載分擔參數實現對多條路徑的遍曆。可以通過如下兩種方式指定VXLAN Echo Request報文的源UDP端口號:

·     直接指定源UDP端口號的起始值和結束值,使設備發出的VXLAN Echo Request報文中的UDP端口號從起始值開始,依次+1,直到遞增到結束值。

·     通過指定不同的MAC地址、IP地址以及協議類型參數動態計算VXLAN的源UDP號。

配置本功能時,指定負載分擔參數僅改變VXLAN Echo Request報文的源UDP端口號並不會改變設備發送的VXLAN Echo Request報文的其他信息。

通過本命令檢測VXLAN隧道的連通性時,需要在VXLAN隧道的對端VTEP上配置overlay oam enable命令。

3. 配置步驟

可在任意視圖下執行本命令,檢測VXLAN隧道的連通性。

tracert vxlan [ -a inner-src-address | -h ttl-value | -r reply-mode | -t timeout ] * vxlan-id vxlan-id  tunnel-source source-address tunnel-destination dest-address [ destination-udpport dest-port ] [ vxlan-source-address vxlan-source-address ] [ load-balance { vxlan-source-udpport vxlan-source-udpport | source-address lb-src-address destination-address lb-dest-address protocol { udp | lb-protocol-id } source-port lb-src-port destination-port lb-dest-port source-mac lb-source-mac destination-mac lb-destination-mac } ]

2.18  VXLAN顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後VXLAN的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下,用戶可以執行reset命令來清除VXLAN的相關信息。

表2-1 VXLAN顯示和維護

操作

命令

顯示VSI的ARP泛洪抑製表項信息

(獨立運行模式)

display arp suppression vsi [ name vsi-name ] [ slot slot-number ] [ count ]

(IRF模式)

display arp suppression vsi [ name vsi-name ] [ chassis chassis-number slot slot-number ] [ count ]

顯示Tunnel接口信息

display interface [ tunnel [ number ] ] [ brief [ description | down ] ]

顯示VXLAN隧道接口的信息

display vxlan tunnel-interface [ tunnel number [ verbose ] ]

顯示VXLAN隧道終結的IP地址信息

display vxlan tunnel termination

顯示VSI的ND泛洪抑製表項信息

(獨立運行模式)

display ipv6 nd suppression vsi [ name vsi-name ] [ slot slot-number ] [ count ]

(IRF模式)

display ipv6 nd suppression vsi [ name vsi-name ] [ chassis chassis-number slot slot-number ] [ count ]

顯示VSI的MAC地址表信息

display l2vpn mac-address [ vsi vsi-name ] [ dynamic ] [ count | verbose ]

顯示設備啟動後所有VSI內的MAC地址遷移記錄

(獨立運行模式)

display l2vpn mac-address mac-move [ slot slot-number ]

(IRF模式)

display l2vpn mac-address mac-move [ chassis chassis-number slot slot-number ]

顯示以太網服務實例的信息

display l2vpn service-instance [ interface interface-type interface-number [ service-instance instance-id ] ] [ verbose ]

顯示VSI的信息

display l2vpn vsi [ name vsi-name ] [ verbose ]

顯示VXLAN關聯的VXLAN隧道信息

display vxlan tunnel [ vxlan-id vxlan-id [ tunnel tunnel-number ] ]

清除VSI的ARP泛洪抑製表項

reset arp suppression vsi [ name vsi-name ]

清除VSI的ND泛洪抑製表項

reset ipv6 nd suppression vsi [ name vsi-name ]

清除VSI動態學習的MAC地址表項

reset l2vpn mac-address [ vsi vsi-name ]

清除設備啟動後所有VSI內的MAC地址遷移記錄

reset l2vpn mac-address mac-move

清除AC的報文統計信息

reset l2vpn statistics ac [ interface interface-type interface-number service-instance instance-id  ]

清除VSI的報文統計信息

reset l2vpn statistics vsi [ name vsi-name ]

 

說明

display interface tunnel命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“隧道”。

 

2.19  VXLAN典型配置舉例

2.19.1  VXLAN頭端複製配置舉例

1. 組網需求

Switch A、Switch B、Switch C為與服務器連接的VTEP設備。虛擬機VM 1、VM 2和VM 3同屬於VXLAN 10。通過VXLAN實現不同站點間的二層互聯,確保虛擬機在站點之間進行遷移時用戶的訪問流量不會中斷。

具體需求為:

·     不同VTEP之間手工建立VXLAN隧道。

·     手工關聯VXLAN和VXLAN隧道。

·     通過源MAC地址動態學習遠端MAC地址表項。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

2. 組網圖

圖2-1 VXLAN頭端複製組網圖

 

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址和單播路由協議

配置各接口的IP地址和子網掩碼,並在IP核心網絡內配置OSPF協議,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3與VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchB] interface ten-gigabitethernet 3/0/1

[SwitchB-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchB-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchB-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchB-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchB-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchB-Ten-GigabitEthernet3/0/1] quit

(5)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3與VXLAN 10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/1

[SwitchC-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchC-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet3/0/1] quit

4. 驗證配置

(1)     驗證VTEP設備(下文以Switch A為例,其它設備驗證方法與此類似)

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchA] display interface tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的以太網服務實例等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

    AC                               Link ID    State    Type

    XGE3/0/1 srv1000                 0          Up       Manual

# 查看Switch A上VSI的MAC地址表項信息,可以看到已學習到的MAC地址信息。

<SwitchA> display l2vpn mac-address

* - The output interface is issued to another VSI

MAC Address    State     VSI Name                        Link ID/Name   Aging

cc3e-5f9c-6cdb Dynamic   vpna                            Tunnel1        Aging

cc3e-5f9c-23dc Dynamic   vpna                            Tunnel2        Aging

--- 2 mac address(es) found  ---

(2)     驗證主機

虛擬機VM 1、VM 2、VM 3之間可以互訪。


3 VXLAN IP網關

3.1  VXLAN IP網關簡介

VXLAN可以為分散的物理站點提供二層互聯。如果要為VXLAN站點內的虛擬機提供三層業務,則需要在網絡中部署VXLAN IP網關,以便站點內的虛擬機通過VXLAN IP網關與外界網絡或其他VXLAN網絡內的虛擬機進行三層通信。VXLAN IP網關既可以部署在獨立的物理設備上,也可以部署在VTEP設備上。VXLAN IP網關部署在VTEP設備上時,又分為集中式VXLAN IP網關和分布式VXLAN IP網關兩種方式。

說明

本節僅以IPv4網絡為例說明VXLAN IP網關的流量轉發過程,IPv6網絡中的流量轉發過程與此類似。

3.1.1  獨立的VXLAN IP網關

圖3-1所示,VXLAN IP網關部署在獨立的物理設備上時,VXLAN IP網關作為物理站點接入VTEP,VXLAN業務對於網關設備透明。虛擬機通過VXLAN IP網關與三層網絡中的節點通信時,虛擬機將三層報文封裝成二層數據幀發送給VXLAN IP網關。VTEP對該數據幀進行VXLAN封裝,並在IP核心網絡上將其轉發給遠端VTEP(連接VXLAN IP網關的VTEP)。遠端VTEP對VXLAN報文進行解封裝,並將原始的二層數據幀轉發給VXLAN IP網關。VXLAN IP網關去掉鏈路層封裝後,對報文進行三層轉發。

圖3-1 獨立的VXLAN IP網關示意圖

 

3.1.2  集中式VXLAN IP網關

圖3-2所示,集中式VXLAN IP網關進行二層VXLAN業務終結的同時,還對內層封裝的IP報文進行三層轉發處理。與獨立的VXLAN IP網關相比,該方式除了能夠節省設備資源外,VXLAN IP網關功能由VXLAN對應的三層虛接口(VSI虛接口)承擔,三層業務的部署和控製也更加靈活和方便。

圖3-2 集中式VXLAN IP網關示意圖

 

圖3-3所示,以地址為10.1.1.11的虛擬機為例,虛擬機與外界網絡進行三層通信的過程為:

(1)     虛擬機(10.1.1.11)跨網段進行三層通信時,先廣播發送ARP請求消息,解析VXLAN IP網關(10.1.1.1)的MAC地址。

(2)     VTEP 1收到ARP請求消息後,添加VXLAN封裝並發送給所有的遠端VTEP。

(3)     VTEP 3解封裝VXLAN報文後,發現ARP請求的目的IP為VXLAN對應的本地網關IP地址,即與VXLAN關聯的VSI虛接口的IP地址,則學習10.1.1.11的ARP信息,並向虛擬機回應ARP應答消息。

(4)     VTEP 1收到ARP應答消息後,將該消息轉發給虛擬機。

(5)     虛擬機獲取到網關的MAC地址後,為三層報文添加網關的MAC地址,通過VXLAN網絡將二層數據幀發送給VTEP 3。

(6)     VTEP 3解封裝VXLAN報文,並去掉鏈路層頭後,對內層封裝的IP報文進行三層轉發,將其發送給最終的目的節點。

(7)     目的節點回複的報文到達網關後,網關根據已經學習到的ARP表項,為報文封裝鏈路層頭,並通過VXLAN網絡將其發送給虛擬機。

圖3-3 集中式VXLAN IP網關的三層通信過程

 

屬於不同VXLAN網絡的虛擬機之間的通信過程與上述過程類似,不同之處在於一個VXLAN網絡的集中式網關需要將報文轉發給另一個VXLAN網絡的集中式網關,再由該集中式網關將報文轉發給本VXLAN內對應的虛擬機。

3.1.3  集中式VXLAN IP網關保護組

由單台設備承擔站點內大量虛擬機的集中式VXLAN IP網關功能,對設備的處理資源占用較高,並且對於網關的單點故障沒有保護措施。通過集中式VXLAN IP網關保護組,可以實現多台設備同時承擔網關功能,在提供單點故障保護機製的同時,還可以實現上下行流量的負載分擔。

圖3-4 集中式VXLAN IP網關保護組示意圖

 

圖3-4所示,兩台集中式VXLAN IP網關形成保護組,兩台設備上存在相同的VTEP IP,稱為保護組的VTEP IP。接入層VTEP與保護組的VTEP IP建立VXLAN隧道,將虛擬機發送至其它網絡的報文轉發至保護組,保護組中的兩台網關設備均可以接收並處理虛擬機發往其它網絡的流量。

在接入層VTEP上,該VTEP會與保護組中每個成員VTEP的自身IP地址自動建立VXLAN隧道,泛洪流量(組播、廣播和未知單播)通過該隧道轉發給所有的成員VTEP,以確保成員VTEP上的表項信息一致。

3.1.4  分布式VXLAN IP網關

1. 簡介

采用集中式VXLAN IP網關方案時,不同VXLAN之間的流量以及VXLAN訪問外界網絡的流量全部由集中式VXLAN IP網關處理,網關壓力較大,並加劇了網絡帶寬資源的消耗。如圖3-5所示,在分布式VXLAN IP網關方案中,每台VTEP設備都可以作為VXLAN IP網關,對本地站點的流量進行三層轉發,很好地緩解了網關的壓力。

圖3-5 分布式VXLAN IP網關示意圖

 

圖3-6所示,在分布式VXLAN IP網關組網中,所有的分布式VXLAN IP網關(GW)上都需要創建VSI虛接口,並為不同GW上的相同VSI虛接口配置相同的IP地址,作為VXLAN內虛擬機的網關地址。邊界網關(Border)上也需要創建VSI虛接口,並配置IP地址。在分布式VXLAN IP網關上還需要開啟以下功能中的一種:

·     ARP/ND泛洪抑製功能:開啟本功能後,二層流量查找MAC地址表進行轉發,三層流量查找ARP/ND表項進行轉發。

·     本地代理ARP功能或本地ND代理功能:開啟本功能後,所有流量都通過查找ARP表項或ND表項進行三層轉發。下文均以此功能為例,介紹分布式VXLAN IP網關中的通信過程。

網關可以通過多種方式生成ARP表項和ND表項,下文以根據ARP協議和ND協議動態學習表項來介紹分布式VXLAN IP網關中的通信過程。

圖3-6 分布式VXLAN IP網關部署示意圖

 

2. 相同VXLAN內不同站點的虛擬機通信過程

圖3-6所示,以VM 1訪問VM 4為例,相同VXLAN內不同站點的虛擬機的通信過程為:

(1)     VM 1廣播發送ARP請求消息,獲取VM 4的MAC地址。

(2)     GW 1收到ARP請求消息後,學習VM 1的ARP信息,並代理應答該ARP請求,即:向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。

(3)     VM 1學習到VM 4的MAC地址為GW 1上VSI虛接口10的MAC地址。

(4)     GW 1將接收到的ARP請求消息中的源MAC地址修改為VSI虛接口10的MAC地址,在VXLAN 10內向本地站點和遠端站點廣播發送該ARP請求。

(5)     GW 2對VXLAN報文進行解封裝後,學習VM 1的ARP信息(IP為10.1.1.11、MAC為GW 1上VSI虛接口10的MAC、出接口為接收該VXLAN報文的Tunnel接口),並將ARP請求消息中的源MAC修改為本地VSI虛接口10的MAC地址,在VXLAN 10的本地站點內進行廣播。

(6)     VM 4收到ARP請求後,學習VM 1的ARP信息(IP為10.1.1.11、MAC為GW 2上VSI虛接口10的MAC),並發送ARP應答消息給本地網關GW 2。

(7)     GW 2從VM 4收到ARP應答消息後,學習VM 4的ARP信息,將ARP應答消息中的源MAC修改為本地VSI虛接口10的MAC地址,並根據已經學習到的ARP表項,為ARP應答消息添加VXLAN封裝後發送給GW 1。

(8)     GW 1對VXLAN報文進行解封裝後,根據收到的ARP應答消息學習VM 4的ARP信息(IP為10.1.1.12、MAC為GW 2上VSI虛接口10的MAC、出接口為接收該VXLAN報文的Tunnel接口)。

(9)     通過上述步驟完成ARP信息的學習後,VM 1發送給VM 4的報文,根據已經學習到的ARP信息進行轉發:首先發送給GW 1;GW 1對其進行VXLAN封裝後,將其發送給GW 2;GW 2解封裝後,將其發送給VM 4。

3. 不同VXLAN間不同站點的虛擬機通信過程

圖3-7 不同VXLAN間不同站點的虛擬機通信過程示意圖

 

圖3-7所示,以VM 1(VXLAN 10)訪問VM 5(VXLAN 20)為例,不同VXLAN的虛擬機的通信過程為:

(1)     VM 1廣播發送ARP請求消息,獲取網關10.1.1.1的MAC地址。

(2)     GW 1收到ARP請求消息後,學習VM 1的ARP信息,並向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。這樣,VM 1會將訪問VM 5的報文發送給GW 1。

(3)     GW 1在VXLAN 10內向本地站點和遠端站點廣播發送ARP請求。ARP請求消息中的源IP地址為10.1.1.11、源MAC地址為本地VSI虛接口10的MAC地址。

(4)     GW 2從VXLAN隧道上接收到VXLAN報文,對其進行解封裝後,學習VM 1的ARP信息(IP為10.1.1.11、MAC為GW 1上VSI虛接口10的MAC、出接口為接收該VXLAN報文的Tunnel接口),並將ARP請求消息中的源MAC修改為本地VSI虛接口10的MAC地址,在VXLAN 10的本地站點內廣播該ARP請求消息。GW 2發送ARP應答消息(IP為10.1.1.1、MAC為GW 2上VSI虛接口10的MAC)給GW 1。

(5)     GW 1在VXLAN 10內發送ARP請求的同時,也會在VXLAN 20內向本地站點和遠端站點廣播發送ARP請求,獲取VM 5的MAC地址。ARP請求消息中的源IP地址為20.1.1.1、源MAC地址為本地VSI虛接口20的MAC地址。

(6)     GW 2從VXLAN 20內收到ARP請求後,將ARP請求消息中的源MAC修改為本地VSI虛接口20的MAC地址,在VXLAN 20的本地站點內廣播該ARP請求消息。

(7)     VM 5收到ARP請求後,學習GW 2的ARP信息(IP為20.1.1.1、MAC為GW 2上VSI虛接口20的MAC),並發送ARP應答消息給本地網關GW 2。

(8)     GW 2從VM 5收到ARP應答消息後,學習VM 5的ARP信息,並向本地站點和遠端站點發送免費ARP。免費ARP消息中的源IP地址為20.1.1.12、源MAC地址為本地VSI虛接口20的MAC地址。GW 1從VXLAN隧道上接收到VXLAN報文,對其進行解封裝後,根據收到的免費ARP消息學習VM 5的ARP信息(IP為20.1.1.12、MAC為GW 2上VSI虛接口20的MAC、出接口為接收該VXLAN報文的Tunnel接口)。

(9)     通過上述步驟完成ARP信息的學習後,VM 1發送給VM 5的報文,根據已經學習到的ARP信息進行轉發:首先發送給GW 1;GW 1對其進行VXLAN封裝後,將其發送給GW 2;GW 2解封裝後,將其發送給VM 5。

4. 虛擬機與外部網絡的三層通信過程

虛擬機要想與外部網絡進行三層通信,需要在接入虛擬機的本地分布式VXLAN IP網關上指定流量的下一跳為Border,可以通過如下方式來實現:

·     在本地分布式VXLAN IP網關上配置靜態路由,指定路由下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。

·     在本地分布式VXLAN IP網關上配置策略路由,設置報文的下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。

圖3-6所示,以VM 1訪問外部網絡內的主機50.1.1.1為例,虛擬機訪問外部網絡的三層通信過程為:

(1)     VM 1廣播發送ARP請求消息,獲取網關10.1.1.1的MAC地址。

(2)     GW 1收到ARP請求消息後,學習VM 1的ARP信息,並向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。

(3)     VM 1將訪問外部網絡的報文發送給GW 1。

(4)     GW 1接收到報文後,根據策略路由判斷報文的下一跳地址為10.1.1.2。GW 1在VXLAN 10內向本地站點和遠端站點廣播發送ARP請求消息,獲取10.1.1.2對應的MAC地址。

(5)     Border對VXLAN報文進行解封裝,學習GW 1的ARP信息,並通過VXLAN隧道回複ARP應答消息。

(6)     GW 1對VXLAN報文進行解封裝,並獲取到10.1.1.2的ARP信息。

(7)     GW 1根據獲取到的信息為VM 1發送的報文封裝鏈路層地址(10.1.1.2對應的MAC地址),並通過VXLAN隧道將報文發送給Border。

(8)     Border對接收到的報文進行解封裝後,對報文進行三層轉發。

3.2  VXLAN IP網關與硬件適配關係

僅SF係列接口板、LSCM2係列SC主控板、SD係列接口板以及LSCM2SRP6C4Y06A0主控板支持VXLAN IP網關功能。

3.3  VXLAN IP網關配置限製和指導

建議不要在同一台設備上同時配置集中式VXLAN IP網關和集中式VXLAN IP網關保護組功能。

VXLAN功能受設備的工作模式限製,僅專家模式支持VXLAN功能。有關設備工作模式的詳細介紹,請參見“基礎配置指導”中的“設備管理”。

3.4  VXLAN IP網關配置任務簡介

VXLAN IP網關配置任務如下:

(1)     配置VXLAN IP網關

請根據實際組網,選擇以下一項任務進行配置:

¡     配置集中式VXLAN IP網關

¡     配置集中式VXLAN IP網關保護組

¡     配置分布式VXLAN IP網關

(2)     (可選)管理ARP表項/ND表項

(3)     (可選)配置VSI虛接口

(4)     (可選)開啟VXLAN支持M-LAG功能

3.5  VXLAN IP網關配置準備

配置集中式VXLAN IP網關和分布式VXLAN IP網關設備前,需要完成以下配置任務:

·     創建VSI和VXLAN。

·     配置VXLAN隧道,並將VXLAN與VXLAN隧道關聯。

3.6  配置集中式VXLAN IP網關

3.6.1  配置限製和指導

在集中式VXLAN IP網關組網中,請不要執行local-proxy-arp enable命令開啟本地代理ARP功能。

3.6.2  配置集中式網關的網關接口

(1)     進入係統視圖。

system-view

(2)     創建VSI虛接口,並進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     配置VSI虛接口的IP地址。

(IPv4網絡)

ip address ipv4-address { mask | mask-length }

(IPv6網絡)

IPv6地址的配置方法,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。

缺省情況下,未配置VSI虛接口的IP地址。

(4)     退回係統視圖。

quit

(5)     進入VXLAN所在VSI視圖。

vsi vsi-name

(6)     為VSI指定網關接口。

gateway vsi-interface vsi-interface-id

缺省情況下,未指定VSI的網關接口。

3.6.3  配置VSI所屬的子網網段

1. 功能簡介

為了節省分布式VXLAN IP網關設備上的三層接口資源,在網關設備上多個VXLAN可以共用一個VSI虛接口,為VSI虛接口配置一個主IPv4地址和多個從IPv4地址,分別作為不同VXLAN內虛擬機的網關地址。

多個VXLAN共用一個VSI虛接口時,網關設備無法判斷從VSI虛接口接收到的報文屬於哪個VXLAN。為了解決該問題,需要在VSI視圖下通過本命令指定VSI所屬的子網網段,通過子網網段判斷報文所屬的VSI,並在該VSI內轉發報文,從而限製廣播報文範圍,有效地節省帶寬資源。

2. 配置限製和指導

通過本功能指定VSI所屬的子網網段後,不會限製學習到該VSI的ARP/ND表項所屬的網段,該VSI可能會學習到共用同一個VSI虛接口的其他VSI所屬子網網段的ARP/ND表項。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VXLAN所在VSI視圖。

vsi vsi-name

(3)     配置當前VSI所屬的子網網段。

gateway subnet { ipv4-address wildcard-mask | ipv6-address prefix-length }

缺省情況下,未指定VSI所屬的子網網段。

3.7  配置集中式VXLAN IP網關保護組

3.7.1  VXLAN IP網關上的配置

1. 配置限製和指導

保護組中所有網關上的VXLAN配置需要保證完全一致。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建VSI虛接口,並進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     配置VSI虛接口的IP地址。

(IPv4網絡)

ip address ipv4-address { mask | mask-length }

(IPv6網絡)

IPv6地址的配置方法,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。

缺省情況下,未配置VSI虛接口的IP地址。

請在保護組中的每台網關上配置相同的VSI虛接口IP地址。

(4)     配置VSI虛接口的MAC地址。

mac-address mac-address

缺省情況下,VSI虛接口的MAC地址為設備上VLAN接口4094的MAC地址。

保護組中所有網關上配置的MAC地址必須相同。

(5)     退回係統視圖。

quit

(6)     進入VXLAN所在VSI視圖。

vsi vsi-name

(7)     為VSI指定網關接口。

gateway vsi-interface vsi-interface-id

缺省情況下,未指定VSI的網關接口。

(8)     退回係統視圖。

quit

(9)     將本設備加入VXLAN IP網關保護組,並配置本設備的成員地址。

vtep group group-ip member local member-ip

缺省情況下,設備未加入VXLAN IP網關保護組。

member-ip為本設備的成員地址,該地址必須是設備上已經存在的IP地址,並且需要通過路由協議發布到IP網絡。同一個保護組中不同成員VTEP的地址不能相同。

(10)     配置VXLAN IP網關保護組的成員地址列表。

vtep group group-ip member remote member-ip&<1-8>

缺省情況下,未配置VXLAN IP網關保護組的成員地址列表。

執行本命令時,必須輸入保護組中所有其它成員的成員地址。

3.7.2  接入層VTEP上的配置

1. 配置準備

執行本配置時,需要完成以下配置任務:

·     創建VSI和VXLAN。

·     配置VXLAN隧道,並將VXLAN與VXLAN隧道關聯。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置VXLAN IP網關保護組的成員地址列表。

vtep group group-ip member remote member-ip&<1-8>

缺省情況下,未配置VXLAN IP網關保護組的成員地址列表。

執行本命令時,必須輸入保護組中所有成員的成員地址。

3.8  配置分布式VXLAN IP網關

3.8.1  配置限製和指導

如果虛擬機要想與外部網絡進行三層通信,除本配置外,還需要在接入虛擬機的本地分布式VXLAN IP網關上配置靜態路由或策略路由:

·     配置靜態路由:指定路由的下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。

·     配置策略路由:通過apply default-next-hop命令設置報文的缺省下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。策略路由的配置方法,請參見“三層技術-IP路由配置指導”中的“策略路由”。

在分布式VXLAN IP網關設備上,如果開啟了ARP/ND泛洪抑製功能,並在VSI虛接口上開啟了本地代理ARP/ND功能,則隻有ARP/ND泛洪抑製功能生效。請在分布式VXLAN IP網關設備上選擇一種進行配置,建議不要在分布式VXLAN IP網關設備上同時開啟這兩個功能。有關ARP/ND泛洪抑製功能的詳細介紹請參見“2.14  配置ARP泛洪抑製”和“2.15  配置ND泛洪抑製”。

分布式VXLAN IP網關連接IPv4站點網絡時,所有網關上都需要為相同VSI虛接口配置相同的MAC地址。如果網關同時連接IPv4站點網絡和IPv6站點網絡,則不同分布式VXLAN IP網關上需要為相同VSI虛接口配置不同的鏈路本地地址。

3.8.2  配置分布式網關的網關接口

(1)     進入係統視圖。

system-view

(2)     創建VSI虛接口,並進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     配置VSI虛接口的IP地址。

(IPv4網絡)

ip address ip-address { mask | mask-length } [ sub ]

(IPv6網絡)

IPv6地址的配置方法,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。

缺省情況下,未配置VSI虛接口的IP地址。

(4)     配置VSI虛接口為分布式網關接口。

distributed-gateway local

缺省情況下,VSI虛接口不是分布式本地網關接口。

(5)     開啟本地代理ARP或本地ND代理功能。

(IPv4網絡)

local-proxy-arp enable [ ip-range startIP to endIP ]

缺省情況下,本地代理ARP功能處於關閉狀態。

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“代理ARP”。

(IPv6網絡)

local-proxy-nd enable

缺省情況下,本地ND代理功能處於關閉狀態。

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。

(6)     開啟VSI虛接口。

undo shutdown

缺省情況下,VSI虛接口處於開啟狀態。

(7)     退回係統視圖。

quit

(8)     進入VXLAN所在VSI視圖。

vsi vsi-name

(9)     為VSI指定網關接口。

gateway vsi-interface vsi-interface-id

缺省情況下,未指定VSI的網關接口。

3.8.3  開啟分布式網關的動態ARP/ND表項同步功能

1. 功能簡介

分布式VXLAN IP網關上開啟本地代理ARP/ND功能時,本地網關不會將目標IP地址為分布式網關VSI虛接口的ARP/ND報文轉發給其他網關,隻有本地網關能夠學習到ARP/ND報文發送者的ARP/ND表項。如果希望所有網關都能學習到該ARP/ND表項,需要開啟分布式網關的動態ARP/ND表項同步功能。分布式VXLAN IP網關之間也可以通過控製器或EVPN等在彼此之間同步ARP/ND表項,此時無需開啟該功能。

2. 開啟分布式網關的動態ARP表項同步功能

(1)     進入係統視圖。

system-view

(2)     開啟分布式網關的動態ARP表項同步功能。

arp distributed-gateway dynamic-entry synchronize

缺省情況下,分布式網關的動態ARP表項同步功能處於關閉狀態。

3. 開啟分布式網關的動態ND表項同步功能

(1)     進入係統視圖。

system-view

(2)     開啟分布式網關的動態ND表項同步功能。

ipv6 nd distributed-gateway dynamic-entry synchronize

缺省情況下,分布式網關的動態ND表項同步功能處於關閉狀態。

3.8.4  配置VSI所屬的子網網段

1. 功能簡介

為了節省分布式VXLAN IP網關設備上的三層接口資源,在網關設備上多個VXLAN可以共用一個VSI虛接口,為VSI虛接口配置一個主IPv4地址和多個從IPv4地址、或多個IPv6地址,分別作為不同VXLAN內虛擬機的網關地址。

多個VXLAN共用一個VSI虛接口時,網關設備無法判斷從VSI虛接口接收到的報文屬於哪個VXLAN。為了解決該問題,需要在VSI視圖下通過本命令指定VSI所屬的子網網段,通過子網網段判斷報文所屬的VSI,並在該VSI內轉發報文,從而限製廣播報文範圍,有效地節省帶寬資源。

2. 配置限製和指導

通過本功能指定VSI所屬的子網網段後,不會限製學習到該VSI的ARP/ND表項所屬的網段,該VSI可能會學習到共用同一個VSI虛接口的其他VSI所屬子網網段的ARP/ND表項。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VXLAN所在VSI視圖。

vsi vsi-name

(3)     配置當前VSI所屬的子網網段。

gateway subnet { ipv4-address wildcard-mask | ipv6-address prefix-length }

缺省情況下,未指定VSI所屬的子網網段。

3.9  管理ARP表項/ND表項

3.9.1  靜態配置ARP表項

1. 功能簡介

VXLAN IP網關既可以動態學習ARP表項,也可以通過本配置靜態創建ARP表項。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     靜態配置本地ARP表項。

arp static ip-address mac-address vsi-interface vsi-interface-id interface-type interface-number service-instance instance-id vsi vsi-name [ vpn-instance vpn-instance-name ]

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“ARP”。

(3)     靜態配置遠端ARP表項。

arp static ip-address mac-address vsi-interface vsi-interface-id tunnel number vsi vsi-name [ vpn-instance vpn-instance-name ]

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“ARP”。

3.9.2  關閉VXLAN遠端ARP/ND自動學習功能

1. 功能簡介

缺省情況下,設備從VXLAN隧道接收到報文後可以自動學習遠端虛擬機的ARP/ND信息,即遠端ARP/ND信息。在SDN控製器組網下,當控製器和設備間進行表項同步時,可以通過本配置暫時關閉遠端ARP/ND自動學習功能,以節省占用的設備資源。同步完成後,再開啟遠端ARP/ND自動學習功能。

2. 配置限製和指導

本功能僅對手工創建的VXLAN隧道生效。

建議用戶隻在控製器和設備間同步表項的情況下執行本配置。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     關閉遠端ARP自動學習功能。

vxlan tunnel arp-learning disable

缺省情況下,遠端ARP自動學習功能處於開啟狀態。

(3)     關閉遠端ND自動學習功能。

vxlan tunnel nd-learning disable

缺省情況下,遠端ND自動學習功能處於開啟狀態。

3.10  配置VSI虛接口

3.10.1  配置VSI虛接口的可選參數

(1)     進入係統視圖。

system-view

(2)     進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     配置VSI虛接口的MAC地址。

mac-address mac-address

缺省情況下,VSI虛接口的MAC地址為設備上VLAN接口4094的MAC地址。

請不要將本命令的MAC地址配置為選擇性泛洪的MAC地址,否則可能導致選擇性泛洪功能不可用。

(4)     配置接口的描述信息。

description text

缺省情況下,接口的描述信息為“接口名 Interface”,例如:Vsi-interface100 Interface。

(5)     配置接口的MTU。

mtu size

缺省情況下,VSI虛接口的MTU值為1444字節。

(6)     配置接口的期望帶寬。

bandwidth bandwidth-value

缺省情況下,接口的期望帶寬=接口的波特率÷1000(kbps)。

期望帶寬供業務模塊使用,不會對接口實際帶寬造成影響。

(7)     開啟VSI虛接口的ARP報文發送限速功能。

arp send-rate pps

缺省情況下,VSI虛接口的ARP報文發送限速功能處於關閉狀態。

本功能僅限製VSI虛接口觸發的ARP請求報文的發送速率。

3.10.2  恢複VSI虛接口的缺省配置

1. 配置限製和指導

您可以在執行default命令後通過display this命令確認執行效果。對於未能成功恢複缺省的配置,建議您查閱相關功能的命令手冊,手工執行恢複該配置缺省情況的命令。如果操作仍然不能成功,您可以通過設備的提示信息定位原因。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     恢複接口的缺省配置。

default

注意

接口下的某些配置恢複到缺省情況後,會對設備上當前運行的業務產生影響。建議您在執行本配置前,完全了解其對網絡產生的影響。

 

3.11  開啟VXLAN支持M-LAG功能

1. 功能簡介

VXLAN利用M-LAG功能將兩台物理設備連接起來虛擬成一台設備,使用該虛擬設備作為VTEP(既可以是僅用於二層轉發的VTEP,也可以是VXLAN IP網關),可以避免VTEP單點故障對網絡造成影響,從而提高VXLAN網絡的可靠性。

2. 配置限製和指導

在VXLAN M-LAG組網中,以太網服務實例使用Ethernet接入方式關聯VSI時,其匹配規則隻能為匹配不攜帶VLAN tag的所有報文(encapsulation untagged)。

在VXLAN M-LAG組網中,不支持在M-LAG設備上配置VXLAN關聯備用隧道。

在VXLAN M-LAG組網中不支持部署二層組播功能。

跨設備鏈路聚合的兩台VTEP必須使用相同的隧道源IP地址與其他VTEP設備建立VXLAN隧道。

配置采用直連模式peer-link鏈路的VXLAN支持M-LAG功能時,需要注意:

·     根據用戶側以太網服務實例的報文匹配規則創建peer-link鏈路上的AC時,用戶側以太網服務實例配置的報文匹配規則隻能為匹配報文的外層VLAN tag(encapsulation s-vid { vlan-id | vlan-id-list })、匹配不攜帶VLAN tag的所有報文(encapsulation untagged),且AC的接入模式必須為VLAN模式。

·     采用VXLAN ID映射方式生成peer-link鏈路上動態AC的報文匹配規則,AC的接入模式必須為VLAN模式。

·     配置相同報文匹配規則的以太網服務實例必須關聯相同的VSI。

·     跨設備鏈路聚合的兩台VTEP上,同一M-LAG接口以及單掛AC口上以太網服務實例的匹配規則、關聯的VSI對應的VXLAN ID必須一致,且隻能采用手工方式創建AC。

配置采用隧道模式peer-link鏈路的VXLAN支持M-LAG功能時,需要注意:

·     建議為VXLAN隧道和作為peer-link鏈路的VXLAN隧道配置不同的物理接口作為隧道出接口。

·     在作為peer-link鏈路的VXLAN隧道對應的二層以太網接口上關閉STP功能,以免上行設備錯誤地阻塞連接M-LAG設備的接口。

·     執行reserved vxlan命令配置保留VXLAN,以便通過該VXLAN轉發M-LAG協議報文等。作為M-LAG設備的兩台VTEP上必須配置相同的保留VXLAN。

·     跨設備鏈路聚合的兩台VTEP上,M-LAG接口的以太網服務實例匹配規則、關聯的VSI對應的VXLAN ID必須一致,且隻能采用手工方式創建AC。

作為M-LAG設備的VTEP從M-LAG接口學習到本地MAC地址,並通過peer-link鏈路將MAC地址同步給遠端VTEP(另一台M-LAG設備)後,在本端VTEP上手動刪除MAC地址表項,遠端VTEP(M-LAG設備)上的MAC地址表項不會隨之刪除,隻能等待MAC地址老化時間到達後,才會刪除遠端VTEP上的表項。

3. 配置步驟

(1)     配置M-LAG。

M-LAG的配置方法請參見“二層技術-以太網交換配置指導”中的“M-LAG”。

(2)     配置保留接口。

m-lag mad exclude interface interface-type interface-number

缺省情況下,未配置保留接口。

為了避免M-LAG協議將接口置為M-LAG MAD DOWN狀態,所有參與VXLAN業務的接口(VSI虛接口、Keepalive鏈路的接口、VXLAN隧道的公網出接口)配置為保留接口。采用隧道模式peer-link鏈路時,需要將該隧道配置為保留接口。

本命令的詳細介紹,請參見“二層技術-以太網交換命令參考”中的“M-LAG”。

(3)     配置M-LAG的延遲恢複時間

m-lag restore-delay value

缺省情況下,定時器超時時間為30秒。

在VXLAN M-LAG組網中,需要配置延遲恢複時間大於等於180秒。

本命令的詳細介紹,請參見“二層技術-以太網交換命令參考”中的“M-LAG”。

(4)     配置VXLAN

有關VXLAN的配置請參見“2 配置VXLAN”或“3 VXLAN IP網關

(5)     (可選)采用直連模式peer-link鏈路時,配置通過VXLAN ID映射方式生成peer-link鏈路上動態AC的報文匹配規則。

l2vpn m-lag peer-link ac-match-rule vxlan-mapping

缺省情況下,采用直連模式peer-link鏈路時,peer-link鏈路上動態AC的報文匹配規則與用戶側鏈路上AC的報文匹配規則相同。

peer-link鏈路上根據用戶側AC創建AC時,匹配相同外層VLAN Tag的不同以太網服務實例必須關聯相同的VSI;采用VXLAN ID映射方式時,VTEP上創建的VXLAN的ID不能大於16000000。

本命令的詳細介紹,請參見“EVPN”中的“EVPN命令”。

3.12  VXLAN IP網關顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後VXLAN IP網關的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下,用戶可以執行reset命令來清除VSI虛接口的統計信息。

表3-1 VXLAN IP網關顯示和維護

操作

命令

顯示M-LAG設備上L2VPN的ARP信息

display l2vpn m-lag arp [ local | remote ] [ count | { public-instance | vpn-instance vpn-instance-name } [ count | ip-address ] ]

顯示M-LAG設備上的ARP泛洪抑製表項信息

display l2vpn m-lag arp suppression [ local | remote ] [ count | vsi vsi-name [ count | ip-address ] ]

顯示M-LAG設備上L2VPN的MAC地址表信息

display l2vpn m-lag mac-address [ local | remote ] [ count | vsi vsi-name [ count | mac-address ] ]

顯示M-LAG設備上的ND信息

display l2vpn m-lag nd [ local | remote ] [ count | { public-instance | vpn-instance vpn-instance-name } [ count | ipv6-address ] ]

顯示M-LAG設備上的ND泛洪抑製表項信息

display l2vpn m-lag nd suppression [ local | remote ] [ count | vsi vsi-name [ count | ipv6-address ] ]

顯示VSI虛接口信息

display interface [ vsi-interface [ vsi-interface-id ] ] [ brief [ description | down ] ]

清除VSI虛接口的統計信息

reset counters interface [ vsi-interface [ vsi-interface-id ] ]

 

3.13  VXLAN IP網關典型配置舉例

3.13.1  集中式VXLAN IP網關配置舉例

1. 組網需求

Switch A、Switch C為與服務器連接的VTEP設備,Switch B為與廣域網連接的集中式VXLAN IP網關設備,Switch E為廣域網內的三層交換機。虛擬機VM 1、VM 2同屬於VXLAN 10,通過VXLAN實現不同站點間的二層互聯,並通過VXLAN IP網關與廣域網三層互聯。

具體需求為:

·     不同VTEP之間手工建立VXLAN隧道。

·     手工關聯VXLAN和VXLAN隧道。

·     通過源MAC地址動態學習遠端MAC地址表項。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

2. 組網圖

圖3-8 集中式VXLAN IP網關配置組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址和單播路由協議

# 在VM 1和VM 2上指定網關地址為10.1.1.1,具體配置過程略。

# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達;配置Switch B和Switch E上發布10.1.1.0/24和20.1.1.0/24網段的路由,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3與VXLAN 10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

(5)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3與VXLAN 10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/1

[SwitchC-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchC-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet3/0/1] quit

4. 驗證配置

(1)     驗證VXLAN IP網關設備Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchB] display interface vsi-interface brief

Brief information on interfaces in route mode:

Link: ADM - administratively down; Stby - standby

Protocol: (s) - spoofing

Interface            Link Protocol Primary IP      Description

Vsi1                 UP   UP       10.1.1.1

# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchB] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel2              0x5000002  Up     Manual      Disabled

    Tunnel3              0x5000003  Up     Manual      Disabled

# 查看Switch B上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。

# 查看Switch B上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。

[SwitchB] display fib 10.1.1.11

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.11/32       10.1.1.11       UH       Vsi1                     Null

(2)     驗證主機和廣域網互訪

虛擬機VM 1、VM 2之間可以互訪,VM 1、VM 2和Switch E上接口Vlan-interface20的地址20.1.1.5之間可以互訪。

3.13.2  集中式VXLAN IP網關保護組配置舉例

1. 組網需求

Switch A為與服務器連接的VTEP設備,Switch B和Switch C為與廣域網連接的集中式VXLAN IP網關設備。虛擬機VM 1屬於VXLAN 10,通過VXLAN IP網關保護組實現Switch B和Switch C能夠同時為VM 1的跨網絡報文進行三層轉發,同時實現網關設備的備份。

2. 組網圖

圖3-9 集中式VXLAN IP網關保護組配置組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址和單播路由協議

# 在VM 1上指定網關地址為10.1.1.1,具體配置過程略。

# 配置各接口的IP地址和子網掩碼,並在IP核心網絡內配置OSPF協議,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和VXLAN IP保護組之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch B和Switch C上同時存在的接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 配置Tunnel1與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan10] tunnel 1

[SwitchA-vsi-vpna-vxlan10] quit

[SwitchA-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 指定VXLAN IP網關保護組以及成員。

[SwitchA] vtep group 2.2.2.2 member remote 3.3.3.3 4.4.4.4

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為保護組的VTEP IP地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 配置接口Loopback1的IP地址,作為保護組的成員地址。

[SwitchB] interface loopback 1

[SwitchB-Loopback1] ip address 3.3.3.3 255.255.255.255

[SwitchB-Loopback1] quit

# 在VXLAN IP網關保護組和Switch A之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 配置Tunnel2與VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan10] tunnel 2

[SwitchB-vsi-vpna-vxlan10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI虛接口VSI-interface1,為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址,並指定該接口的MAC地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] mac-address 2-2-2

[SwitchB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN IP網關保護組,並配置本地成員地址。

[SwitchB] vtep group 2.2.2.2 member local 3.3.3.3

# 配置VXLAN IP網關保護組的其它成員地址。

[SwitchB] vtep group 2.2.2.2 member remote 4.4.4.4

(5)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為保護組的VTEP IP地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchC-Loopback0] quit

# 配置接口Loopback1的IP地址,作為保護組的成員地址。

[SwitchC] interface loopback 1

[SwitchC-Loopback1] ip address 4.4.4.4 255.255.255.255

[SwitchC-Loopback1] quit

# 在VXLAN IP網關保護組和Switch A之間建立VXLAN隧道。

[SwitchC] interface tunnel 2 mode vxlan

[SwitchC-Tunnel2] source 2.2.2.2

[SwitchC-Tunnel2] destination 1.1.1.1

[SwitchC-Tunnel2] quit

# 配置Tunnel2與VXLAN10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan10] tunnel 2

[SwitchC-vsi-vpna-vxlan10] quit

[SwitchC-vsi-vpna] quit

# 創建VSI虛接口VSI-interface1,為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址,並指定該接口的MAC地址。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 2-2-2

[SwitchC-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] quit

# 配置VXLAN IP網關保護組,並配置本地成員地址。

[SwitchC] vtep group 2.2.2.2 member local 4.4.4.4

# 配置VXLAN IP網關保護組的其它成員地址。

[SwitchC] vtep group 2.2.2.2 member remote 3.3.3.3

3.13.3  分布式VXLAN IP網關配置舉例(IPv4網絡)

說明

本節僅以IPv4站點接入IPv4網絡為例,IPv6站點接入IPv4網絡的配置與此類似。

 

1. 組網需求

Switch A、Switch C為分布式VXLAN IP網關設備,Switch B為與廣域網連接的邊界網關設備,Switch E為廣域網內的三層交換機。虛擬機VM 1屬於VXLAN 10,VM 2屬於VXLAN 20,VM 3屬於VXLAN 30。通過分布式VXLAN IP網關實現不同VXLAN網絡的三層互聯,並通過邊界網關實現與廣域網的三層互聯。

具體需求為:

·     不同VTEP之間手工建立VXLAN隧道。

·     手工關聯VXLAN和VXLAN隧道。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

·     VM 1、VM 2、VM 3之間可以互訪,且VM 1、VM 2和VM 3都可以訪問外部網絡。

2. 組網圖

圖3-10 分布式VXLAN IP網關連接IPv4網絡配置組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址和單播路由協議

# 在VM 1、VM 2和VM 3上分別指定網關地址為10.1.1.1、10.1.2.1、20.1.1.1,具體配置過程略。

# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達;配置Switch B和Switch E發布10.1.1.0/24、10.1.2.0/24、20.1.1.0/24和25.1.1.0/24網段的路由,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 創建VSI實例vpnc和VXLAN 30。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] vxlan 30

[SwitchA-vsi-vpnc-vxlan-30] quit

[SwitchA-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 1.1.1.1

[SwitchA-Tunnel2] destination 3.3.3.3

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和Tunnel2與VXLAN 20關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] tunnel 2

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置Tunnel2與VXLAN 30關聯。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] vxlan 30

[SwitchA-vsi-vpnc-vxlan-30] tunnel 2

[SwitchA-vsi-vpnc-vxlan-30] quit

[SwitchA-vsi-vpnc] quit

# 在接入VM 1的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 在接入VM 2的接口Ten-GigabitEthernet3/0/3上創建以太網服務實例1000,該實例用來匹配VLAN 3的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/3

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 3

[SwitchA-Ten-GigabitEthernet3/0/3] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/3-srv1000] encapsulation s-vid 3

# 配置以太網服務實例1000與VSI實例vpnb關聯。

[SwitchA-Ten-GigabitEthernet3/0/3-srv1000] xconnect vsi vpnb

[SwitchA-Ten-GigabitEthernet3/0/3-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/3] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-arp enable

[SwitchA-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchA-Vsi-interface2] mac-address 2-2-2

[SwitchA-Vsi-interface2] distributed-gateway local

[SwitchA-Vsi-interface2] local-proxy-arp enable

[SwitchA-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchA] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為10.1.1.0/24。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 2

[SwitchA-vsi-vpnb] quit

# 為VSI虛接口VSI-interface1配置從IP地址,該從IP地址作為VXLAN 30內虛擬機的網關地址。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub

[SwitchA-Vsi-interface1] quit

# 配置VXLAN 30所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為20.1.1.0/24。

[SwitchA] vsi vpnc

[SwitchA-vsi-vpnc] gateway vsi-interface 1

[SwitchA-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255

[SwitchA-vsi-vpnc] quit

# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface1的IP地址10.1.1.2。

[SwitchA] acl advanced 3000

[SwitchA-acl-ipv4-adv-3000] rule 0 permit ip

[SwitchA-acl-ipv4-adv-3000] quit

[SwitchA] policy-based-route vxlan10 permit node 5

[SwitchA-pbr-vxlan10-5] if-match acl 3000

[SwitchA-pbr-vxlan10-5] apply default-next-hop 10.1.1.2

[SwitchA-pbr-vxlan10-5] quit

# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface2的IP地址10.1.2.2。

[SwitchA] policy-based-route vxlan20 permit node 5

[SwitchA-pbr-vxlan20-5] if-match acl 3000

[SwitchA-pbr-vxlan20-5] apply default-next-hop 10.1.2.2

[SwitchA-pbr-vxlan20-5] quit

# 在VSI虛接口VSI-interface1和VSI-interface2上應用策略路由。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip policy-based-route vxlan10

[SwitchA-Vsi-interface1] quit

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip policy-based-route vxlan20

[SwitchA-Vsi-interface2] quit

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 創建VSI實例vpnc和VXLAN 30。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] vxlan 30

[SwitchB-vsi-vpnc-vxlan-30] quit

[SwitchB-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 1.1.1.1

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan

[SwitchB-Tunnel3] source 2.2.2.2

[SwitchB-Tunnel3] destination 3.3.3.3

[SwitchB-Tunnel3] quit

# 配置Tunnel2與VXLAN 10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel2與VXLAN 20關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 2

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置Tunnel3與VXLAN 30關聯。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] vxlan 30

[SwitchB-vsi-vpnc-vxlan-30] tunnel 3

[SwitchB-vsi-vpnc-vxlan-30] quit

[SwitchB-vsi-vpnc] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.2 255.255.255.0

[SwitchB-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.2 255.255.255.0

[SwitchB-Vsi-interface2] quit

# 創建VSI虛接口VSI-interface3,並為其配置IP地址。

[SwitchB] interface vsi-interface 3

[SwitchB-Vsi-interface3] ip address 20.1.1.2 255.255.255.0

[SwitchB-Vsi-interface3] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

# 配置VXLAN 30所在的VSI實例和接口VSI-interface3關聯。

[SwitchB] vsi vpnc

[SwitchB-vsi-vpnc] gateway vsi-interface 3

[SwitchB-vsi-vpnc] quit

(5)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 創建VSI實例vpnc和VXLAN 30。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] vxlan 30

[SwitchC-vsi-vpnc-vxlan-30] quit

[SwitchC-vsi-vpnc] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 3.3.3.3

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan

[SwitchC-Tunnel3] source 3.3.3.3

[SwitchC-Tunnel3] destination 2.2.2.2

[SwitchC-Tunnel3] quit

# 配置Tunnel1與VXLAN 10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1與VXLAN 20關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置Tunnel1和Tunnel3與VXLAN 30關聯。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] vxlan 30

[SwitchC-vsi-vpnc-vxlan-30] tunnel 1

[SwitchC-vsi-vpnc-vxlan-30] tunnel 3

[SwitchC-vsi-vpnc-vxlan-30] quit

[SwitchC-vsi-vpnc] quit

# 在接入VM 3的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 4的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/1

[SwitchC-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/1] port trunk permit vlan 4

[SwitchC-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 4

# 配置以太網服務實例1000與VSI實例vpnc關聯。

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpnc

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet3/0/1] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchC-Vsi-interface2] mac-address 2-2-2

[SwitchC-Vsi-interface2] distributed-gateway local

[SwitchC-Vsi-interface2] local-proxy-arp enable

[SwitchC-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchC] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為10.1.1.0/24。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] gateway subnet 10.1.1.0 0.0.0.255

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 2

[SwitchC-vsi-vpnb] quit

# 為VSI虛接口VSI-interface1配置從IP地址,該從IP地址作為VXLAN 30內虛擬機的網關地址。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 20.1.1.1 255.255.255.0 sub

[SwitchC-Vsi-interface1] quit

# 配置VXLAN 30所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為20.1.1.0/24。

[SwitchC] vsi vpnc

[SwitchC-vsi-vpnc] gateway vsi-interface 1

[SwitchC-vsi-vpnc] gateway subnet 20.1.1.0 0.0.0.255

[SwitchC-vsi-vpnc] quit

# 配置策略路由,指定IPv4報文如果未找到匹配的路由表項,則設置報文的下一跳為Switch B上接口VSI-interface1的IP地址20.1.1.2。

[SwitchC] acl advanced 3000

[SwitchC-acl-ipv4-adv-3000] rule 0 permit ip

[SwitchC-acl-ipv4-adv-3000] quit

[SwitchC] policy-based-route vxlan permit node 5

[SwitchC-pbr-vxlan-5] if-match acl 3000

[SwitchC-pbr-vxlan-5] apply default-next-hop 20.1.1.2

[SwitchC-pbr-vxlan-5] quit

# 在VSI虛接口VSI-interface1上應用策略路由。

[SwitchC] interface vsi-interface1

[SwitchC-Vsi-interface1] ip policy-based-route vxlan

[SwitchC-Vsi-interface1] quit

4. 驗證配置

(1)     驗證分布式VXLAN IP網關設備Switch A

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchA] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 3.3.3.3

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchA] display interface vsi-interface brief

Brief information on interfaces in route mode:

Link: ADM - administratively down; Stby - standby

Protocol: (s) - spoofing

Interface            Link Protocol Primary IP      Description

Vsi1                 UP   UP       10.1.1.1

Vsi2                 UP   UP       10.1.2.1

# 查看Switch A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchA] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

     AC                               Link ID    State    Type

     XGE1/0/1 srv1000                 0          Up       Manual

# 查看Switch A上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。

(2)     驗證邊界網關設備Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchB] display interface vsi-interface brief

Brief information on interfaces in route mode:

Link: ADM - administratively down; Stby - standby

Protocol: (s) - spoofing

Interface            Link Protocol Primary IP      Description

Vsi1                 UP   UP       10.1.1.2

Vsi2                 UP   UP       10.1.2.2

Vsi3                 UP   UP       20.1.1.2

# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchB] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch B上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。

# 查看Switch B上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。

[SwitchB] display fib 10.1.1.11

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

10.1.1.11/32       10.1.1.11       UH       Vsi1                     Null

[SwitchB] display fib 20.1.1.12

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination/Mask   Nexthop         Flag     OutInterface/Token       Label

20.1.1.12/32       20.1.1.12       UH       Vsi3                     Null

(3)     驗證主機和廣域網互訪

虛擬機VM 1、VM 2、VM 3之間可以互訪;VM 1、VM 2和VM 3可以與Switch E上接口Vlan-interface20的地址25.1.1.5之間互訪。

3.13.4  分布式VXLAN IP網關配置舉例(IPv6網絡)

說明

本節僅以IPv6站點接入IPv6網絡為例,IPv4站點接入IPv6網絡的配置與此類似。

 

1. 組網需求

Switch A、Switch C為分布式VXLAN IP網關設備,Switch B為與廣域網連接的邊界網關設備,Switch E為廣域網內的三層交換機。虛擬機VM 1屬於VXLAN 10,VM 2屬於VXLAN 20。通過分布式VXLAN IP網關實現不同VXLAN網絡的三層互聯,並通過邊界網關實現與廣域網的三層互聯。

具體需求為:

·     不同VTEP之間手工建立VXLAN隧道。

·     手工關聯VXLAN和VXLAN隧道。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

2. 組網圖

圖3-11 分布式VXLAN IP網關連接IPv6網絡配置組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IPv6地址和單播路由協議

# 在VM 1和VM 2上分別指定網關地址為1::1、4::1,具體配置過程略。

# 配置各接口的地址;在IP核心網絡內配置OSPFv3協議,確保交換機之間路由可達;配置Switch B和Switch E發布1::/64、4::/64和3::/64網段的路由,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ipv6 address 7::7 128

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址7::7。

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址8::8。

[SwitchA] interface tunnel 1 mode vxlan ipv6

[SwitchA-Tunnel1] source 7::7

[SwitchA-Tunnel1] destination 8::8

[SwitchA-Tunnel1] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchA] interface tunnel 2 mode vxlan ipv6

[SwitchA-Tunnel2] source 7::7

[SwitchA-Tunnel2] destination 9::9

[SwitchA-Tunnel2] quit

# 配置Tunnel1和Tunnel2與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] tunnel 2

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和Tunnel2與VXLAN 20關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] tunnel 2

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入VM 1的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 2

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 創建VSI虛接口VSI-interface1,並為其配置IPv6任播地址,其中1::1/64地址作為VXLAN 10內虛擬機的網關地址、4::1/64作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地ND代理功能。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ipv6 address 1::1/64 anycast

[SwitchA-Vsi-interface1] ipv6 address 4::1/64 anycast

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-nd enable

[SwitchA-Vsi-interface1] quit

# 開啟分布式網關的動態IPv6 ND表項同步功能。

[SwitchA] ipv6 nd distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為1::1/64。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] gateway subnet 1::1 64

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為4::1/64。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 1

[SwitchA-vsi-vpnb] gateway subnet 4::1 64

[SwitchA-vsi-vpnb] quit

# 配置靜態路由,指定到達網絡3::/64網絡的路由下一跳為Switch B的IPv6地址1::2。

[SwitchA] ipv6 route-static 3:: 64 1::2

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ipv6 address 8::8 128

[SwitchB-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道。

[SwitchB] interface tunnel 2 mode vxlan ipv6

[SwitchB-Tunnel2] source 8::8

[SwitchB-Tunnel2] destination 7::7

[SwitchB-Tunnel2] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchB] interface tunnel 3 mode vxlan ipv6

[SwitchB-Tunnel3] source 8::8

[SwitchB-Tunnel3] destination 9::9

[SwitchB-Tunnel3] quit

# 配置Tunnel2和Tunnel3與VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] tunnel 3

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel2和Tunnel3與VXLAN20關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 2

[SwitchB-vsi-vpnb-vxlan-20] tunnel 3

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 創建VSI虛接口VSI-interface1,並為其配置IPv6地址。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ipv6 address 1::2/64

[SwitchB-Vsi-interface1] ipv6 address 4::2/64

[SwitchB-Vsi-interface1] quit

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 1

[SwitchB-vsi-vpnb] quit

(5)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ipv6 address 9::9 128

[SwitchC-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 1 mode vxlan ipv6

[SwitchC-Tunnel1] source 9::9

[SwitchC-Tunnel1] destination 7::7

[SwitchC-Tunnel1] quit

# 在Switch B和Switch C之間建立VXLAN隧道。

[SwitchC] interface tunnel 3 mode vxlan ipv6

[SwitchC-Tunnel3] source 9::9

[SwitchC-Tunnel3] destination 8::8

[SwitchC-Tunnel3] quit

# 配置Tunnel1和Tunnel3與VXLAN 10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] tunnel 3

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1和Tunnel3與VXLAN 20關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] tunnel 3

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 在接入VM 2的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 4的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/1

[SwitchC-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/1] port trunk permit vlan 4

[SwitchC-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 4

# 配置以太網服務實例1000與VSI實例vpnb關聯。

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpnb

[SwitchC-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchC-Ten-GigabitEthernet3/0/1] quit

# 創建VSI虛接口VSI-interface1,並為其配置IPv6地址,其中1::1/64地址作為VXLAN 10內虛擬機的網關地址,4::1/64地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地ND代理功能。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ipv6 address 1::1/64 anycast

[SwitchC-Vsi-interface1] ipv6 address 4::1/64 anycast

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-nd enable

[SwitchC-Vsi-interface1] quit

# 開啟分布式網關的動態IPv6 ND表項同步功能。

[SwitchC] ipv6 nd distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為1::1/64。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] gateway subnet 1::1 64

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface1關聯,並配置該VSI實例的子網網段為4::1/64。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 1

[SwitchC-vsi-vpnb] gateway subnet 4::1 64

[SwitchC-vsi-vpnb] quit

# 配置靜態路由,指定到達網絡3::/64網絡的路由下一跳為Switch B的IPv6地址4::2。

[SwitchC] ipv6 route-static 3:: 64 4::2

4. 驗證配置

(1)     驗證分布式VXLAN IP網關設備Switch A

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchA] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 7::7, destination 9::9

Tunnel protocol/transport UDP_VXLAN/IPv6

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchA] display ipv6 interface vsi-interface brief

*down: administratively down

(s): spoofing

Interface                                 Physical Protocol IPv6 Address

Vsi-interface1                            up       up       1::1

# 查看Switch A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

     AC                               Link ID    State    Type

     XGE3/0/1 srv1000                 0          Up       Manual

 

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 20

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch A上IPv6 neighbors表項信息,可以看到已經建立的鄰居信息。

[SwitchA] display ipv6 neighbors all

Type: S-Static    D-Dynamic    O-Openflow     R-Rule    I-Invalid

IPv6 address                   Link layer     VID  Interface      State T  Age

1::2                           3c8c-400d-867a 0    Tunnel1        STALE D  7

1::100                         0001-0000-0047 0    0              STALE D  22

4::400                         0002-0000-0047 1    Tunnel2        REACH D  5

FE80::201:FF:FE00:47           0001-0000-0047 0    Tunnel1        REACH D  30

FE80::202:FF:FE00:0            0002-0000-0000 1    Tunnel1        REACH D  27

FE80::202:FF:FE00:47           0002-0000-0047 0    0              DELAY D  5

# 查看Switch A上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。

[SwitchA] display ipv6 fib 4::400

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 4::400                                         Prefix length: 128

Nexthop    : 4::400                                         Flags: UH

Time stamp : 0x2c                                           Label: Null

Interface  : Tunnel2                                        Token: Invalid

[SwitchA] display ipv6 fib 3::300

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 3::                                            Prefix length: 40

Nexthop    : 1::2                                           Flags: USGR

Time stamp : 0x23                                           Label: Null

Interface  : Tunnel1                                        Token: Invalid

(2)     驗證VXLAN IP邊界網關設備Switch B

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchB] display interface tunnel 2

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Output queue - Urgent queuing: Size/Length/Discards 0/100/0

Output queue - Protocol queuing: Size/Length/Discards 0/500/0

Output queue - FIFO queuing: Size/Length/Discards 0/75/0

Last clearing of counters: Never

Tunnel source 8::8, destination 7::7

Tunnel protocol/transport UDP_VXLAN/IPv6

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchB] display ipv6 interface vsi-interface brief

*down: administratively down

(s): spoofing

Interface                                 Physical Protocol IPv6 Address

Vsi-interface1                            up       up       1::2

# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchB] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch B上IPv6 neighbors表項信息,可以看到已經建立的鄰居信息。

[SwitchB] display ipv6 neighbors all

Type: S-Static    D-Dynamic    O-Openflow     R-Rule    I-Invalid

IPv6 address                   Link layer     VID  Interface      State T  Age

3::300                         0003-0000-0047 20   Vlan20         DELAY D  3

FE80::203:FF:FE00:47           0003-0000-0047 20   Vlan20         STALE D  222

1::100                         0001-0000-0047 0    Tunnel2        STALE D  232

4::400                         0002-0000-0047 1    Tunnel3        REACH D  3

FE80::201:FF:FE00:0            0001-0000-0000 0    Tunnel2        STALE D  237

FE80::201:FF:FE00:47           0001-0000-0047 20   Vlan20         STALE D  222

FE80::202:FF:FE00:0            0002-0000-0000 1    Tunnel3        STALE D  345

# 查看Switch B上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。

[SwitchB] display ipv6 fib 1::100

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 1::100                                         Prefix length: 128

Nexthop    : 1::100                                         Flags: UH

Time stamp : 0x21                                           Label: Null

Interface  : Vsi1                                           Token: Invalid

[SwitchB] display ipv6 fib 4::400

Destination count: 1 FIB entry count: 1

Flag:

  U:Usable    G:Gateway   H:Host   B:Blackhole   D:Dynamic   S:Static

  R:Relay     F:FRR

Destination: 4::                                            Prefix length: 64

Nexthop    : ::                                             Flags: U

Time stamp : 0x19                                           Label: Null

Interface  : Vsi1                                           Token: Invalid

(3)     驗證主機和廣域網互訪

虛擬機VM 1、VM 2之間可以互訪,VM 1、VM 2和Switch E上接口Vlan-interface20的地址3::300之間可以互訪。

3.13.5  IPv4 VXLAN支持M-LAG配置舉例(直連模式peer-link鏈路)

1. 組網需求

Switch A、Switch B、Switch C為與服務器連接的分布式VXLAN IP網關,Switch A和Switch B跨設備鏈路聚合為一台虛擬VXLAN IP網關,采用直連模式peer-link鏈路。

虛擬機VM 1和VM 2屬於VXLAN 10,VM 3屬於VXLAN 20,通過分布式VXLAN IP網關實現VM 1、VM 2和VM 3互通。

2. 組網圖

圖3-12 IPv4 VXLAN支持M-LAG配置組網圖

3. 配置步驟

(1)     配置IP地址和單播路由協議

# 在VM 1和VM 2上指定網關地址為10.1.1.1;在VM 3上指定網關地址為10.1.2.1。(具體配置過程略)

# 配置各接口的IP地址和子網掩碼。(具體配置過程略)

# 在IP核心網絡內配置OSPF協議,發布各接口IP地址(包括Loopback接口的IP地址)對應網段的路由,確保交換機之間路由可達;並在OSPF鄰居兩端的接口上配置ospf peer hold-max-cost duration命令,提高M-LAG設備重啟後的回切性能。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置peer-link鏈路上動態AC的報文匹配規則,有如下兩個方案。Switch A和Switch B上采用的方案必須相同。

¡     方案一:采用VXLAN ID映射方式生成peer-link鏈路上動態AC的報文匹配規則。

[SwitchA] l2vpn m-lag peer-link ac-match-rule vxlan-mapping

¡     方案二:根據用戶側以太網服務實例的報文匹配規則創建peer-link鏈路上的AC。

無需執行其他配置,默認采用該方案。

# 配置M-LAG係統。

[SwitchA] m-lag system-mac 0001-0001-0001

[SwitchA] m-lag system-number 1

[SwitchA] m-lag system-priority 10

[SwitchA] m-lag keepalive ip destination 60.1.1.2 source 60.1.1.1

[SwitchA] m-lag restore-delay 180

# 創建二層聚合接口3,並配置該接口為動態聚合模式。

[SwitchA] interface bridge-aggregation 3

[SwitchA-Bridge-Aggregation3] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation3] quit

# 將端口Ten-GigabitEthernet3/0/3加入聚合組3中。

[SwitchA] interface ten-gigabitethernet 3/0/3

[SwitchA-Ten-GigabitEthernet3/0/3] port link-aggregation group 3

[SwitchA-Ten-GigabitEthernet3/0/3] quit

# 將二層聚合接口3配置為peer-link接口。

[SwitchA] interface bridge-aggregation 3

[SwitchA-Bridge-Aggregation3] port m-lag peer-link 1

[SwitchA-Bridge-Aggregation3] quit

# 創建二層聚合接口4,並配置該接口為動態聚合模式。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation4] quit

# 將端口Ten-GigabitEthernet3/0/1加入聚合組4中。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-aggregation group 4

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 將二層聚合接口4加入M-LAG組4中。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] port m-lag group 4

[SwitchA-Bridge-Aggregation4] quit

# 創建二層聚合接口5,並配置該接口為動態聚合模式。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation5] quit

# 將端口Ten-GigabitEthernet3/0/2加入到聚合組5中。

[SwitchA] interface ten-gigabitethernet 3/0/2

[SwitchA-Ten-GigabitEthernet3/0/2] port link-aggregation group 5

[SwitchA-Ten-GigabitEthernet3/0/2] quit

# 將二層聚合接口5加入M-LAG組5中。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] port m-lag group 5

[SwitchA-Bridge-Aggregation5] quit

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch C上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入服務器的接口Bridge-Aggregation4上創建以太網服務實例1000,該實例用來匹配VLAN 1的數據幀。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] port link-type trunk

[SwitchA-Bridge-Aggregation4] port trunk permit vlan 1

[SwitchA-Bridge-Aggregation4] service-instance 1000

[SwitchA-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Bridge-Aggregation10-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation10-srv1000] quit

# 在接入服務器的接口Bridge-Aggregation5上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] port link-type trunk

[SwitchA-Bridge-Aggregation5] port trunk permit vlan 2

[SwitchA-Bridge-Aggregation5] service-instance 1000

[SwitchA-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation5-srv1000] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-arp enable

[SwitchA-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchA-Vsi-interface2] mac-address 2-2-2

[SwitchA-Vsi-interface2] distributed-gateway local

[SwitchA-Vsi-interface2] local-proxy-arp enable

[SwitchA-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchA] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 2

[SwitchA-vsi-vpnb] quit

# 將所有參與VXLAN業務的接口配置為保留接口。

[SwitchA] m-lag mad exclude interface loopback 0

[SwitchA] m-lag mad exclude interface ten-gigabitethernet 3/0/4

[SwitchA] m-lag mad exclude interface ten-gigabitethernet 3/0/5

[SwitchA] m-lag mad exclude interface vsi-interface 1

[SwitchA] m-lag mad exclude interface vsi-interface 2

[SwitchA] m-lag mad exclude interface vlan-interface 11

(3)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置peer-link鏈路上動態AC的報文匹配規則,有如下兩個方案。Switch A和Switch B上采用的方案必須相同。

¡     方案一:采用VXLAN ID映射方式生成peer-link鏈路上動態AC的報文匹配規則。

[SwitchB] l2vpn m-lag peer-link ac-match-rule vxlan-mapping

¡     方案二:根據用戶側以太網服務實例的報文匹配規則創建peer-link鏈路上的AC。

無需執行其他配置,默認采用該方案。

# 配置M-LAG係統。

[SwitchB] m-lag system-mac 0001-0001-0001

[SwitchB] m-lag system-number 2

[SwitchB] m-lag system-priority 10

[SwitchB] m-lag keepalive ip destination 60.1.1.1 source 60.1.1.2

[SwitchB] m-lag restore-delay 180

# 創建二層聚合接口3,並配置該接口為動態聚合模式。

[SwitchB] interface bridge-aggregation 3

[SwitchB-Bridge-Aggregation3] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation3] quit

# 將端口Ten-GigabitEthernet3/0/3加入聚合組3中。

[SwitchB] interface ten-gigabitethernet 3/0/3

[SwitchB-Ten-GigabitEthernet3/0/3] port link-aggregation group 3

[SwitchB-Ten-GigabitEthernet3/0/3] quit

# 將二層聚合接口3配置為peer-link接口。

[SwitchB] interface bridge-aggregation 3

[SwitchB-Bridge-Aggregation3] port m-lag peer-link 1

[SwitchB-Bridge-Aggregation3] quit

# 創建二層聚合接口4,並配置該接口為動態聚合模式。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation4] quit

# 將端口Ten-GigabitEthernet3/0/1加入聚合組4中。

[SwitchB] interface ten-gigabitethernet 3/0/1

[SwitchB-Ten-GigabitEthernet3/0/1] port link-aggregation group 4

[SwitchB-Ten-GigabitEthernet3/0/1] quit

# 將二層聚合接口4加入M-LAG組4中。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] port m-lag group 4

[SwitchB-Bridge-Aggregation4] quit

# 創建二層聚合接口5,並配置該接口為動態聚合模式。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation5] quit

# 將端口Ten-GigabitEthernet3/0/2加入聚合組5中。

[SwitchB] interface ten-gigabitethernet 3/0/2

[SwitchB-Ten-GigabitEthernet3/0/2] port link-aggregation group 5

[SwitchB-Ten-GigabitEthernet3/0/2] quit

# 將二層聚合接口5加入M-LAG組5中。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] port m-lag group 5

[SwitchB-Bridge-Aggregation5] quit

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch B和Switch C之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch C上接口Loopback0的地址2.2.2.2。

[SwitchB] interface tunnel 1 mode vxlan

[SwitchB-Tunnel1] source 1.1.1.1

[SwitchB-Tunnel1] destination 2.2.2.2

[SwitchB-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 1

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 1

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 在接入服務器的接口Bridge-Aggregation4上創建以太網服務實例1000,該實例用來匹配VLAN 1的數據幀。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] port link-type trunk

[SwitchB-Bridge-Aggregation4] port trunk permit vlan 1

[SwitchB-Bridge-Aggregation4] service-instance 1000

[SwitchB-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Bridge-Aggregation10-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation10-srv1000] quit

# 在接入服務器的接口Bridge-Aggregation5上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] port link-type trunk

[SwitchB-Bridge-Aggregation5] port trunk permit vlan 2

[SwitchB-Bridge-Aggregation5] service-instance 1000

[SwitchB-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation5-srv1000] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] mac-address 1-1-1

[SwitchB-Vsi-interface1] distributed-gateway local

[SwitchB-Vsi-interface1] local-proxy-arp enable

[SwitchB-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchB-Vsi-interface2] mac-address 2-2-2

[SwitchB-Vsi-interface2] distributed-gateway local

[SwitchB-Vsi-interface2] local-proxy-arp enable

[SwitchB-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchB] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

# 將所有參與VXLAN業務的接口配置為保留接口。

[SwitchB] m-lag mad exclude interface loopback 0

[SwitchB] m-lag mad exclude interface ten-gigabitethernet 3/0/4

[SwitchB] m-lag mad exclude interface ten-gigabitethernet 3/0/5

[SwitchB] m-lag mad exclude interface vsi-interface 1

[SwitchB] m-lag mad exclude interface vsi-interface 2

[SwitchB] m-lag mad exclude interface vlan-interface 12

(4)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch C和對端的聚合設備之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址2.2.2.2。

¡     指定隧道的目的端地址為對端聚合設備上接口Loopback0的地址1.1.1.1。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 2.2.2.2

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/3上創建以太網服務實例1000,該實例用來匹配VLAN 4的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/3

[SwitchC-Ten-GigabitEthernet3/0/3] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/3] port trunk permit vlan 4

[SwitchC-Ten-GigabitEthernet3/0/3] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/3] encapsulation s-vid 4

# 配置以太網服務實例1000與VSI實例vpnb關聯。

[SwitchC-Ten-GigabitEthernet3/0/3] xconnect vsi vpnb

[SwitchC-Ten-GigabitEthernet3/0/3] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchC-Vsi-interface2] mac-address 2-2-2

[SwitchC-Vsi-interface2] distributed-gateway local

[SwitchC-Vsi-interface2] local-proxy-arp enable

[SwitchC-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchC] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 2

[SwitchC-vsi-vpnb] quit

4. 驗證配置

(1)     以Switch A為例,驗證M-LAG設備

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態,並且隧道源地址為1.1.1.1。

[SwitchA]display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 50506 bytes/sec, 404048 bits/sec, 295 packets/sec

Input: 4 packets, 240 bytes, 0 drops

Output: 257011 packets, 43395523 bytes, 0 drops

# 查看Switch A上的VSI信息,可以看到設備自動在peer-link鏈路上創建了AC,並將其與VSI關聯。

¡     采用VXLAN ID映射方式生成peer-link鏈路上動態AC的報文匹配規則:

[SwitchA] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000000  UP       Manual      Disabled

  ACs:

    AC                               Link ID  State       Type

    BAGG3 srv1                       0        Up          Dynamic (M-LAG)

    BAGG4 srv1000                    1        Up          Manual

    BAGG5 srv1000                    2        Up          Manual

¡     根據用戶側以太網服務實例的報文匹配規則創建peer-link鏈路上的AC:

[SwitchA] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

  ACs:

    AC                                 Link ID    State       Type

    BAGG4 srv1000                      0          Up          Manual

    BAGG3 srv1                         1          Up          Dynamic (M-LAG)

    BAGG5 srv1000                      2          Up          Manual

    BAGG3 srv2                         3          Up          Dynamic (M-LAG)

(2)     驗證分布式VXLAN IP網關設備Switch C

# 查看Switch C的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchC]display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 8 packets, 480 bytes, 0 drops

Output: 4 packets, 240 bytes, 0 drops

# 查看Switch C上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchC] dis l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

 

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 2

  VXLAN ID                : 20

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

(3)     驗證主機之間可以互訪

虛擬機VM 1、VM 2和VM 3之間可以互訪。虛擬機與Switch A或Switch B相連的鏈路斷開後,VM 1、VM 2和VM 3仍然可以通過另一台設備互訪。

3.13.6  IPv4 VXLAN支持M-LAG配置舉例(隧道模式peer-link鏈路)

1. 組網需求

Switch A、Switch B、Switch C為與服務器連接的分布式VXLAN IP網關,Switch A和Switch B跨設備鏈路聚合為一台虛擬VXLAN IP網關,采用隧道模式peer-link鏈路。

虛擬機VM 1和VM 2屬於VXLAN 10,VM 3屬於VXLAN 20,通過分布式VXLAN IP網關實現VM 1、VM 2和VM 3互通。

2. 組網圖

圖3-13 IPv4 VXLAN支持M-LAG配置組網圖

3. 配置步驟

(1)     配置IP地址和單播路由協議

# 在VM 1和VM 2上指定網關地址為10.1.1.1;在VM 3上指定網關地址為10.1.2.1。(具體配置過程略)

# 配置各接口的IP地址和子網掩碼。(具體配置過程略)

# 在IP核心網絡內配置OSPF協議,發布各接口IP地址(包括Loopback接口的IP地址)對應網段的路由,確保交換機之間路由可達;並在OSPF鄰居兩端的接口上配置ospf peer hold-max-cost duration命令,提高M-LAG設備重啟後的回切性能。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置預留VXLAN ID為1234。

[SwitchA] reserved vxlan 1234

# 配置M-LAG係統。

[SwitchA] m-lag system-mac 0001-0001-0001

[SwitchA] m-lag system-number 1

[SwitchA] m-lag system-priority 10

[SwitchA] m-lag keepalive ip destination 12.1.1.2 source 11.1.1.1

[SwitchA] m-lag restore-delay 180

# 配置接口Loopback1的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 1

[SwitchA-Loopback1] ip address 8.8.8.8 255.255.255.255

[SwitchA-Loopback1] quit

# 在Switch A和Switch B之間手工創建VXLAN隧道Tunnel2。

[SwitchA] interface tunnel 2 mode vxlan

[SwitchA-Tunnel2] source 8.8.8.8

[SwitchA-Tunnel2] destination 9.9.9.9

[SwitchA-Tunnel2] quit

# 將VXLAN隧道接口配置M-LAG保留接口。

[SwitchA] m-lag mad exclude interface tunnel 2

# 配置VXLAN隧道接口為peer-link接口。

[SwitchA] interface tunnel 2

[SwitchA-Tunnel2] port m-lag peer-link 1

[SwitchA-Tunnel2] quit

# 創建二層聚合接口4,並配置該接口為動態聚合模式。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation4] quit

# 將端口Ten-GigabitEthernet3/0/1加入聚合組4中。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-aggregation group 4

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 將二層聚合接口4加入M-LAG組4中。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] port m-lag group 4

[SwitchA-Bridge-Aggregation4] quit

# 創建二層聚合接口5,並配置該接口為動態聚合模式。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchA-Bridge-Aggregation5] quit

# 將端口Ten-GigabitEthernet3/0/2加入到聚合組5中。

[SwitchA] interface ten-gigabitethernet 3/0/2

[SwitchA-Ten-GigabitEthernet3/0/2] port link-aggregation group 5

[SwitchA-Ten-GigabitEthernet3/0/2] quit

# 將二層聚合接口5加入M-LAG組5中。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] port m-lag group 5

[SwitchA-Bridge-Aggregation5] quit

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch C之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch C上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入服務器的接口Bridge-Aggregation4上創建以太網服務實例1000,該實例用來匹配VLAN 1的數據幀。

[SwitchA] interface bridge-aggregation 4

[SwitchA-Bridge-Aggregation4] port link-type trunk

[SwitchA-Bridge-Aggregation4] port trunk permit vlan 1

[SwitchA-Bridge-Aggregation4] service-instance 1000

[SwitchA-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Bridge-Aggregation10-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation10-srv1000] quit

# 在接入服務器的接口Bridge-Aggregation5上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchA] interface bridge-aggregation 5

[SwitchA-Bridge-Aggregation5] port link-type trunk

[SwitchA-Bridge-Aggregation5] port trunk permit vlan 2

[SwitchA-Bridge-Aggregation5] service-instance 1000

[SwitchA-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchA-Bridge-Aggregation5-srv1000] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchA-Vsi-interface1] mac-address 1-1-1

[SwitchA-Vsi-interface1] distributed-gateway local

[SwitchA-Vsi-interface1] local-proxy-arp enable

[SwitchA-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchA-Vsi-interface2] mac-address 2-2-2

[SwitchA-Vsi-interface2] distributed-gateway local

[SwitchA-Vsi-interface2] local-proxy-arp enable

[SwitchA-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchA] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] gateway vsi-interface 1

[SwitchA-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] gateway vsi-interface 2

[SwitchA-vsi-vpnb] quit

# 將所有參與VXLAN業務的接口配置為保留接口。

[SwitchA] m-lag mad exclude interface loopback 0

[SwitchA] m-lag mad exclude interface loopback 1

[SwitchA] m-lag mad exclude interface ten-gigabitethernet 3/0/4

[SwitchA] m-lag mad exclude interface vsi-interface 1

[SwitchA] m-lag mad exclude interface vsi-interface 2

[SwitchA] m-lag mad exclude interface vlan-interface 11

(3)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置預留VXLAN ID為1234。

[SwitchA] reserved vxlan 1234

# 配置M-LAG係統。

[SwitchB] m-lag system-mac 0001-0001-0001

[SwitchB] m-lag system-number 2

[SwitchB] m-lag system-priority 10

[SwitchB] m-lag keepalive ip destination 11.1.1.1 source 12.1.1.2

[SwitchB] m-lag restore-delay 180

# 配置接口Loopback1的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 1

[SwitchB-Loopback1] ip address 9.9.9.9 255.255.255.255

[SwitchB-Loopback1] quit

# 在Switch A和Switch B之間手工創建VXLAN隧道Tunnel2。

[SwitchB] interface tunnel 2 mode vxlan

[SwitchB-Tunnel2] source 9.9.9.9

[SwitchB-Tunnel2] destination 8.8.8.8

[SwitchB-Tunnel2] quit

# 將VXLAN隧道接口配置M-LAG保留接口。

[SwitchB] m-lag mad exclude interface tunnel 2

# 配置VXLAN隧道接口為peer-link接口。

[SwitchB] interface tunnel 2

[SwitchB-Tunnel2] port m-lag peer-link 1

[SwitchB-Tunnel2] quit

# 創建二層聚合接口4,並配置該接口為動態聚合模式。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation4] quit

# 將端口Ten-GigabitEthernet3/0/1加入聚合組4中。

[SwitchB] interface ten-gigabitethernet 3/0/1

[SwitchB-Ten-GigabitEthernet3/0/1] port link-aggregation group 4

[SwitchB-Ten-GigabitEthernet3/0/1] quit

# 將二層聚合接口4加入M-LAG組4中。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] port m-lag group 4

[SwitchB-Bridge-Aggregation4] quit

# 創建二層聚合接口5,並配置該接口為動態聚合模式。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] link-aggregation mode dynamic

[SwitchB-Bridge-Aggregation5] quit

# 將端口Ten-GigabitEthernet3/0/2加入聚合組5中。

[SwitchB] interface ten-gigabitethernet 3/0/2

[SwitchB-Ten-GigabitEthernet3/0/2] port link-aggregation group 5

[SwitchB-Ten-GigabitEthernet3/0/2] quit

# 將二層聚合接口5加入M-LAG組5中。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] port m-lag group 5

[SwitchB-Bridge-Aggregation5] quit

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch B和Switch C之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch C上接口Loopback0的地址2.2.2.2。

[SwitchB] interface tunnel 1 mode vxlan

[SwitchB-Tunnel1] source 1.1.1.1

[SwitchB-Tunnel1] destination 2.2.2.2

[SwitchB-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 1

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 1

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 在接入服務器的接口Bridge-Aggregation4上創建以太網服務實例1000,該實例用來匹配VLAN 1的數據幀。

[SwitchB] interface bridge-aggregation 4

[SwitchB-Bridge-Aggregation4] port link-type trunk

[SwitchB-Bridge-Aggregation4] port trunk permit vlan 1

[SwitchB-Bridge-Aggregation4] service-instance 1000

[SwitchB-Bridge-Aggregation4-srv1000] encapsulation s-vid 1

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Bridge-Aggregation10-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation10-srv1000] quit

# 在接入服務器的接口Bridge-Aggregation5上創建以太網服務實例1000,該實例用來匹配VLAN 2的數據幀。

[SwitchB] interface bridge-aggregation 5

[SwitchB-Bridge-Aggregation5] port link-type trunk

[SwitchB-Bridge-Aggregation5] port trunk permit vlan 2

[SwitchB-Bridge-Aggregation5] service-instance 1000

[SwitchB-Bridge-Aggregation5-srv1000] encapsulation s-vid 2

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchB-Bridge-Aggregation5-srv1000] xconnect vsi vpna

[SwitchB-Bridge-Aggregation5-srv1000] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] mac-address 1-1-1

[SwitchB-Vsi-interface1] distributed-gateway local

[SwitchB-Vsi-interface1] local-proxy-arp enable

[SwitchB-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchB-Vsi-interface2] mac-address 2-2-2

[SwitchB-Vsi-interface2] distributed-gateway local

[SwitchB-Vsi-interface2] local-proxy-arp enable

[SwitchB-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchB] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

# 將所有參與VXLAN業務的接口配置為保留接口。

[SwitchB] m-lag mad exclude interface loopback 0

[SwitchB] m-lag mad exclude interface loopback 1

[SwitchA] m-lag mad exclude interface ten-gigabitethernet 3/0/4

[SwitchB] m-lag mad exclude interface vsi-interface 1

[SwitchB] m-lag mad exclude interface vsi-interface 2

[SwitchB] m-lag mad exclude interface vlan-interface 12

(4)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchC] interface loopback 0

[SwitchC-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchC-Loopback0] quit

# 在Switch C和對端的聚合設備之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址2.2.2.2。

¡     指定隧道的目的端地址為對端聚合設備上接口Loopback0的地址1.1.1.1。

[SwitchC] interface tunnel 1 mode vxlan

[SwitchC-Tunnel1] source 2.2.2.2

[SwitchC-Tunnel1] destination 1.1.1.1

[SwitchC-Tunnel1] quit

# 配置Tunnel1和VXLAN10關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

[SwitchC-vsi-vpna-vxlan-10] tunnel 1

[SwitchC-vsi-vpna-vxlan-10] quit

[SwitchC-vsi-vpna] quit

# 配置Tunnel1和VXLAN20關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 20

[SwitchC-vsi-vpnb-vxlan-20] tunnel 1

[SwitchC-vsi-vpnb-vxlan-20] quit

[SwitchC-vsi-vpnb] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/3上創建以太網服務實例1000,該實例用來匹配VLAN 4的數據幀。

[SwitchC] interface ten-gigabitethernet 3/0/3

[SwitchC-Ten-GigabitEthernet3/0/3] port link-type trunk

[SwitchC-Ten-GigabitEthernet3/0/3] port trunk permit vlan 4

[SwitchC-Ten-GigabitEthernet3/0/3] service-instance 1000

[SwitchC-Ten-GigabitEthernet3/0/3] encapsulation s-vid 4

# 配置以太網服務實例1000與VSI實例vpnb關聯。

[SwitchC-Ten-GigabitEthernet3/0/3] xconnect vsi vpnb

[SwitchC-Ten-GigabitEthernet3/0/3] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchC] interface vsi-interface 1

[SwitchC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchC-Vsi-interface1] mac-address 1-1-1

[SwitchC-Vsi-interface1] distributed-gateway local

[SwitchC-Vsi-interface1] local-proxy-arp enable

[SwitchC-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址和MAC地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchC-Vsi-interface2] mac-address 2-2-2

[SwitchC-Vsi-interface2] distributed-gateway local

[SwitchC-Vsi-interface2] local-proxy-arp enable

[SwitchC-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchC] arp distributed-gateway dynamic-entry synchronize

# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] gateway vsi-interface 1

[SwitchC-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] gateway vsi-interface 2

[SwitchC-vsi-vpnb] quit

4. 驗證配置

(1)     以Switch A為例,驗證M-LAG設備

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態,並且與Switch C建立的隧道源地址是1.1.1.1。

[SwitchA] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 73 bytes/sec, 584 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 161 packets, 22684 bytes, 0 drops

 

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 8.8.8.8, destination 9.9.9.9

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 153 bytes/sec, 1224 bits/sec, 0 packets/sec

Last 300 seconds output rate: 775 bytes/sec, 6200 bits/sec, 3 packets/sec

Input: 298 packets, 47222 bytes, 0 drops

Output: 978 packets, 233157 bytes, 0 drops

# 查看Switch A上的VSI信息。

[SwitchA] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

Tunnel2              0x5000002  UP       Manual      Disabled

  ACs:

    AC                                 Link ID    State       Type

    BAGG4 srv1000                      0          Up          Manual

    BAGG5 srv1000                      1          Up          Manual

(2)     驗證分布式VXLAN IP網關設備Switch C

# 查看Switch C的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchC] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 8 packets, 480 bytes, 0 drops

Output: 4 packets, 240 bytes, 0 drops

# 查看Switch C上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。

[SwitchC] dis l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

 

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway Interface       : VSI-interface 2

  VXLAN ID                : 20

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel1              0x5000001  UP       Manual      Disabled

(3)     驗證主機之間可以互訪

虛擬機VM 1、VM 2和VM 3之間可以互訪。虛擬機與Switch A或Switch B相連的鏈路斷開後,VM 1、VM 2和VM 3仍然可以通過另一台設備互訪。

 


4 VXLAN數據中心互聯

4.1  VXLAN數據中心互聯簡介

VXLAN隧道隻能用於數據中心內部,實現數據中心內部虛擬機的互聯。VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN數據中心互聯)隧道可以用來實現數據中心之間的互聯。

4.1.1  VXLAN數據中心互聯典型組網

VXLAN數據中心互聯典型組網如圖4-1所示。VXLAN-DCI隧道采用VXLAN封裝格式,該隧道的端點稱為ED(Edge Device,邊緣設備)。ED與數據中心內部的VTEP建立VXLAN隧道。ED從VXLAN隧道或VXLAN-DCI隧道上接收到報文後,解除VXLAN封裝,根據目的網絡重新對報文進行VXLAN封裝,並將其轉發到VXLAN-DCI隧道或VXLAN隧道,從而實現VXLAN跨數據中心之間的互通。

圖4-1 VXLAN數據中心互聯典型組網圖

 

4.1.2  VXLAN數據中心互聯工作機製

VXLAN數據中心互聯組網中,VTEP根據MAC地址表項對流量進行二層轉發。ED根據ARP表項或ND表項對流量進行三層轉發。

圖4-2 VXLAN數據中心互聯原理圖

 

圖4-2所示,所有的ED上都需要創建VSI虛接口,並為不同ED上的相同VSI虛接口配置相同的IP地址,作為VXLAN網絡內虛擬機的網關地址。在ED上還需要開啟本地代理ARP功能或本地ND代理功能。

4.1.3  相同VXLAN內不同站點的虛擬機通信過程

以VM 1訪問VM 4為例,相同VXLAN內不同站點的虛擬機的通信過程為:

(1)     VM 1廣播發送ARP請求消息,獲取VM 4的MAC地址。

(2)     VTEP 1收到ARP請求消息後,學習VM 1的MAC地址,並在VM 1所屬的VXLAN內廣播該ARP請求。

(3)     ED 1接收到ARP請求後,解除VXLAN封裝,學習VM 1的ARP信息,並代理應答該ARP請求,即:向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。ARP應答消息通過VXLAN隧道發送給VTEP 1。

(4)     VTEP 1解除VXLAN封裝,學習ED 1的MAC地址,並將ARP應答消息轉發給VM 1。

(5)     VM 1學習VM 4的MAC地址,該地址為ED 1上VSI虛接口10的MAC地址。

(6)     ED 1將接收到的ARP請求消息中的源MAC地址修改為VSI虛接口10的MAC地址,對該消息進行VXLAN封裝後,將其發送給VXLAN 10內的所有遠端ED。

(7)     ED 2對VXLAN報文進行解封裝後,學習VM 1的ARP信息(IP為10.1.1.100、MAC為ED 1上VSI虛接口10的MAC、出接口為接收該VXLAN報文的VXLAN-DCI模式Tunnel接口),將ARP請求消息中的源MAC修改為本地VSI虛接口10的MAC地址,並在VXLAN 10的所有VXLAN隧道上進行廣播。

(8)     VTEP 2收到ARP請求後,解除VXLAN封裝,學習ED 2的MAC地址,並向本地站點廣播該ARP請求。

(9)     VM 4收到ARP請求後,學習VM 1的ARP信息(IP為10.1.1.100、MAC為ED 2上VSI虛接口10的MAC),並發送ARP應答消息給VTEP 2。

(10)     VTEP 2 收到ARP應答消息後,查找MAC地址表,對報文進行VXLAN封裝後發送給ED 2。

(11)     ED 2根據接收到的ARP應答消息學習VM 4的ARP信息,將ARP應答消息中的源MAC修改為本地VSI虛接口10的MAC地址,並根據已經學習到的ARP表項,為ARP應答消息添加VXLAN封裝後發送給ED 1。

(12)     ED 1對VXLAN報文進行解封裝後,根據收到的ARP應答消息學習VM 4的ARP信息(IP為10.1.1.200、MAC為ED 2上VSI虛接口10的MAC、出接口為接收該VXLAN報文的VXLAN-DCI模式Tunnel接口)。

(13)     通過上述步驟完成MAC地址表項和ARP表項的學習後,VM 1發送給VM 4的報文,根據已經學習到的表項進行轉發:首先VTEP 1添加VXLAN封裝,發送給ED 1;ED 1重新進行VXLAN封裝後,通過VXLAN-DCI隧道將其發送給ED 2;ED 2重新封裝後,通過VXLAN隧道將其發送給VTEP 2;VTEP 2將報文轉發給VM 4。

4.1.4  不同VXLAN間不同站點的虛擬機通信過程

以VM 1訪問VM 5為例,不同VXLAN內虛擬機的通信過程為:

(1)     VM 1廣播發送ARP請求消息,獲取網關10.1.1.1的MAC地址。

(2)     VTEP 1收到ARP請求消息後,學習VM 1的MAC地址,並在VM 1所屬的VXLAN內廣播該ARP請求。

(3)     ED 1接收到ARP請求後,解除VXLAN封裝,學習VM 1的ARP信息,並向VM 1發送ARP應答消息,應答的MAC地址為VSI虛接口10的MAC地址。ARP應答消息通過VXLAN隧道發送給VTEP 1。

(4)     VTEP 1解除VXLAN封裝,學習ED 1的MAC地址,並將ARP應答消息轉發給VM 1。

(5)     VM 1學習網關的ARP信息,並將訪問VM 5的報文發送給VTEP 1。

(6)     VTEP 1查找MAC地址表項,添加VXLAN封裝後,將報文發送給ED 1。

(7)     ED 1收到數據報文後,解除VXLAN封裝,並根據報文的目的IP地址查找路由表。由於目的IP地址與VSI虛接口20的接口IP地址在同一網段,ED 1在VXLAN 20內向所有VTEP和ED廣播發送ARP請求,獲取VM 5的MAC地址。ARP請求的源IP地址為20.1.1.1、目標IP地址為20.1.1.200、源MAC為ED 1上VSI虛接口20的MAC地址。

(8)     ED 2接收到VXLAN報文後,對其進行解封裝,將ARP請求中的源MAC修改為本地VSI虛接口20的MAC地址,並在VXLAN 20的所有VXLAN隧道上廣播該ARP請求。

(9)     VTEP 2收到ARP請求後,解除VXLAN封裝,學習ED 2的MAC地址,並向本地站點廣播該ARP請求。

(10)     VM 5收到ARP請求後,學習ED 2的ARP信息(IP為20.1.1.1、MAC為ED 2上VSI虛接口20的MAC地址),並發送ARP應答消息給VTEP 2。

(11)     VTEP 2 收到ARP應答消息後,查找MAC地址表項,對報文進行VXLAN封裝後發送給ED 2。

(12)     ED 2根據接收到的ARP應答消息學習VM 5的ARP信息,並通過VXLAN-DCI隧道向ED 1發送免費ARP消息(源IP為20.1.1.200、目標IP為20.1.1.200、源MAC為ED 2上VSI虛接口20的MAC地址)。

(13)     ED 1對VXLAN報文進行解封裝後,根據收到的免費ARP消息學習VM 5的ARP信息(IP為20.1.1.200、 MAC為ED 2上VSI虛接口20的MAC地址、出接口為接收該VXLAN報文的VXLAN-DCI模式Tunnel接口)。

(14)     通過上述步驟ED 1學習到了VM 5的ARP信息,ED 2學習VM 1的ARP信息的過程同上麵過程類似。ED 1和ED 2均學習到VM 1和VM 5的ARP信息後,VM 1發送給VM 5的報文根據已經學習到的表項進行轉發。

4.2  VXLAN數據中心互聯與硬件適配關係

僅SF係列接口板、LSCM2係列SC主控板、SD係列接口板以及LSCM2SRP6C4Y06A0主控板支持VXLAN數據中心互聯功能。

4.3  VXLAN數據中心互聯配置限製和指導

VXLAN功能受設備的工作模式限製,僅專家模式支持VXLAN功能。有關設備工作模式的詳細介紹,請參見“基礎配置指導”中的“設備管理”。

同一端口不能同時支持作為VXLAN-DCI隧道的源接口以及創建以太網服務實例,如果同時配置了這兩者,則隻有作為VXLAN隧道的源接口生效。

在VXLAN數據中心互聯組網中,如果使用M-LAG係統作為ED,則對於LSCM2係列SC主控板和SD係列接口板,M-LAG係統隻能使用虛擬ED地址建立VXLAN-DCI隧道,不能使用M-LAG設備實際的IP地址建立VXLAN-DCI隧道。

4.4  VXLAN數據中心互聯配置任務簡介

在VXLAN數據中心互聯組網中,各設備上需要進行如下配置:

·     IP核心網絡中的設備配置路由協議,確保ED之間路由可達。

·     ED和VTEP上配置路由協議,確保二者之間路由可達。

·     ED和VTEP上配置VXLAN,在二者之間建立VXLAN隧道。

·     ED上配置VXLAN數據中心互聯,在ED之間建立VXLAN-DCI隧道。

ED上的VXLAN數據中心互聯配置任務如下:

(1)     創建VSI和VXLAN

配置方式請參見“2.5  創建VSI和VXLAN”。

(2)     創建VXLAN-DCI隧道

(3)     關聯VXLAN與VXLAN-DCI隧道

(4)     配置ED設備的網關接口

(5)     配置VSI虛接口

配置方式請參見“3.10  配置VSI虛接口”。

(6)     配置VXLAN報文相關功能

¡     配置VXLAN報文的目的UDP端口號

配置方式請參見“2.10  配置VXLAN報文的目的UDP端口號”。

¡     配置VXLAN報文檢查功能

配置方式請參見“2.11  配置VXLAN報文檢查功能”。

(7)     配置VXLAN流量統計

¡     配置VSI的報文統計功能

配置方式請參見“2.16.1  配置VSI的報文統計功能”。

¡     配置手工創建VXLAN-DCI隧道的報文統計功能

說明

本章隻介紹VXLAN數據中心互聯與VXLAN、VXLAN IP網關不同的配置,相同的配置請參見“2 配置VXLAN”和“3 VXLAN IP網關”的相關章節。

 

4.5  創建VXLAN-DCI隧道

1. 配置限製和指導

手工創建VXLAN隧道時,隧道的源端地址和目的端地址需要分別手工指定為本地和遠端ED的接口地址。在同一台設備上,VXLAN-DCI隧道模式的不同Tunnel接口建議不要同時配置完全相同的源端地址和目的端地址。

關於隧道的詳細介紹及Tunnel接口下的更多配置命令,請參見“三層技術-IP業務配置指導”中的“隧道”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建模式為VXLAN-DCI隧道的Tunnel接口,並進入Tunnel接口視圖。

interface tunnel tunnel-number mode vxlan-dci [ ipv6 ]

在隧道的兩端應配置相同的隧道模式,否則會造成報文傳輸失敗。

(3)     配置隧道的源端地址。請選擇其中一項進行配置。

¡     直接指定隧道的源端地址。

source { ipv4-address | ipv6-address }

指定的地址將作為封裝後VXLAN報文的源IP地址。

¡     指定隧道的源接口。

source interface-type interface-number

采用指定接口的IP地址作為封裝後VXLAN報文的源IP地址。

缺省情況下,未設置VXLAN隧道的源端地址。

(4)     配置隧道的目的端地址。

destination { ipv4-address | ipv6-address }

缺省情況下,未指定隧道的目的端地址。

隧道的目的端地址是對端設備上接口的IP地址,該地址將作為封裝後VXLAN報文的目的地址。

4.6  關聯VXLAN與VXLAN-DCI隧道

1. 功能簡介

一個VXLAN可以關聯多條VXLAN-DCI隧道。一條VXLAN-DCI隧道可以關聯多個VXLAN,這些VXLAN共用該VXLAN-DCI隧道,ED根據VXLAN報文中的VXLAN ID來識別隧道傳遞的報文所屬的VXLAN。ED接收到某個VXLAN的泛洪流量後,如果采用單播路由泛洪方式,則ED將在與該VXLAN關聯的所有VXLAN-DCI隧道上發送該流量,以便將流量轉發給所有的遠端VTEP。

2. 配置限製和指導

ED必須與相同VXLAN內的其它ED建立VXLAN-DCI隧道,並將該隧道與VXLAN關聯。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     進入VXLAN視圖。

vxlan vxlan-id

(4)     配置VXLAN與VXLAN-DCI隧道關聯。

tunnel { tunnel-number [ remote-vni vxlan-id ] | all }

缺省情況下,VXLAN未關聯VXLAN-DCI隧道。

屬於同一用戶的不同數據中心使用不同的VXLAN ID時,需要在數據中心的ED上指定remote-vni vxlan-id參數,以便ED將本地VXLAN ID替換為指定的遠端VXLAN ID。

4.7  配置ED設備的網關接口

(1)     進入係統視圖。

system-view

(2)     創建VSI虛接口,並進入VSI虛接口視圖。

interface vsi-interface vsi-interface-id

(3)     配置VSI虛接口的IP地址。

(IPv4網絡)

ip address ip-address { mask | mask-length } [ sub ]

(IPv6網絡)

IPv6地址的配置方法,請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。

缺省情況下,未配置VSI虛接口的IP地址。

(4)     配置VSI虛接口為分布式網關接口。

distributed-gateway local

缺省情況下,VSI虛接口不是分布式本地網關接口。

(5)     開啟本地代理ARP或本地ND代理功能。

(IPv4網絡)

local-proxy-arp enable [ ip-range startIP to endIP ]

缺省情況下,本地代理ARP功能處於關閉狀態。

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“代理ARP”。

(IPv6網絡)

local-proxy-nd enable

缺省情況下,本地ND代理功能處於關閉狀態。

本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。

(6)     開啟當前接口。

undo shutdown

缺省情況下,接口處於開啟狀態。

(7)     退回係統視圖。

quit

(8)     進入VSI視圖。

vsi vsi-name

(9)     為VSI指定網關接口。

gateway vsi-interface vsi-interface-id

缺省情況下,沒有為VSI指定網關接口。

4.8  配置手工創建VXLAN-DCI隧道的報文統計功能

1. 功能簡介

通過本配置開啟手工創建VXLAN-DCI隧道的報文統計功能後,設備會對VXLAN-DCI隧道上轉發的報文進行統計。通過display interface tunnel命令可以查看統計信息,通過reset counters interface tunnel命令可以清除VXLAN-DCI隧道的統計信息。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入模式為VXLAN-DCI隧道的Tunnel接口視圖。

interface tunnel tunnel-number [ mode vxlan-dci [ ipv6 ] ]

(3)     開啟手工創建VXLAN-DCI隧道的報文統計功能。

statistics enable

缺省情況下,手工創建VXLAN-DCI隧道的報文統計功能處於關閉狀態。

4.9  VXLAN數據中心互聯顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後VXLAN數據中心互聯的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下,用戶可以執行reset命令來清除VXLAN數據中心互聯的相關信息。

表4-1 VXLAN數據中心互聯顯示和維護

操作

命令

顯示Tunnel接口信息

display interface [ tunnel [ number ] ] [ brief [ description | down ] ]

顯示VSI的信息

display l2vpn vsi [ name vsi-name ] [ verbose ]

顯示VXLAN關聯的VXLAN-DCI隧道信息

display vxlan tunnel [ vxlan-id vxlan-id [ tunnel tunnel-number ] ]

清除VSI的報文統計信息

reset l2vpn statistics vsi [ name vsi-name ]

 

說明

display interface tunnel命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“隧道”。

 

4.10  VXLAN數據中心互聯典型配置舉例

4.10.1  VXLAN數據中心互聯基本配置舉例

1. 組網需求

Switch B、Switch D為ED。虛擬機VM 1、VM 3屬於VXLAN 10,VM 2屬於VXLAN 20。通過VXLAN數據中心互聯實現不同數據中心、不同VXLAN網絡的互聯。

具體需求為:

·     手工建立VXLAN隧道和VXLAN-DCI隧道。

·     手工關聯VXLAN和VXLAN隧道、VXLAN-DCI隧道。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

2. 組網圖

圖4-3 VXLAN數據中心互聯配置組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址和單播路由協議

配置各接口的IP地址和子網掩碼;在各台交換機上配置OSPF協議,確保交換機之間路由可達;配置Switch B和Switch D發布10.1.1.0/24、10.1.2.0/24網段的路由,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchA] interface loopback 0

[SwitchA-Loopback0] ip address 1.1.1.1 255.255.255.255

[SwitchA-Loopback0] quit

# 在Switch A和Switch B之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址1.1.1.1。

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。

[SwitchA] interface tunnel 1 mode vxlan

[SwitchA-Tunnel1] source 1.1.1.1

[SwitchA-Tunnel1] destination 2.2.2.2

[SwitchA-Tunnel1] quit

# 配置Tunnel1與VXLAN 10關聯。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

[SwitchA-vsi-vpna-vxlan-10] tunnel 1

[SwitchA-vsi-vpna-vxlan-10] quit

[SwitchA-vsi-vpna] quit

# 配置Tunnel1與VXLAN 20關聯。

[SwitchA] vsi vpnb

[SwitchA-vsi-vpnb] vxlan 20

[SwitchA-vsi-vpnb-vxlan-20] tunnel 1

[SwitchA-vsi-vpnb-vxlan-20] quit

[SwitchA-vsi-vpnb] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 100的數據幀,並將該服務實例與VSI實例vpna關聯。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 100

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 100

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/2上創建以太網服務實例1000,該實例用來匹配VLAN 200的數據幀,並將該服務實例與VSI實例vpnb關聯。

[SwitchA] interface ten-gigabitethernet 3/0/2

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 200

[SwitchA-Ten-GigabitEthernet3/0/2] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/2-srv1000] encapsulation s-vid 200

[SwitchA-Ten-GigabitEthernet3/0/2-srv1000] xconnect vsi vpnb

[SwitchA-Ten-GigabitEthernet3/0/2-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/2] quit

(4)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchB] interface loopback 0

[SwitchB-Loopback0] ip address 2.2.2.2 255.255.255.255

[SwitchB-Loopback0] quit

# 在Switch B和Switch A之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址2.2.2.2。

¡     指定隧道的目的端地址為Switch A上接口Loopback0的地址1.1.1.1。

[SwitchB] interface tunnel 1 mode vxlan

[SwitchB-Tunnel1] source 2.2.2.2

[SwitchB-Tunnel1] destination 1.1.1.1

[SwitchB-Tunnel1] quit

# 在Switch B和Switch D之間建立VXLAN-DCI隧道:

¡     創建模式為VXLAN-DCI的隧道接口Tunnel2。

¡     指定隧道的源端地址為本地接口Loopback0的地址2.2.2.2。

¡     指定隧道的目的端地址為Switch D上接口Loopback0的地址3.3.3.3。

[SwitchB] interface tunnel 2 mode vxlan-dci

[SwitchB-Tunnel2] source 2.2.2.2

[SwitchB-Tunnel2] destination 3.3.3.3

[SwitchB-Tunnel2] quit

# 配置Tunnel1、Tunnel2與VXLAN 10關聯。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

[SwitchB-vsi-vpna-vxlan-10] tunnel 1

[SwitchB-vsi-vpna-vxlan-10] tunnel 2

[SwitchB-vsi-vpna-vxlan-10] quit

[SwitchB-vsi-vpna] quit

# 配置Tunnel1、Tunnel2與VXLAN 20關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 20

[SwitchB-vsi-vpnb-vxlan-20] tunnel 1

[SwitchB-vsi-vpnb-vxlan-20] tunnel 2

[SwitchB-vsi-vpnb-vxlan-20] quit

[SwitchB-vsi-vpnb] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchB] interface vsi-interface 1

[SwitchB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchB-Vsi-interface1] distributed-gateway local

[SwitchB-Vsi-interface1] local-proxy-arp enable

[SwitchB-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchB-Vsi-interface2] distributed-gateway local

[SwitchB-Vsi-interface2] local-proxy-arp enable

[SwitchB-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchB] arp distributed-gateway dynamic-entry synchronize

# 為VXLAN 10所在的VSI實例vpna指定VSI虛接口VSI-interface1。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] gateway vsi-interface 1

[SwitchB-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] gateway vsi-interface 2

[SwitchB-vsi-vpnb] quit

(5)     配置Switch D

# 開啟L2VPN能力。

<SwitchD> system-view

[SwitchD] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchD] vsi vpna

[SwitchD-vsi-vpna] vxlan 10

[SwitchD-vsi-vpna-vxlan-10] quit

[SwitchD-vsi-vpna] quit

# 創建VSI實例vpnb和VXLAN 20。

[SwitchD] vsi vpnb

[SwitchD-vsi-vpnb] vxlan 20

[SwitchD-vsi-vpnb-vxlan-20] quit

[SwitchD-vsi-vpnb] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchD] interface loopback 0

[SwitchD-Loopback0] ip address 3.3.3.3 255.255.255.255

[SwitchD-Loopback0] quit

# 在Switch D和Switch E之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址3.3.3.3。

¡     指定隧道的目的端地址為Switch E上接口Loopback0的地址4.4.4.4。

[SwitchD] interface tunnel 1 mode vxlan

[SwitchD-Tunnel1] source 3.3.3.3

[SwitchD-Tunnel1] destination 4.4.4.4

[SwitchD-Tunnel1] quit

# 在Switch D和Switch B之間建立VXLAN-DCI隧道:

¡     創建模式為VXLAN-DCI的隧道接口Tunnel2。

¡     指定隧道的源端地址為本地接口Loopback0的地址3.3.3.。

¡     指定隧道的目的端地址為Switch B上接口Loopback0的地址2.2.2.2。

[SwitchD] interface tunnel 2 mode vxlan-dci

[SwitchD-Tunnel2] source 3.3.3.3

[SwitchD-Tunnel2] destination 2.2.2.2

[SwitchD-Tunnel2] quit

# 配置Tunnel1、Tunnel2與VXLAN 10關聯。

[SwitchD] vsi vpna

[SwitchD-vsi-vpna] vxlan 10

[SwitchD-vsi-vpna-vxlan-10] tunnel 1

[SwitchD-vsi-vpna-vxlan-10] tunnel 2

[SwitchD-vsi-vpna-vxlan-10] quit

[SwitchD-vsi-vpna] quit

# 配置Tunnel2與VXLAN 20關聯。

[SwitchD] vsi vpnb

[SwitchD-vsi-vpnb] vxlan 20

[SwitchD-vsi-vpnb-vxlan-20] tunnel 2

[SwitchD-vsi-vpnb-vxlan-20] quit

[SwitchD-vsi-vpnb] quit

# 創建VSI虛接口VSI-interface1,並為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchD] interface vsi-interface 1

[SwitchD-Vsi-interface1] ip address 10.1.1.1 255.255.255.0

[SwitchD-Vsi-interface1] distributed-gateway local

[SwitchD-Vsi-interface1] local-proxy-arp enable

[SwitchD-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,並為其配置IP地址,該IP地址作為VXLAN 20內虛擬機的網關地址,指定該VSI虛接口為分布式本地網關接口,並開啟本地代理ARP功能。

[SwitchD] interface vsi-interface 2

[SwitchD-Vsi-interface2] ip address 10.1.2.1 255.255.255.0

[SwitchD-Vsi-interface2] distributed-gateway local

[SwitchD-Vsi-interface2] local-proxy-arp enable

[SwitchD-Vsi-interface2] quit

# 開啟分布式網關的動態ARP表項同步功能。

[SwitchD] arp distributed-gateway dynamic-entry synchronize

# 為VXLAN 10所在的VSI實例vpna指定VSI虛接口VSI-interface1。

[SwitchD] vsi vpna

[SwitchD-vsi-vpna] gateway vsi-interface 1

[SwitchD-vsi-vpna] quit

# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。

[SwitchD] vsi vpnb

[SwitchD-vsi-vpnb] gateway vsi-interface 2

[SwitchD-vsi-vpnb] quit

(6)     配置Switch E

# 開啟L2VPN能力。

<SwitchE> system-view

[SwitchE] l2vpn enable

# 創建VSI實例vpna和VXLAN 10。

[SwitchE] vsi vpna

[SwitchE-vsi-vpna] vxlan 10

[SwitchE-vsi-vpna-vxlan-10] quit

[SwitchE-vsi-vpna] quit

# 配置接口Loopback0的IP地址,作為隧道的源端地址。

[SwitchE] interface loopback 0

[SwitchE-Loopback0] ip address 4.4.4.4 255.255.255.255

[SwitchE-Loopback0] quit

# 在Switch E和Switch D之間建立VXLAN隧道:

¡     創建模式為VXLAN的隧道接口Tunnel1。

¡     指定隧道的源端地址為本地接口Loopback0的地址4.4.4.4。

¡     指定隧道的目的端地址為Switch D上接口Loopback0的地址3.3.3.3。

[SwitchE] interface tunnel 1 mode vxlan

[SwitchE-Tunnel1] source 4.4.4.4

[SwitchE-Tunnel1] destination 3.3.3.3

[SwitchE-Tunnel1] quit

# 配置Tunnel1與VXLAN 10關聯。

[SwitchE] vsi vpna

[SwitchE-vsi-vpna] vxlan 10

[SwitchE-vsi-vpna-vxlan-10] tunnel 1

[SwitchE-vsi-vpna-vxlan-10] quit

[SwitchE-vsi-vpna] quit

# 在接入服務器的接口Ten-GigabitEthernet3/0/1上創建以太網服務實例1000,該實例用來匹配VLAN 100的數據幀。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] port link-type trunk

[SwitchA-Ten-GigabitEthernet3/0/1] port trunk permit vlan 100

[SwitchA-Ten-GigabitEthernet3/0/1] service-instance 1000

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] encapsulation s-vid 100

# 配置以太網服務實例1000與VSI實例vpna關聯。

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] xconnect vsi vpna

[SwitchA-Ten-GigabitEthernet3/0/1-srv1000] quit

[SwitchA-Ten-GigabitEthernet3/0/1] quit

4. 驗證配置

(1)     驗證ED(下文以Switch B為例,其它設備驗證方法與此類似)

# 查看Switch B上的Tunnel接口信息,可以看到VXLAN模式和VXLAN-DCI模式的Tunnel接口處於up狀態。

[SwitchB] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 1.1.1.1

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

 

Tunnel2

Current state: UP

Line protocol state: UP

Description: Tunnel2 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 64000

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 2.2.2.2, destination 3.3.3.3

Tunnel protocol/transport UDP_VXLAN_DCI/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。

[SwitchB] display interface vsi-interface

Vsi-interface1

Current state: UP

Line protocol state: UP

Description: Vsi-interface1 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet address: 10.1.1.1/24 (primary)

IP packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-2200-0102

IPv6 packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-2200-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

 

Vsi-interface2

Current state: UP

Line protocol state: UP

Description: Vsi-interface2 Interface

Bandwidth: 1000000 kbps

Maximum transmission unit: 1444

Internet address: 10.1.2.1/24 (primary)

IP packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-3300-0102

IPv6 packet frame type:PKTFMT_ETHNT_2, hardware address: 0011-3300-0102

Physical: Unknown, baudrate: 1000000 kbps

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch B上的VSI信息,可以看到VSI內創建的VXLAN,與VSI關聯的VSI虛接口,以及VXLAN關聯的VXLAN隧道、VXLAN-DCI隧道等信息。

[SwitchB] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway interface       : VSI-interface 1

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

 

VSI Name: vpnb

  VSI Index               : 1

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  Gateway interface       : VSI-interface 2

  VXLAN ID                : 20

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

# 查看Switch B上VSI的ARP表項信息,可以看到已學習到了虛擬機的ARP信息。

(2)     驗證主機

虛擬機VM 1、VM 2、VM 3之間可以互訪。


5 OVSDB-VTEP

5.1  OVSDB-VTEP簡介

OVSDB(Open vSwitch Database,開源虛擬交換機數據庫)控製協議用來實現NVC(Network Virtualization Controller,網絡虛擬化控製器)對網絡中VTEP設備的管理和部署。

5.1.1  工作機製

圖5-1所示,VTEP設備上維護OVSDB數據庫,VXLAN相關配置以表項的形式保存在該數據庫中。控製器與VTEP設備上的OVSDB服務器建立連接,二者采用OVSDB控製協議進行交互並操作OVSDB數據庫中的數據。OVSDB VTEP服務從OVSDB服務器獲取數據庫中的數據,將其轉變為VXLAN相關配置(例如創建或刪除VXLAN、創建或刪除VXLAN隧道)下發到設備上。同時,OVSDB VTEP服務也會通過OVSDB服務器,將本地的用戶側接入端口和VXLAN隧道全局源地址信息添加到數據庫中,並上報給控製器。

圖5-1 OVSDB-VTEP示意圖

 

5.1.2  協議規範

與OVSDB相關的協議規範有:

·     RFC 7047:The Open vSwitch Database Management Protocol

5.2  OVSDB-VTEP配置限製和指導

用戶可以同時通過命令行和控製器配置VTEP設備。建議不要在VTEP設備上通過命令行刪除控製器下發的配置。

5.3  OVSDB-VTEP配置任務簡介

要實現控製器對VTEP設備的部署,需要在VTEP設備上進行如下配置:

(1)     與控製器建立OVSDB連接

¡     與控製器建立主動SSL連接

¡     與控製器建立被動SSL連接

¡     與控製器建立主動TCP連接

¡     與控製器建立被動TCP連接

(2)     開啟OVSDB服務器

(3)     開啟OVSDB VTEP服務

(4)     配置VXLAN隧道的全局源地址

(5)     指定用戶側的接入端口

(6)     (可選)開啟禁止控製器下發的ACL在VTEP上生效功能

5.4  OVSDB-VTEP配置準備

在進行OVSDB-VTEP相關配置前,需要首先通過l2vpn enable命令開啟L2VPN功能。

如果OVSDB服務器與控製器之間建立SSL連接,則還需要完成SSL相關配置,詳細配置方法請參見“安全配置指導”中的“SSL”。

5.5  與控製器建立OVSDB連接

5.5.1  OVSDB連接類型

OVSDB服務器和控製器之間可以建立多種類型的OVSDB連接,設備支持的OVSDB連接類型包括:

·     主動SSL連接:OVSDB服務器主動向控製器發起SSL連接。

·     被動SSL連接:OVSDB服務器監聽並接收來自控製器的SSL連接請求。

·     主動TCP連接:OVSDB服務器主動向控製器發起TCP連接。

·     被動TCP連接:OVSDB服務器監聽並接收來自控製器的TCP連接請求。

5.5.2  配置限製和指導

配置OVSDB服務器與控製器建立OVSDB連接時,需要注意:

·     OVSDB服務器支持同時與多個控製器建立連接,且支持同時建立多種類型的連接。

·     在開啟OVSDB服務器之前,必須先建立OVSDB連接。如果在開啟OVSDB服務器之後修改OVSDB連接,那麼需要關閉OVSDB服務器後再重新開啟,新的連接配置才能生效。

·     所有SSL連接,包括主動SSL連接和被動SSL連接,需要使用相同的PKI域和CA證書文件。

5.5.3  配置準備

OVSDB服務器與控製器主動SSL連接和被動SSL連接前,需要先創建PKI域,具體方法請參見“安全配置指導”中的“PKI”。

5.5.4  與控製器建立主動SSL連接

(1)     進入係統視圖。

system-view

(2)     指定與控製器進行SSL通信時使用的PKI域。

ovsdb server pki domain domain-name

缺省情況下,未指定與控製器進行SSL通信時使用的PKI域。

(3)     (可選)設置SSL通信時使用的CA證書文件。

ovsdb server bootstrap ca-certificate ca-filename

缺省情況下,與控製器進行SSL通信時使用PKI域中的CA證書文件。

如果指定的CA證書文件不存在,則使用開啟OVSDB服務器時通過SSL連接獲取的自簽名證書,並通過本命令指定證書文件名。

(4)     與控製器建立主動SSL連接。

ovsdb server ssl ip ip-address port port-number

缺省情況下,不會與控製器建立主動SSL連接。

OVSDB服務器最多可以同時與8個控製器建立主動SSL連接。

5.5.5  與控製器建立被動SSL連接

(1)     進入係統視圖。

system-view

(2)     指定與控製器進行SSL通信時使用的PKI域。

ovsdb server pki domain domain-name

缺省情況下,未指定與控製器進行SSL通信時使用的PKI域。

(3)     (可選)設置SSL通信時使用的CA證書文件。

ovsdb server bootstrap ca-certificate ca-filename

缺省情況下,與控製器進行SSL通信時使用PKI域中的CA證書文件。

如果指定的CA證書文件不存在,則使用開啟OVSDB服務器時通過SSL連接獲取的自簽名證書,並通過本命令指定證書文件名。

(4)     與控製器建立被動SSL連接。

ovsdb server pssl [ port  port-number ]

缺省情況下,不會與控製器建立被動SSL連接。

OVSDB服務器隻能監聽1個端口的SSL連接請求。

5.5.6  與控製器建立主動TCP連接

(1)     進入係統視圖。

system-view

(2)     與控製器建立主動TCP連接。

ovsdb server tcp ip ip-address port port-number

缺省情況下,不會與控製器建立主動TCP連接。

OVSDB服務器最多可以同時與8個控製器建立主動TCP連接。

5.5.7  與控製器建立被動TCP連接

(1)     進入係統視圖。

system-view

(2)     與控製器建立被動TCP連接。

ovsdb server ptcp [ port port-number ] [ acl acl-number ]

缺省情況下,不會與控製器建立被動TCP連接。

OVSDB服務器隻能監聽1個端口的TCP連接請求。

5.6  開啟OVSDB服務器

1. 配置準備

在開啟OVSDB服務器之前,必須先建立OVSDB連接。如果在開啟OVSDB服務器之後修改OVSDB連接,那麼需要關閉OVSDB服務器後再重新開啟,新的連接配置才能生效。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟OVSDB服務器。

ovsdb server enable

缺省情況下,OVSDB服務器處於關閉狀態。

5.7  開啟OVSDB VTEP服務

(1)     進入係統視圖。

system-view

(2)     開啟OVSDB VTEP服務。

vtep enable

缺省情況下,OVSDB VTEP服務處於關閉狀態。

5.8  配置VXLAN隧道的全局源地址

1. 功能簡介

用戶需要在VTEP設備上配置VXLAN隧道的全局源地址,該地址會通過OVSDB協議上報給控製器,用於控製器對VTEP設備進行部署和控製。

2. 配置限製和指導

采用OVSDB對VTEP設備進行部署和控製時,用戶不能在VXLAN隧道的Tunnel接口下手工指定源地址,否則會影響控製器對VTEP設備的管理。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置VXLAN隧道的全局源地址。

tunnel global source-address { ipv4-address | ipv6 ipv6-address }

缺省情況下,未配置VXLAN隧道的全局源地址。

5.9  指定用戶側的接入端口

1. 功能簡介

為了在控製器上顯示VTEP上的端口並對其進行控製,必須在VTEP上將該端口配置為用戶側的接入端口。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     指定當前接口為用戶側的接入端口。

vtep access port

缺省情況下,當前接口不是用戶側的接入端口。

5.10  開啟禁止控製器下發的ACL在VTEP上生效功能

1. 功能簡介

在OVSDB-VTEP組網中,控製器通過OVSDB控製協議下發ACL到VTEP,占用VTEP上的ACL資源。通過配置本命令,用戶可以禁止控製器下發的ACL在VTEP上生效,以便節約設備上的ACL資源。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟禁止控製器下發的ACL在VTEP上生效功能。

vtep acl disable

缺省情況下,控製器下發的ACL在VTEP上生效。

5.11  OVSDB-VTEP典型配置舉例

5.11.1  OVSDB-VTEP頭端複製配置舉例

1. 組網需求

Switch A、Switch B、Switch C為與服務器連接的VTEP設備。虛擬機VM 1、VM 2和VM 3同屬於VXLAN 10。通過VXLAN實現不同站點間的二層互聯,確保虛擬機在站點之間進行遷移時用戶的訪問流量不會中斷。

具體需求為:

·     通過控製器下發配置,在不同VTEP之間建立VXLAN隧道。

·     站點之間的泛洪流量采用頭端複製的方式轉發。

2. 組網圖

圖5-2 OVSDB-VTEP頭端複製組網圖

3. 配置步驟

(1)     創建VLAN和VLAN接口

根據組網圖,完成各個VLAN和VLAN接口的創建,具體配置過程略。

(2)     配置IP地址、單播路由協議、控製器

配置各接口的IP地址和子網掩碼,並在IP核心網絡內配置OSPF協議,具體配置過程略。

(3)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置與控製器建立主動TCP連接,TCP連接的目的地址為10.0.2.15(控製器的地址),目的端口號為6632。

[SwitchA] ovsdb server tcp ip 10.0.2.15 port 6632

# 開啟OVSDB服務器。

[SwitchA] ovsdb server enable

# 開啟OVSDB VTEP服務。

[SwitchA] vtep enable

# 配置接口Loopback0的IP地址,作為VXLAN隧道的全局源地址。

[SwitchA] interface loopback 0

[SwitchA-LoopBack0] ip address 1.1.1.1 255.255.255.255

[SwitchA-LoopBack0] quit

[SwitchA] tunnel global source-address 1.1.1.1

# 指定接入服務器的接口Ten-GigabitEthernet3/0/1上為用戶側的接入端口。

[SwitchA] interface ten-gigabitethernet 3/0/1

[SwitchA-Ten-GigabitEthernet3/0/1] vtep access port

[SwitchA-Ten-GigabitEthernet3/0/1] quit

(4)     配置Switch B

# 開啟L2VPN功能。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置與控製器建立主動TCP連接,TCP連接的目的地址為10.0.2.15(控製器的地址),目的端口號為6632。

[SwitchB] ovsdb server tcp 10.0.2.15 port 6632

# 開啟OVSDB服務器。

[SwitchB] ovsdb server enable

# 開啟OVSDB VTEP服務。

[SwitchB] vtep enable

# 配置接口Loopback0的IP地址,作為VXLAN隧道的全局源地址。

[SwitchB] interface loopback 0

[SwitchB-LoopBack0] ip address 2.2.2.2 255.255.255.255

[SwitchB-LoopBack0] quit

[SwitchB] tunnel global source-address 2.2.2.2

# 指定接入服務器的接口Ten-GigabitEthernet3/0/1上為用戶側的接入端口。

[SwitchB] interface ten-gigabitethernet 3/0/1

[SwitchB-Ten-GigabitEthernet3/0/1] vtep access port

[SwitchB-Ten-GigabitEthernet3/0/1] quit

(5)     配置Switch C

# 開啟L2VPN功能。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 配置與控製器建立主動TCP連接,TCP連接的目的地址為10.0.2.15(控製器的地址),目的端口號為6632。

[SwitchC] ovsdb server tcp ip 10.0.2.15 port 6632

# 開啟OVSDB服務器。

[SwitchC] ovsdb server enable

# 開啟OVSDB VTEP服務。

[SwitchC] vtep enable

# 配置接口Loopback0的IP地址,作為VXLAN隧道的全局源地址。

[SwitchC] interface loopback 0

[SwitchC-LoopBack0] ip address 3.3.3.3 255.255.255.255

[SwitchC-LoopBack0] quit

[SwitchC] tunnel global source-address 3.3.3.3

# 指定接入服務器的接口Ten-GigabitEthernet3/0/1上為用戶側的接入端口。

[SwitchC] interface ten-gigabitethernet 3/0/1

[SwitchC-Ten-GigabitEthernet3/0/1] vtep access port

[SwitchC-Ten-GigabitEthernet3/0/1] quit

(6)     控製器上進行VXLAN配置(略)

4. 驗證配置

(1)     驗證VTEP設備(下文以Switch A為例,其它設備驗證方法與此類似)

# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。

[SwitchA] display interface tunnel

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1464

Internet protocol processing: Disabled

Last clearing of counters: Never

Tunnel source 1.1.1.1, destination 2.2.2.2

Tunnel protocol/transport UDP_VXLAN/IP

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 查看Switch A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的以太網服務實例等信息。

[SwitchA] display l2vpn vsi verbose

VSI Name: evpn2014

  VSI Index               : 0

  VSI State               : Up

  MTU                     : 1500

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : Enabled

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 10

  VLAN ID                 : -

  Tunnels:

    Tunnel Name          Link ID    State  Type        Flood proxy

    Tunnel1              0x5000001  Up     Manual      Disabled

    Tunnel2              0x5000002  Up     Manual      Disabled

  ACs:

    AC                               Link ID    State    Type

    XGE1/0/1 srv2                    0          Up       Manual

# 查看Switch A上VSI的MAC地址表項信息,可以看到已學習到的MAC地址信息。

<SwitchA> display l2vpn mac-address

* - The output interface is issued to another VSI

MAC Address    State     VSI Name                        Link ID/Name   Aging

cc3e-5f9c-6cdb Dynamic   evpn2014                        Tunnel1        Aging

cc3e-5f9c-23dc Dynamic   evpn2014                        Tunnel2        Aging

--- 2 mac address(es) found  ---

(2)     驗證主機

虛擬機VM 1、VM 2、VM 3之間可以互訪。

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們