02-EVPN VXLAN配置
本章節下載: 02-EVPN VXLAN配置 (1.01 MB)
目 錄
2.5.6 配置發布以太網自動發現路由和MAC/IP發布路由時忽略以太網標簽
2.6.4 配置BGP路由根據路由策略來過濾迭代到的下一跳路由
2.6.5 配置BGP EVPN路由進行下一跳路由迭代時不能迭代到缺省路由
2.10.3 配置禁止EVPN從ARP信息中學習MAC地址表項
2.11.1 配置將包含ARP信息的MAC/IP發布路由引入BGP單播路由表
EVPN路由可以用來在VXLAN網絡中搭建VXLAN隧道、同步MAC地址信息等,以實現VXLAN組網,該網絡稱為EVPN VXLAN。與傳統VXLAN網絡相比,EVPN VXLAN網絡可以實現隧道的自動建立與關聯,簡化配置。
圖1-1 EVPN網絡模型示意圖
如圖1-1所示,EVPN的典型網絡模型中包括如下幾部分:
· 用戶終端(Terminal):可以是PC機、無線終端設備、服務器上創建的VM(Virtual Machine,虛擬機)等。不同的用戶終端可以屬於不同的VXLAN。屬於相同VXLAN的用戶終端處於同一個邏輯二層網絡,彼此之間二層互通;屬於不同VXLAN的用戶終端之間二層隔離。
本文檔中如無特殊說明,均以VM為例介紹EVPN工作機製。采用其他類型用戶終端時,EVPN工作機製與VM相同,不再贅述。
· VTEP(VXLAN Tunnel End Point,VXLAN隧道端點):EVPN的邊緣設備。EVPN的相關處理都在VTEP上進行。
· VXLAN隧道:兩個VTEP之間的點到點邏輯隧道。VTEP為數據幀封裝VXLAN頭、UDP頭和IP頭後,通過VXLAN隧道將封裝後的報文轉發給遠端VTEP,遠端VTEP對其進行解封裝。
· 核心設備:IP核心網絡中的設備(如圖1-1中的P設備)。核心設備不參與EVPN處理,僅需要根據封裝後報文的外層目的IP地址對報文進行三層轉發。
· VXLAN網絡/EVPN實例:用戶網絡可能包括分布在不同地理位置的多個站點內的用戶終端。在骨幹網上可以利用VXLAN隧道將這些站點連接起來,為用戶提供一個邏輯的二層VPN。這個二層VPN稱為一個VXLAN網絡,也稱為EVPN實例。VXLAN網絡通過VXLAN ID來標識,VXLAN ID又稱VNI(VXLAN Network Identifier,VXLAN網絡標識符),其長度為24比特。不同VXLAN網絡中的用戶終端不能二層互通。
· VSI(Virtual Switch Instance,虛擬交換實例):VTEP上為一個VXLAN提供二層交換服務的虛擬交換實例。VSI可以看作是VTEP上的一台基於VXLAN進行二層轉發的虛擬交換機。VSI與VXLAN一一對應。
· ES(Ethernet Segment,以太網段):用戶站點連接到VTEP的鏈路,通過ESI(Ethernet Segment Identifier,以太網段標識符)唯一標識。目前,一個用戶站點隻能通過一條鏈路連接一台VTEP,該ES的ESI為0。
在EVPN的二層轉發組網中,VTEP可以通過以下方式自動發現鄰居、建立隧道並關聯隧道:
· IMET路由方式:VTEP通過IMET路由通告自己的VXLAN信息。這樣,每個VTEP設備都能獲取到網絡中所有的VTEP及其所屬VXLAN信息。如果本地VTEP和遠端VTEP屬於同一個VXLAN,則自動在二者之間建立VXLAN隧道,並將該隧道與該VXLAN關聯。
· MAC/IP發布路由方式:VTEP通過MAC/IP發布路由通告本地MAC地址和VXLAN信息。這樣,每個VTEP設備都能通過接收到的MAC/IP發布路由獲取到網絡中的VTEP及其所屬VXLAN信息。如果本地VTEP和遠端VTEP屬於同一個VXLAN,則自動在二者之間建立VXLAN隧道,並將該隧道與該VXLAN關聯。
在EVPN的三層轉發組網中,VTEP可以通過以下方式自動發現鄰居、建立隧道並關聯隧道:
· IMET路由方式:VTEP通過IMET路由通告自己的VXLAN信息。這樣,每個VTEP設備都能獲取到網絡中所有的VTEP及其所屬VXLAN信息。如果本地VTEP和遠端VTEP屬於同一個VXLAN,則自動在二者之間建立VXLAN隧道,並將該隧道與該VXLAN關聯。
· MAC/IP發布路由和IP前綴路由方式:在EVPN的三層轉發組網中,當本地VTEP接收到遠端VTEP通告的MAC/IP發布路由或IP前綴路由,且該路由攜帶的Export target屬性與本地某個VPN實例的Import target屬性匹配時,本地VTEP會與遠端VTEP建立VXLAN隧道,並將該VXLAN隧道與VPN實例對應的L3VNI(Layer 3 VNI,三層VXLAN ID)關聯。L3VNI的詳細介紹,請參見“1.6 分布式EVPN網關”。
EVPN的MAC地址/ARP表項學習、流量轉發均基於報文所屬的VXLAN進行,因此,VTEP接收到報文需要識別報文所屬的VXLAN。
VTEP將連接本地站點的三層接口與VSI關聯。VTEP從三層接口或以太網服務實例接收到數據幀後,查找與其關聯的VSI,VSI內創建的VXLAN即為該數據幀所屬的VXLAN。
在VXLAN中,與VSI關聯的三層接口稱為AC(Attachment Circuit,接入電路)。
如圖1-2所示,VM 1屬於VLAN 2,在VTEP上配置以太網服務實例1匹配VLAN 2的報文,將以太網服務實例1與VSI A綁定,並在VSI A內創建VXLAN 10,則VTEP接收到VM 1發送的數據幀後,可以判定該數據幀屬於VXLAN 10。
對於從VXLAN隧道上接收到的VXLAN報文,VTEP根據報文中攜帶的VXLAN ID判斷該報文所屬的VXLAN。
VTEP根據學習到的MAC地址表項轉發二層單播流量。VTEP上MAC地址學習分為兩部分:
· 本地MAC地址學習:學習本地站點內虛擬機的MAC地址。VTEP接收到本地虛擬機發送的數據幀後,判斷該數據幀所屬的VSI,並將數據幀中的源MAC地址(本地虛擬機的MAC地址)添加到該VSI的MAC地址表中,該MAC地址對應的接口為接收到數據幀的接口。
· 遠端MAC地址學習:學習遠端站點內虛擬機的MAC地址。VTEP通過MP-BGP協議將本地學習的MAC地址及其所屬的VXLAN通告給遠端VTEP。遠端VTEP接收到該信息後,將其添加到所屬VXLAN對應VSI的MAC地址表中,該MAC地址對應的接口為兩個VTEP之間的VXLAN隧道接口(Tunnel接口)。
VTEP接收到二層數據幀後,判斷其所屬的VSI,根據目的MAC地址查找該VSI的MAC地址表,通過表項的出接口轉發該數據幀。如圖1-3所示,如果出接口為本地接口,則VTEP直接通過該接口轉發數據幀;如圖1-4所示,如果出接口為Tunnel接口,則VTEP根據Tunnel接口為數據幀添加VXLAN封裝後,通過VXLAN隧道將其轉發給遠端VTEP。
泛洪流量包括組播、廣播和未知單播流量,該流量通過單播路由方式(頭端複製)轉發。VTEP負責複製報文,采用單播方式將複製後的報文通過本地接口發送給本地站點,並通過VXLAN隧道發送給VXLAN內的所有遠端VTEP。
如圖1-5所示,泛洪流量轉發過程為:
(1) VTEP 1接收到本地虛擬機發送的組播、廣播和未知單播數據幀後,判斷數據幀所屬的VXLAN,通過該VXLAN內除接收接口外的所有本地接口和VXLAN隧道轉發該數據幀。通過VXLAN隧道轉發數據幀時,需要為其封裝VXLAN頭、UDP頭和IP頭,以便將泛洪流量封裝在多個單播報文中,發送到VXLAN內的所有遠端VTEP。
(2) 遠端VTEP(VTEP 2和VTEP 3)接收到VXLAN報文後,解封裝報文,將原始的數據幀在本地站點的指定VXLAN內泛洪。為了避免環路,遠端VTEP從VXLAN隧道上接收到報文後,不會再將其泛洪到其他的VXLAN隧道。
本節僅以IPv4網絡為例說明集中式EVPN網關轉發三層流量的過程,IPv6網絡中的三層流量轉發過程與此類似。
集中式EVPN網關進行二層VXLAN業務終結的同時,還對內層封裝的IP報文進行三層轉發處理。
集中式EVPN網關配置簡單,但不同VXLAN之間的流量以及VXLAN訪問外界網絡的流量全部由集中式EVPN網關處理,網關壓力較大。
圖1-6 集中式EVPN網關的三層通信過程
如圖1-6所示,集中式EVPN網關上需要配置VSI虛接口,該接口的IP地址作為VXLAN內虛擬機的網關IP地址。虛擬機訪問其他子網的過程為:
(1) 虛擬機獲取網關的MAC地址(網關IP對應的MAC地址),並將報文發送給集中式EVPN網關。
(2) VTEP接收到報文後,根據目的MAC地址在VSI的MAC地址表中查找匹配的表項,將報文通過VXLAN隧道發送給集中式EVPN網關。
(3) 網關解除VXLAN封裝後,對內層封裝的IP報文進行三層轉發,將其發送給最終的目的節點。
(4) 目的節點返回的報文到達網關後,網關根據已經學習到的虛擬機ARP表項,將報文轉發給虛擬機。
本節僅以IPv4網絡為例說明分布式EVPN網關轉發三層流量的過程,IPv6網絡中的三層流量轉發過程與此類似。
如圖1-7所示,在分布式EVPN網關組網中,每台VTEP設備都作為EVPN網關,對本地站點的流量進行三層轉發,緩解了網關的壓力。
圖1-7 分布式EVPN網關示意圖
分布式EVPN網關支持非對稱IRB和對稱IRB兩種流量轉發方式:
· 非對稱IRB轉發方式:連接報文源節點的網關(入口網關)上需要進行二層和三層轉發,連接目的節點的網關(出口網關)上僅需要進行二層轉發。
· 對稱IRB轉發方式:入口網關和出口網關上的報文轉發方式相同,都需要同時進行二層和三層轉發。
對稱IRB方式引入了如下概念:
· L3VNI(Layer 3 VNI,三層VXLAN ID):在網關之間通過VXLAN隧道轉發流量時,屬於同一路由域、能夠進行三層互通的流量通過L3VNI來標識。L3VNI唯一關聯一個VPN實例,通過VPN實例確保不同業務之間的隔離。
· 網關的Router MAC地址:每個分布式EVPN網關擁有一個唯一的Router MAC地址,用於在網關之間通過VXLAN隧道轉發流量。報文在網關之間轉發時,報文的內層MAC地址為出口網關的Router MAC地址。
如圖1-8所示,在分布式EVPN網關組網中,所有的分布式EVPN網關(GW)上都存在以下類型的VSI虛接口:
· 作為分布式網關接口的VSI虛接口。該接口需要與VSI、VPN實例關聯。不同GW上相同VSI虛接口的IP地址必須相同,該IP地址作為VXLAN內虛擬機的網關地址。
· 承載L3VNI的VSI虛接口。該接口需要與VPN實例關聯,並需要指定L3VNI。關聯相同VPN實例的VSI虛接口共用該L3VNI。
邊界網關(Border)上也需要存在承載L3VNI的VSI虛接口。
圖1-8 分布式EVPN網關部署示意圖
三層流量通過查找FIB表項進行轉發。FIB表項通過路由信息或ARP信息生成。
在EVPN地址族下引入外部路由後,VTEP通過MP-BGP將該路由及其所屬的L3VNI發布給遠端VTEP,遠端VTEP學習該路由,並將其添加到L3VNI對應VPN實例的FIB表項中,表項的出接口為兩個VTEP之間的VXLAN隧道接口(Tunnel接口)、下一跳為路由的NEXT_HOP屬性攜帶的地址(即對端VTEP的地址)。
VTEP上ARP信息學習分為兩部分:
· 本地學習:學習本地站點內虛擬機的ARP信息。VTEP通過本地虛擬機發送的GARP、RARP和對網關的ARP請求學習本地虛擬機的ARP信息,並添加ARP表項和FIB表項。VTEP判斷GARP、RARP、ARP請求所屬的VSI,查找與該VSI關聯的VSI虛接口。ARP表項和FIB表項的出接口為接收到報文的接口,該表項所屬的VPN實例為VSI虛接口關聯的VPN實例。
· 遠端學習:學習遠端站點內虛擬機的ARP信息。VTEP通過MP-BGP協議將本地的ARP信息及其所屬的L3VNI通告給遠端VTEP。遠端VTEP學習該信息,但不會添加ARP表項,而是由路由管理模塊添加FIB表項。該FIB表項的出接口為與L3VNI關聯的VSI虛接口、下一跳為路由的NEXT_HOP屬性攜帶的地址(即對端VTEP的地址),該表項所屬的VPN實例為L3VNI對應的VPN實例。遠端VTEP查找下一跳對應的ARP信息,並添加對應的ARP表項。
分布式網關對流量的轉發方式分為兩種:
· 區分二三層轉發方式:對於二層流量,查找MAC地址表進行轉發;對於三層流量,查找FIB表進行轉發。在該方式下,建議在分布式網關上開啟ARP/ND泛洪抑製功能,以減少泛洪流量。
· 全三層轉發方式:對於二層和三層流量,均查找FIB表進行轉發。在該方式下,需要在分布式網關上開啟本地代理ARP功能。
查找MAC地址表轉發二層流量的過程,請參見“1.4.2 轉發已知單播流量”;相同站點間三層流量的轉發過程如圖1-9所示;不同站點間三層流量轉發過程如圖1-10所示。
以IPv4網絡為例,查找FIB表轉發流量的過程為:
(1) 虛擬機訪問相同子網、不同子網內的其他虛擬機時,發送ARP請求獲取ARP信息。
(2) GW接收到ARP請求後,判斷ARP請求所屬VSI,采用與該VSI關聯的VSI虛接口MAC地址對其進行應答。
(3) 虛擬機將報文發送給GW。
(4) GW判斷報文所屬VSI,並查找與該VSI關聯的VSI虛接口,在與VSI虛接口關聯的VPN實例內查找FIB表項,並根據匹配的FIB表項轉發報文:
¡ 如果FIB表項的出接口為本地接口,則GW將目的MAC替換為目的虛擬機的MAC地址、源MAC替換為VSI虛接口的MAC,並通過本地接口轉發給目的虛擬機。
¡ 如果FIB表項的出接口為VSI虛接口,則GW將目的MAC替換為目的GW的Router MAC地址、源MAC替換為自己的Router MAC,報文添加VXLAN封裝後將其轉發給目的GW。其中,為報文封裝的VXLAN ID為與VPN實例關聯的L3VNI。
(5) 目的GW接收到報文後,根據L3VNI判斷報文所屬的VPN實例,解除VXLAN封裝後,在該VPN實例內查找ARP表項轉發該報文。
分布式EVPN網關基於VPN實例轉發三層流量,不能轉發公網的三層流量。將傳統網絡升級為EVPN網絡時,用戶可能希望在保持原有公私網部署不變的前提下,實現公私網流量通過分布式EVPN網關轉發,並實現公私網的互通。此時,需要在分布式EVPN網關上配置公網實例。
公網實例可以看作是特殊的VPN實例,分布式EVPN網關對公網實例的處理與VPN實例完全相同:
· 公網實例也包括RD、Route Target屬性和L3VNI。
· 如果VSI虛接口沒有綁定任何VPN實例,則該VSI虛接口屬於公網實例。
合理地規劃公網實例、VPN實例的VPN target屬性,可以實現公私網的互通。
非對稱IRB與對稱IRB方式中,分布式EVPN網關的部署方式基本相同。
如圖1-8所示,所有的分布式EVPN網關(GW)上都存在以下類型的VSI虛接口:
· 作為分布式網關接口的VSI虛接口。該接口需要與VSI、VPN實例關聯。不同GW上相同VSI虛接口的IP地址不能相同。
· 承載L3VNI的VSI虛接口。在非對稱IRB轉發方式中,L3VNI用來實現VXLAN網絡與外界網絡的互通。當VXLAN內的虛擬機需要通過邊界網關(Border)與外界通信時,GW上必須部署該類VSI虛接口。該接口需要與VPN實例關聯,並需要指定L3VNI。關聯相同VPN實例的VSI虛接口共用該L3VNI。
邊界網關上也需要存在承載L3VNI的VSI虛接口。
目前,非對稱IRB轉發方式僅支持通過分布式EVPN網關轉發相同VXLAN的三層流量。
在非對稱IRB轉發方式中,GW學習到本地虛擬機的ARP信息後,通過MAC/IP發布路由將其通告給其他GW。其他GW學習ARP信息,並生成對應的FIB表項。
如圖1-11所示,VM 1和VM 2屬於VXLAN 10,通過分布式EVPN網關實現三層互通。分布式EVPN網關采用非對稱IRB方式轉發三層流量的過程為:
(1) GW 1接收到VM 1發送的報文後,由於目的MAC地址為自己,GW 1剝離二層幀頭,根據目的IP地址查找FIB表。
(2) GW 1在FIB表中匹配到VM 2的ARP信息生成的FIB表項。
(3) GW 1為報文封裝源和目的MAC地址(分別為網關MAC地址和VM 2的MAC地址)、VXLAN頭後,通過VXLAN隧道將其轉發到GW 2。
(4) GW 2接收到報文後,解除VXLAN封裝,並在VXLAN 10內進行二層轉發,即根據目的MAC地址查找MAC地址表。
(5) GW 2根據MAC地址表查找結果,將報文轉發給VM 2。
圖1-11 非對稱IRB三層流量轉發過程
多歸屬站點組網僅支持IPv4網絡作為Underlay網絡。
當一個站點通過不同的以太網鏈路連接到多台VTEP時,這些鏈路就構成了一個ES(Ethernet Segment,以太網段),並以一個相同的ESI(ES Identifier)標識其屬於同一個ES。連接的多台VTEP組成冗餘備份組,可以避免VTEP單點故障對網絡造成影響,從而提高EVPN網絡的可靠性。
圖1-12 多歸屬站點示意圖
當一個站點連接到多台VTEP時,為了避免冗餘備份組中的VTEP均發送泛洪流量給該站點,需要在冗餘備份組中選舉一個VTEP作為DF(Designated Forwarder,指定轉發者),負責將泛洪流量轉發給本地站點。其他VTEP作為BDF(Backup DF,備份DF),不會向本地站點轉發泛洪流量。多歸屬成員通過發送以太網段路由,向其它VTEP通告ES及其連接的VTEP信息,僅配置了ESI的VTEP會接收以太網段路由並根據其攜帶的ES、VTEP信息選舉出DF。
設備支持多種DF選舉算法,用戶可以根據業務需要靈活地選擇DF選舉算法,使組網中DF能夠均勻分布,提高網絡設備的使用率。
圖1-13 DF示意圖
基於VLAN Tag的DF選舉算法根據VLAN Tag和VTEP的IP地址為每個AC選舉DF。
圖1-14 基於VLAN Tag的DF選舉
如圖1-14所示,以允許VLAN Tag 4通過的AC 1的DF選舉為例,基於VLAN Tag的DF選舉算法為:
(1) 選取AC內允許通過的最小VLAN Tag代表該AC。在本例中,代表AC 1的VLAN Tag為4。
(2) VTEP根據接收到的以太網段路由,對攜帶相同ESI的路由中的源IP地址按升序排列,編號從0開始。在本例中,源IP 1.1.1.1、2.2.2.2對應的編號依次為0、1。
(3) 根據VLAN Tag除以N的餘數M來選舉DF,N代表冗餘備份組中成員的數量,M對應的編號為該AC的DF。在本例中,4除以2的餘數為0,即AC 1的DF為編號為0的VTEP 1。
基於優先級的DF選舉算法根據DF選舉優先級、DP(Don't Preempt Me,不可回切)位和VTEP的IP地址為每個ES選舉DF。其中,DP位的取值包括:
· 1:表示開啟了基於優先級DF選舉算法不回切功能。即當前設備被選舉為DF後,即使後續選舉出了新的設備作為DF,依然使用當前設備作為DF。
· 0:表示關閉了基於優先級DF選舉算法不回切功能。即當前設備被選舉為DF後,如果後續選舉出了新的設備作為DF,則直接使用新的設備作為DF。
如圖1-15所示,以ES 1、ES 2的DF選舉為例,基於優先級的DF選舉算法為:
(1) 同一ES內DF選舉優先級(數值越大則優先級越高)最高的VTEP作為該ES的DF。在本例中,選舉VTEP 2作為ES 1的DF。
(2) 若優先級相同,則DP位為1的VTEP作為DF。
(3) 若DP位相同,則IP地址小的VTEP作為DF。在本例中,選舉VTEP 1作為ES 2的DF。
在多歸屬站點組網中,VTEP接收到站點發送的組播、廣播和未知單播數據幀後,判斷數據幀所屬的VXLAN,通過該VXLAN內除接收接口外的所有本地接口和VXLAN隧道轉發該數據幀。同一冗餘備份組中的VTEP接收到該數據幀後會在本地所屬的VXLAN內泛洪,這樣數據幀會通過AC泛洪到本地站點,造成環路和站點的重複接收。EVPN通過水平分割解決該問題。水平分割的機製為:VTEP接收到同一冗餘備份組中成員轉發的廣播、組播、未知單播數據幀後,不向具有相同ESI標識的ES轉發該數據幀。
當前設備支持的冗餘備份模式為多活模式。
在該模式下,冗餘備份組中的任何一台成員VTEP設備接收到本地站點發送的組播、廣播和未知單播數據幀後,判斷數據幀所屬的VXLAN,通過該VXLAN內除接收接口外的所有本地接口和VXLAN隧道轉發該數據幀。通過VXLAN隧道轉發數據幀時,需要為其封裝VXLAN頭、UDP頭和IP頭,將泛洪流量封裝在多個單播報文中,發送到VXLAN內的所有遠端VTEP。
冗餘備份組中的成員VTEP接收到遠端VTEP發送的組播、廣播和未知單播數據幀時,隻有DF可以將數據幀泛洪到本地站點,BDF接收到後會將泛洪的數據幀丟棄。
在多活模式下,冗餘備份組中的VTEP都會通過MP-BGP向遠端VTEP通告同一ES的信息。即使隻有一個VTEP學習到了MAC/ARP信息並發布給遠端VTEP,遠端VTEP除了會添加下一跳為該VTEP的IP地址,還會添加下一跳為冗餘備份組中其他VTEP的IP地址,以實現自動在不同VTEP之間形成等價路徑。該功能稱為Aliasing。
為了避免廣播發送的ARP請求報文占用核心網絡帶寬,VTEP會根據接收到的ARP請求和ARP應答報文、BGP EVPN路由在本地建立ARP泛洪抑製表項。後續當VTEP收到本站點內虛擬機請求其它虛擬機MAC地址的ARP請求時,優先根據ARP泛洪抑製表項進行代答。如果沒有對應的表項,則通過VXLAN隧道將ARP請求泛洪到其他站點。ARP泛洪抑製功能可以大大減少ARP泛洪的次數。
圖1-17 ARP泛洪抑製示意圖
如圖1-17所示,ARP泛洪抑製的處理過程如下:
(1) 虛擬機VM 1發送ARP請求,獲取VM 7的MAC地址。
(2) VTEP 1根據接收到的ARP請求,建立VM 1的ARP泛洪抑製表項,在VXLAN內泛洪該ARP請求(圖1-17以單播路由泛洪方式為例)。VTEP 1還會通過BGP EVPN將該表項同步給VTEP 2和VTEP 3。
(3) 遠端VTEP(VTEP 2和VTEP 3)解封裝VXLAN報文,獲取原始的ARP請求報文後,在本地站點的指定VXLAN內泛洪該ARP請求。
(4) VM 7接收到ARP請求後,回複ARP應答報文。
(5) VTEP 2接收到ARP應答後,建立VM 7的ARP泛洪抑製表項,通過VXLAN隧道將ARP應答發送給VTEP 1。VTEP 2通過BGP EVPN將該表項同步給VTEP 1和VTEP 3。
(6) VTEP 1解封裝VXLAN報文,獲取原始的ARP應答,將ARP應答報文發送給VM 1。
(7) 在VTEP 1上建立ARP泛洪抑製表項後,虛擬機VM 4發送ARP請求,獲取VM 1的MAC地址。
(8) VTEP 1接收到ARP請求後,建立VM 4的ARP泛洪抑製表項,並查找本地ARP泛洪抑製表項,根據已有的表項回複ARP應答報文,不會對ARP請求進行泛洪。
(9) 虛擬機VM 10發送ARP請求,獲取VM 1的MAC地址。
(10) VTEP 3接收到ARP請求後,建立VM 10的ARP泛洪抑製表項,並查找ARP泛洪抑製表項,根據已有的表項(VTEP 1通過BGP EVPN同步)回複ARP應答報文,不會對ARP請求進行泛洪。
MAC地址遷移是指虛擬機或主機從一個ES遷移到另一個ES。原ES連接的VTEP無法感知MAC地址已經遷移到其他ES段。新遷移到的ES所在VTEP需要重新通告該MAC/IP路由。原VTEP在收到此路由後,撤銷之前通告的路由。MAC地址每次遷移,遷移序列號依次遞增,以便在MAC地址多次遷移時,通過序列號來標識最近一次遷移。
VXLAN隧道既可以通過EVPN自動創建,也可以手工創建。隧道目的地址相同的EVPN自動創建隧道和手工創建隧道不能關聯同一個VXLAN。手工創建VXLAN隧道的詳細介紹,請參見“VXLAN配置指導”中的“配置VXLAN”。
建議在同一個EVPN網關上為所有的VSI虛接口配置相同的MAC地址,以免流量轉發不通。
EVPN配置任務如下:
(1) 配置VSI和VXLAN
a. 創建VSI和VXLAN
b. (可選)配置VSI參數
(2) 配置EVPN實例
(3) (可選)配置多歸屬站點
(4) 配置BGP發布EVPN路由
b. (可選)控製BGP EVPN路由的發布
c. (可選)維護BGP會話
(5) 配置AC與VSI關聯
(6) 配置EVPN網關
轉發三層流量時,請選擇以下一項任務進行配置:
(7) (可選)管理遠端MAC地址和遠端
(8) (可選)配置BGP EVPN路由的引入和發布
¡ 配置將包含ARP信息的MAC/IP發布路由引入BGP單播路由表
(9) (可選)配置泛洪抑製
本配置中各命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(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不能相同。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 配置VSI的描述信息。
description text
缺省情況下,未配置VSI的描述信息。
(4) 配置VSI的MTU值。
mtu mtu
缺省情況下,VSI的MTU值為1500字節。
(5) 開啟VSI的MAC地址學習功能。
mac-learning enable
缺省情況下,VSI的MAC地址學習功能處於開啟狀態。
用於二層交換的VXLAN網絡無需關聯VPN實例。VTEP在發布該VXLAN內路由時,攜帶VXLAN對應EVPN實例下配置的RD和RT。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 創建EVPN實例,並進入EVPN實例視圖。
evpn encapsulation vxlan
(4) 配置EVPN實例的RD。
route-distinguisher { route-distinguisher | auto }
缺省情況下,未指定EVPN實例的RD。
(5) 配置EVPN實例的Route Target屬性。
vpn-target { vpn-target&<1-8> | auto } [ both | export-extcommunity | import-extcommunity ]
缺省情況下,未指定EVPN實例的Route Target屬性。
建議為EVPN實例配置的Import target不要與VPN實例、公網實例的Export target匹配,反之亦然。VPN實例、公網實例的配置,請參見“2.9.5 配置VSI虛接口關聯L3VNI”。
多歸屬的站點,在冗餘備份組的每個成員設備上的AC和VXLAN ID的配置應該保持一致,VXLAN ID相同的VSI應該配置不同的EVPN實例的RD,相同VXLAN網關關聯的VPN實例或公網實例應該配置不同的RD。
主接口及其子接口上均可以配置ESI:
· 若主接口及其子接口上都配置了ESI,或僅在子接口上配置了ESI,則子接口的ESI以該子接口上的配置為準,子接口的ES相關配置(evpn df-election algorithm、evpn df-election preference、evpn df-election preference non-revertive和evpn timer es-delay命令)也以該子接口上的配置為準。
· 若僅在主接口上配置了ESI,則子接口繼承主接口的ESI和ES相關配置。即使 子接口上執行了ES相關配置,也不會生效。
ESI是ES的唯一標識,ESI相同的接口對應的鏈路屬於同一個ES,報文可以在這些鏈路之間進行負載分擔。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
¡ 進入三層接口視圖。
interface interface-type interface-number
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
(3) 配置接口ESI。
esi esi-id
缺省情況下,未配置接口的ESI。
在EVPN多歸屬組網中,用戶可以通過本功能靈活地選擇DF選舉算法,以提高設備的利用率。
如果在作為AC的子接口上配置了模糊VLAN終結,則不能使用基於VLAN Tag的DF選舉算法。否則,會導致流量轉發錯誤。
係統視圖和接口視圖下均可以配置DF選舉算法。係統視圖的配置對所有ES都有效,而接口視圖下的配置隻對當前接口下的ES有效。對於一個ES來說,優先采用該接口視圖下的配置,隻有該接口下未進行配置時,才采用係統視圖的配置。
(1) 進入係統視圖。
system-view
(2) 全局配置DF選舉算法。
evpn df-election algorithm algorithm
缺省情況下,采用基於VLAN Tag的算法。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
¡ 進入三層接口視圖。
interface interface-type interface-number
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
(3) 配置DF選舉算法。
evpn df-election algorithm algorithm
缺省情況下,以係統視圖下配置的DF選舉算法為準。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
¡ 進入三層接口視圖。
interface interface-type interface-number
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
(3) 配置DF選舉優先級。
evpn df-election preference preference
缺省情況下,DF選舉優先級為32767。
DF選舉優先級數值越大則優先級越高。
(4) (可選)開啟基於優先級DF選舉算法的不回切功能。
evpn df-election preference non-revertive
缺省情況下,基於優先級算法的DF選舉不回切功能處於關閉狀態。
AC所在接口的狀態、多歸屬成員設備數量或者接口下ESI值的頻繁變化都會導致DF頻繁選舉,極大影響了網絡的性能。通過本命令可以指定DF選舉的時間間隔,避免頻繁選舉DF,保證網絡的穩定性。
(1) 進入係統視圖。
system-view
(2) 配置DF選舉延遲時間。
evpn multihoming timer df-delay delay-value
缺省情況下,DF選舉的延遲時間為3秒。
在站點多歸屬組網中,用戶需要重啟其中一台VTEP時,重啟該VTEP前,可以通過在該VTEP上執行本命令,來禁止通告以太網自動發現路由和以太網段路由,並撤銷已經通告的該類路由,以便其他VTEP及時更新本地的EVPN路由表,確保VTEP的重啟不會影響報文轉發。
(1) 進入係統視圖。
system-view
(2) 配置禁止通告以太網自動發現路由和以太網段路由,並撤銷已經通告的該類路由。
evpn multihoming advertise disable
缺省情況下,允許通告EVPN以太網自動發現路由和以太網段路由。
多歸屬站點組網中,為冗餘備份組成員上的AC配置ESI後,冗餘備份組成員發送以太網自動發現路由和MAC/IP發布路由時會攜帶AC的以太網標簽。如果對端設備無法識別以太網標簽,為了與該對端設備互通,需要在本端設備上配置本命令,使得本端設備將發送的以太網自動發現路由和MAC/IP發布路由中的以太網標簽字段填為0。
執行本命令後,設備會撤銷已經發布的以太網自動發現路由和MAC/IP發布路由,並重新發布以太網標簽字段為0的以太網自動發現路由和MAC/IP發布路由。
為二層以太網接口或二層聚合接口配置ESI後,同一個接口上創建的不同以太網服務實例不能關聯相同的VSI,具有相同ESI的接口上的以太網服務實例也不能關聯相同的VSI。
為三層主接口配置ESI後,如果該接口上的子接口未配置ESI,則子接口會繼承主接口的ESI。此時,具有相同ESI的子接口不能關聯相同的VSI。
(1) 進入係統視圖。
system-view
(2) 配置發布以太網自動發現路由和MAC/IP發布路由時忽略以太網標簽。
evpn multihoming advertise ignore-ethernet-tag
缺省情況下,PE發送以太網自動發現路由和MAC/IP發布路由時攜帶以太網標簽。
在多歸屬組網中,冗餘備份組的一台成員設備因故障等原因重啟後,站點間的廣播流量轉發可能會失敗。為了解決這個問題,可以在成員設備連接CE的接口上執行本配置。這樣,當成員設備從故障中恢複且連接CE的接口狀態變為Up時,成員設備會啟動以太網段路由的延遲發送定時器,並對指定的BGP鄰居狀態進行監控。如果在定時器超時前,所有設備的BGP鄰居狀態均Up,則本地成員設備正常發送以太網段路由;否則,定時器超時後,本地成員設備向所有BGP鄰居狀態為Up的設備發送以太網段路由。定時器超時或所有監控的BGP鄰居均Up後,本地成員設備根據收到的所有以太網段路由進行DF選舉。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
¡ 進入三層接口視圖。
interface interface-type interface-number
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
(3) 配置冗餘備份組中的成員設備監視其它VTEP設備的BGP鄰居狀態。
evpn track peer peer-address
缺省情況下,冗餘備份組中的成員設備不會監視其它設備的BGP鄰居狀態。
(4) 開啟以太網段路由延遲發布功能,並指定延遲發布時間。
evpn timer es-delay delay-time
缺省情況下,以太網段路由延遲發布功能處於關閉狀態,即不延遲發布以太網段路由。
卸載包含EVPN特性的Feature包之前,請先刪除BGP EVPN地址族以及對應地址族下的所有配置,避免Feature包完成卸載後,本地設備已不支持EVPN功能,但與對等體的連接仍處於Established狀態。
BGP相關命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。
(1) 進入係統視圖。
system-view
(2) 配置全局Router ID。
router id router-id
缺省情況下,未配置全局Router ID。
(3) 啟動BGP實例,並進入BGP實例視圖。
bgp as-number [ instance instance-name ]
缺省情況下,係統沒有運行BGP。
(4) 將遠端VTEP配置為對等體。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } as-number as-number
(5) 創建BGP EVPN地址族,並進入BGP EVPN地址族視圖。
address-family l2vpn evpn
(6) 使能本地路由器與指定對等體/對等體組交換BGP EVPN路由的能力。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable
缺省情況下,本地路由器不能與對等體/對等體組交換BGP EVPN路由。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP EVPN地址族視圖。
address-family l2vpn evpn
(4) 配置對於從對等體/對等體組接收的BGP消息,允許本地AS號在該消息的AS_PATH屬性中出現,並配置允許出現的次數。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } allow-as-loop [ number ]
缺省情況下,不允許本地AS號在接收消息的AS_PATH屬性中出現。
(5) 開啟BGP EVPN路由的VPN-Target過濾功能。
policy vpn-target
缺省情況下,BGP EVPN路由的VPN-Target過濾功能處於開啟狀態。
(6) 配置對發布的路由信息進行過濾。
filter-policy mac-acl-number export
缺省情況下,不對發布的路由信息進行過濾。
(7) 配置對接收的路由信息進行過濾。
filter-policy mac-acl-number import
缺省情況下,不對接收的路由信息進行過濾。
(8) 為指定對等體/對等體組設置高優先級,路由選路時優選從該對等體/對等體組學習到的路由。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } high-priority [ preferred ]
缺省情況下,BGP不為指定對等體/對等體組設置高優先級,選路規則不發生變化。
(9) 配置BGP路由的下一跳地址類型影響路由優選。
bestroute nexthop-priority { ipv4 | ipv6 } [ preferred ]
缺省情況下,BGP優選下一跳地址為IPv4地址的路由。
(10) 配置BGP路由反射。
a. 配置本機作為路由反射器,對等體/對等體組作為路由反射器的客戶機。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } reflect-client
缺省情況下,沒有配置路由反射器及其客戶機。
b. (可選)允許路由反射器在客戶機之間反射EVPN路由。
reflect between-clients
缺省情況下,允許路由反射器在客戶機之間反射EVPN路由。
c. (可選)配置路由反射器的集群ID。
reflector cluster-id { cluster-id | ipv4-address }
缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。
d. (可選)配置路由反射器對反射的EVPN路由進行過濾。
rr-filter ext-comm-list-number
缺省情況下,路由反射器不會對反射的EVPN路由進行過濾。
e. (可選)允許路由反射器反射路由時修改路由屬性。
reflect change-path-attribute
缺省情況下,不允許路由反射器反射路由時修改路由屬性。
(11) 配置向EBGP對等體/對等體組發布路由時不改變下一跳。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } next-hop-invariable
缺省情況下,向EBGP對等體/對等體組發布路由時會將下一跳改為自己的地址。
(12) 對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }
缺省情況下,沒有為對等體/對等體組指定路由策略。
(13) 配置向對等體/對等體組發布團體屬性。
peer { group-name | ipv4-address [ mask-length ] } advertise-community
缺省情況下,不向對等體/對等體組發布團體屬性。
(14) 配置BGP Add-Path。
a. 配置Add-Path功能。
peer { group-name | ipv4-address [ make-length ] | ipv6-address [ prefix-length ] } additional-paths { receive | send } *
缺省情況下,未配置Add-Path功能。
b. 配置向指定對等體/對等體組發送的Add-Path優選路由的最大條數。
peer { group-name | ipv4-address [ make-length ] | ipv6-address [ prefix-length ] } advertise additional-paths best number
缺省情況下,向指定對等體/對等體組發送的Add-Path優選路由的最大條數為1。
c. 配置Add-Path優選路由的最大條數。
additional-paths select-best best-number
缺省情況下,Add-Path優選路由的最大條數為1。
BGP如果在路由迭代的過程中不對迭代的結果路由進行任何限製,則可能會將路由迭代到一個錯誤的轉發路徑上。可以通過配置本功能,使得用戶通過路由策略靈活的匹配條件,有選擇性地影響BGP路由的迭代結果,從而保證BGP路由的下一跳能夠迭代到用戶期望的路徑上。
配置本功能後,BGP路由的下一跳隻能迭代到通過路由策略過濾的路由上。如果BGP路由迭代到的下一跳路由均無法通過路由策略的過濾,則該路由將被標識為不可達,無法生效。路由通過路由策略過濾的判斷條件是:路由能夠通過本命令指定的路由策略中允許模式節點的過濾。
如果在BGP EVPN地址族視圖下配置了nexthop recursive-lookup route-policy命令,並同時在RIB IPv4地址族視圖(或RIB IPv6地址族視圖)下配置了protocol nexthop recursive-lookup命令,則對於BGP EVPN地址族中的BGP路由,采用該地址族視圖下配置的nexthop recursive-lookup route-policy命令。如果BGP EVPN地址族視圖下未配置nexthop recursive-lookup route-policy命令,僅在RIB IPv4地址族視圖(或RIB IPv6地址族視圖)下配置了protocol nexthop recursive-lookup命令,則根據BGP路由下一跳的地址類型,BGP EVPN路由使用RIB IPv4地址族視圖(或RIB IPv6地址族視圖)下protocol nexthop recursive-lookup命令的配置來進行下一跳迭代查找。
nexthop recursive-lookup route-policy命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。
protocol nexthop recursive-lookup命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“IP路由基礎”。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP EVPN地址族視圖。
address-family l2vpn evpn
(4) 配置BGP路由根據路由策略來過濾迭代到的下一跳路由。
nexthop recursive-lookup route-policy route-policy-name
缺省情況下,BGP不根據路由策略來過濾迭代到的下一跳路由。
配置本命令後,如果BGP EVPN地址族中的所有BGP路由迭代到的下一跳路由均無法通過路由策略的過濾,該地址族下的所有BGP路由將全部成為不可達路由。請用戶在配置本命令前,規劃好期望迭代到的下一跳路由,使其能夠通過指定路由策略中允許模式節點的過濾。
缺省情況下,BGP路由在進行下一跳路由迭代時,若隻能通過缺省路由到達BGP路由的下一跳,則BGP路由會迭代到缺省路由,即選擇缺省路由作為BGP路由的下一跳的依賴路由。如果通過該缺省路由實際無法到達BGP路由的下一跳,則匹配該BGP路由的流量將轉發失敗。
為了解決上述問題,可以配置本命令,使得BGP路由進行下一跳路由迭代時,不迭代到缺省路由。配置本命令後,BGP路由在進行下一跳路由迭代時,若隻能通過缺省路由到達BGP路由的下一跳,則路由迭代失敗,該BGP路由成為失效路由,同一前綴的其他BGP路由可以被優選。
本功能可以應用在到達同一目的地址存在多條鏈路的組網場景中,在承載流量的鏈路發生故障時,原本迭代到該鏈路的BGP路由也不會因為迭代到缺省路由而保持繼續生效,而是變為失效路由,使得下一跳指向其他鏈路的BGP路由能夠優選,以實現鏈路的切換,避免長時間丟包。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP EVPN地址族視圖。
address-family l2vpn evpn
(4) 配置下一跳路由迭代時不能迭代到缺省路由。
nexthop recursive-lookup default-route ignore [ route-policy route-policy-name ]
缺省情況下,BGP路由進行下一跳路由迭代時,可以迭代到缺省路由。
配置本命令後,可能會使得EVPN VXLAN網絡中已經創建的VXLAN隧道重新建立,導致VXLAN流量的短暫丟失。建議您在配置本命令後,再使能BGP EVPN路由的交互能力。
請在用戶視圖下執行如下命令,複位或軟複位BGP會話。
· 複位EVPN地址族下的BGP會話。
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } l2vpn evpn
· 手工對EVPN地址族下的BGP會話進行軟複位。
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } l2vpn evpn
將三層接口與VSI關聯後,從該接口接收到的報文,將通過查找關聯VSI的MAC地址表進行轉發。
本配置中各命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(1) 進入係統視圖。
system-view
(2) 進入三層接口視圖。
interface interface-type interface-number
(3) 將三層接口與VSI關聯。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ]
缺省情況下,三層接口未關聯VSI。
關聯VSI的AC為三層子接口時,可以指定access-mode參數,接入模式缺省為VLAN;當AC為三層接口時,不可以指定access-mode參數。
在集中式EVPN網關組網中,VTEP上需要開啟ARP泛洪抑製功能。EVPN組網中通常關閉遠端ARP自動學習功能,網關從VXLAN隧道上接收到請求網關MAC地址的ARP請求後,不會對其進行應答。如果未開啟ARP泛洪抑製功能,則可能會導致虛擬機獲取不到網關的MAC地址。
(1) 進入係統視圖。
system-view
(2) 創建VSI虛接口,並進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(3) 配置VSI虛接口的IPv4地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情況下,未配置VSI虛接口的IPv4地址。
(4) 退回係統視圖。
quit
(5) 進入VXLAN所在VSI視圖。
vsi vsi-name
(6) 為VSI指定網關接口。
gateway vsi-interface vsi-interface-id
缺省情況下,未指定VSI的網關接口。
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
分布式EVPN網關連接IPv4站點網絡時,所有網關上都需要為相同VSI虛接口配置相同的MAC地址。
在分布式EVPN網關設備上,如果開啟了ARP泛洪抑製功能,並在VSI虛接口上開啟了本地代理ARP功能,則隻有本地代理ARP功能生效。建議不要在分布式EVPN網關設備上同時開啟這兩個功能。
在分布式EVPN網關設備上,如果通過mac-address命令修改了某一關聯L3VNI的VSI虛接口的MAC地址,則必須通過該命令將所有與L3VNI關聯的VSI虛接口的MAC地址修改為相同的值,否則可能會導致報文轉發失敗。
如果虛擬機要想與外部網絡進行三層通信,那麼除了分布式EVPN網關的配置外,還需要在接入虛擬機的本地分布式EVPN網關上配置靜態路由或策略路由:
· 配置靜態路由:指定路由的下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。
· 配置策略路由:通過apply default-next-hop命令或apply next-hop命令設置報文的缺省下一跳或下一跳為Border上同一個VXLAN對應VSI虛接口的IP地址。策略路由的配置方法,請參見“三層技術-IP路由配置指導”中的“策略路由”。
目前,非對稱IRB轉發方式僅支持通過分布式EVPN網關轉發相同VXLAN的三層流量,且不同GW上相同VSI虛接口的IP地址不能相同。
(1) 進入係統視圖。
system-view
(2) 配置EVPN VXLAN的轉發方式。請選擇其中一項進行配置。
¡ EVPN VXLAN采用非對稱IRB方式轉發流量。
evpn irb asymmetric
¡ EVPN VXLAN采用對稱IRB方式轉發流量。
undo evpn irb asymmetric
缺省情況下,EVPN網關采用對稱IRB方式轉發流量。
為了節省分布式VXLAN IP網關設備上的三層接口資源,在網關設備上多個VXLAN可以共用一個VSI虛接口,為VSI虛接口配置一個主IPv4地址和多個從IPv4地址,分別作為不同VXLAN內虛擬機的網關地址。
多個VXLAN共用一個VSI虛接口時,網關設備無法判斷從VSI虛接口接收到的報文屬於哪個VXLAN。為了解決該問題,需要在VSI視圖下通過gateway subnet命令指定VSI所屬的子網網段,通過子網網段判斷報文所屬的VSI,並在該VSI內轉發報文,從而限製廣播報文範圍,有效地節省帶寬資源。
(1) 進入係統視圖。
system-view
(2) 創建VSI虛接口,並進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(3) 配置VSI虛接口的IP地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情況下,未配置VSI虛接口的IP地址。
(4) 配置VSI虛接口的MAC地址。
mac-address mac-address
缺省情況下,VSI虛接口的MAC地址為設備的橋MAC地址。
不同分布式EVPN網關設備上,為同一個VXLAN的VSI虛接口配置的MAC地址必須相同。否則,虛擬機發生遷移後,虛擬機上網關IP地址對應的MAC地址為遠端網關的MAC地址,可能導致流量轉發錯誤。
(5) 配置VSI虛接口為分布式網關接口。
distributed-gateway local
缺省情況下,VSI虛接口不是分布式本地網關接口。
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(6) (可選)開啟本地代理ARP功能。
local-proxy-arp enable [ ip-range startIP to endIP ]
缺省情況下,本地代理ARP功能處於關閉狀態。
本命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“代理ARP”。
(7) 退回係統視圖。
quit
(8) 進入VXLAN所在VSI視圖。
vsi vsi-name
(9) 為VSI指定網關接口。
gateway vsi-interface vsi-interface-id
缺省情況下,未指定VSI的網關接口。
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(10) 配置當前VSI所屬的子網網段。
gateway subnet ipv4-address wildcard-mask
缺省情況下,未指定VSI所屬的子網網段。
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(1) 進入係統視圖。
system-view
(2) 配置VPN實例。
a. 創建VPN實例,並進入VPN實例視圖。
ip vpn-instance vpn-instance-name
b. 配置VPN實例的RD。
route-distinguisher route-distinguisher
缺省情況下,未配置VPN實例的RD。
c. 配置VPN實例的RT。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情況下,未配置VPN實例的Route Target。
d. (可選)對VPN實例應用出方向路由策略。
export route-policy route-policy
缺省情況下,不對發布的路由進行過濾。
e. (可選)對VPN實例應用入方向路由策略。
import route-policy route-policy
缺省情況下,VPN實例未應用入方向路由策略。如果接收到的路由攜帶的Route Target屬性中存在與本地配置的Import Target相同的值,則接收該路由。
(3) 配置VPN實例下的EVPN。
a. 進入VPN實例EVPN視圖。
address-family evpn
b. 在VPN實例下配置EVPN的Route Target。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情況下,VPN實例下的EVPN未配置Route Target。
建議為EVPN實例配置的Import target不要與VPN實例的Export target匹配,反之亦然。
c. (可選)在VPN實例下配置EVPN的出方向路由策略。
export route-policy route-policy
缺省情況下,不對發布的路由進行過濾。
出方向路由策略用來對VPN實例發布給BGP EVPN協議的路由進行過濾。
d. (可選)在VPN實例下配置EVPN的入方向路由策略。
import route-policy route-policy
缺省情況下,在VPN實例下未配置EVPN的入方向路由策略,即如果接收到的路由攜帶的Route Target屬性中存在與本地配置的Import Target相同的值,則接收該路由。
入方向路由策略用來對從BGP EVPN協議引入到VPN實例的路由進行過濾。
(4) 依次執行以下命令退回係統視圖。
a. quit
b. quit
(5) 進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(6) 配置接口與指定的VPN實例關聯。
ip binding vpn-instance vpn-instance-name
缺省情況下,接口未關聯VPN實例,接口屬於公網。
(7) 配置VPN實例的L3VNI。
l3-vni vxlan-id
缺省情況下,未配置VPN實例的L3VNI。
一個VPN實例隻能關聯一個L3VNI。若為VPN實例配置了多個L3VNI,則該VPN實例與數值最小的L3VNI關聯。通過display evpn routing-table命令可以查看與VPN實例關聯的L3VNI。
(1) 進入係統視圖。
system-view
(2) 創建公網實例,並進入公網實例視圖。
ip public-instance
(3) 配置公網實例的RD。
route-distinguisher route-distinguisher
缺省情況下,未配置公網實例的RD。
(4) 配置公網實例的L3VNI。
l3-vni vxlan-id
缺省情況下,未配置公網實例的L3VNI。
一個公網實例隻能關聯一個L3VNI。不能通過重複執行本命令修改公網實例的L3VNI。如需修改,請先刪除已有的L3VNI後再配置。
(5) 進入公網實例IPv4地址族視圖或EVPN視圖。
¡ 進入公網實例IPv4地址族視圖。
address-family ipv4
¡ 進入公網實例EVPN視圖。
address-family evpn
(6) 在公網實例下配置IPv4 VPN或EVPN的Route Target。
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]
缺省情況下,公網實例下的IPv4 VPN、EVPN未配置Route Target。
建議為EVPN實例配置的Import target不要與公網實例的Export target匹配,反之亦然。
(7) 依次執行以下命令退回係統視圖。
a. quit
b. quit
(8) 進入VSI虛接口視圖。
interface vsi-interface vsi-interface-id
(9) 在屬於公網實例的VSI虛接口上配置L3VNI。
l3-vni vxlan-id
缺省情況下,在屬於公網實例的VSI虛接口上未配置L3VNI。
在所有屬於公網實例的VSI虛接口中,必須至少有一個接口上配置的L3VNI與公網實例視圖下指定的L3VNI相同。
在BGP-VPN IPv4單播地址族視圖下引入IGP路由後,如果該VPN實例關聯了L3VNI,則引入的路由將作為EVPN的IP前綴路由發布給遠端VTEP。
在BGP IPv4單播地址族視圖下引入IGP路由後,如果公網實例關聯了L3VNI,則引入的路由將作為EVPN的IP前綴路由發布給遠端VTEP。
遠端VTEP接收到EVPN的IP前綴路由後,將路由中的Route Target屬性與本地VPN實例/公網實例下為IPv4 VPN配置的Import Target進行比較。若匹配則接收該路由,並將該路由添加到VPN實例或公網的路由表中。
隻有分布式EVPN網關組網支持本配置。
本配置中各命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP地址族視圖。
¡ 進入BGP IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
¡ 依次執行以下命令,進入BGP-VPN IPv4單播地址族視圖。
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
(4) 將IGP路由協議的路由信息引入到BGP路由表中。
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情況下,BGP不會引入IGP路由協議的路由信息。
(5) (可選)允許將缺省路由引入到BGP路由表中。
default-route imported
缺省情況下,BGP不允許將缺省路由引入到BGP路由表中。
(6) (可選)配置VPN引入等價路由功能。
a. 退回BGP實例視圖。
quit
b. 進入BGP EVPN地址族視圖。
address-family l2vpn evpn
c. 開啟VPN引入等價路由功能。
vpn-route cross multipath
缺省情況下,VPN引入等價路由功能處於關閉狀態,對於前綴和RD均相同的多條路由,隻會將最優路由引入到BGP EVPN路由表中。
開啟本功能後,BGP將前綴和RD均相同的多條路由全部引入到BGP EVPN路由表中。
缺省情況下,設備從VXLAN隧道接收到報文後可以自動學習遠端虛擬機的MAC地址和ARP信息。在EVPN組網中,為了避免自動學習的遠端MAC地址/ARP信息與通過BGP通告的MAC地址/ARP信息衝突,需要關閉遠端MAC地址和遠端ARP自動學習功能。
本配置中各命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(1) 進入係統視圖。
system-view
(2) 關閉遠端MAC地址自動學習功能。
vxlan tunnel mac-learning disable
缺省情況下,遠端MAC地址自動學習功能處於開啟狀態。
(3) 關閉遠端ARP自動學習功能。
vxlan tunnel arp-learning disable
缺省情況下,遠端ARP自動學習功能處於開啟狀態。
VTEP可能會同時向遠端VTEP通告MAC地址信息和ARP信息。其中,ARP信息中已經包含MAC地址信息。為了避免重複,可以執行本配置來禁止本端VTEP向遠端VTEP通告MAC地址信息。執行本配置後,本端VTEP還會撤銷已經發布的MAC地址信息。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 進入EVPN實例視圖。
evpn encapsulation vxlan
(4) 配置禁止通告MAC地址信息,並撤銷已經通告的MAC地址信息。
mac-advertising disable
缺省情況下,允許通告MAC地址信息。
VTEP可能會同時接收到遠端VTEP通告的MAC地址信息和ARP信息。其中,ARP信息中包含MAC地址信息。為了避免重複,可以在VTEP上執行本配置來禁止EVPN從ARP信息中學習MAC地址表項,EVPN僅通過MAC地址信息學習遠端MAC地址表項。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 進入EVPN實例視圖。
evpn encapsulation vxlan
(4) 配置禁止EVPN從ARP信息中學習MAC地址表項。
arp mac-learning disable
缺省情況下,EVPN可以從ARP信息中學習MAC地址表項。
在EVPN分布式網關組網中,如果同一個VXLAN內的所有用戶終端都部署在同一台EVPN網關下,則EVPN不需要通告該VXLAN的ARP信息(同時攜帶MAC和IP地址的MAC/IP發布路由),隻需通告IP前綴路由,其他VXLAN內的用戶終端通過IP前綴路由即可訪問該VXLAN。此時,可以配置本命令禁止EVPN通告ARP信息,以減少占用的設備和網絡資源。執行本命令後,設備還會撤銷已經發布的ARP信息。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 進入VSI實例下的EVPN實例視圖。
evpn encapsulation vxlan
(4) 配置禁止通告ARP信息,並撤銷已經通告的ARP信息。
arp-advertising disable
缺省情況下,允許通告ARP信息。
在BGP IPv4單播地址族下配置BGP EVPN路由引入BGP單播路由表後,設備會將從對等體/對等體組收到的包含ARP信息的MAC/IP發布路由添加到BGP IPv4單播路由表,並發布到本地站點。
在BGP-VPN IPv4單播地址族下配置BGP EVPN路由引入BGP單播路由表後,設備會將從對等體/對等體組收到的包含ARP信息的MAC/IP發布路由添加到VPN實例對應的BGP IPv4單播路由表,如果執行了advertise l2vpn evpn命令配置允許向本地站點發布BGP EVPN路由,則該路由會發布到本地站點,否則,該路由不會發布到本地站點。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP IPv4單播地址族視圖。
address-family ipv4
(4) 配置將包含ARP信息的MAC/IP發布路由引入BGP IPv4單播路由表。
import evpn mac-ip
缺省情況下,禁止將包含ARP信息的MAC/IP發布路由引入BGP IPv4單播路由表。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4
(5) 配置將包含ARP信息的MAC/IP發布路由引入BGP-VPN IPv4單播路由表。
import evpn mac-ip
缺省情況下,禁止將包含ARP信息的MAC/IP發布路由引入BGP-VPN IPv4單播路由表。
配置允許對外發布 BGP EVPN路由後,設備接收到BGP EVPN路由,並將其添加到某個VPN實例路由表後,會將該路由(私網路由)發布到本地站點。
(1) 進入係統視圖。
system-view
(2) 進入BGP實例視圖。
bgp as-number [ instance instance-name ]
(3) 進入BGP-VPN實例視圖。
ip vpn-instance vpn-instance-name
(4) 進入BGP-VPN IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(5) 配置允許向本地站點發布BGP EVPN路由。
advertise l2vpn evpn
缺省情況下,允許向本地站點發布BGP EVPN路由。
缺省情況下,VTEP從本地站點內接收到目的MAC地址未知的單播數據幀後,會在該VXLAN內除接收接口外的所有本地接口和VXLAN隧道上泛洪該數據幀,將該數據幀發送給VXLAN內的所有站點。如果用戶希望把該類數據幀限製在本地站點內,不通過VXLAN隧道將其轉發到遠端站點,則可以通過本命令手工禁止VXLAN對應VSI的泛洪功能。
禁止泛洪功能後,為了將某些MAC地址的數據幀泛洪到遠端站點以保證某些業務的流量在站點間互通,可以配置選擇性泛洪的MAC地址,當數據幀的目的MAC地址匹配該MAC地址時,該數據幀可以泛洪到遠端站點。
本配置中各命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 關閉VSI的泛洪功能。
flooding disable
缺省情況下,VSI泛洪功能處於開啟狀態。
(4) (可選)配置VSI選擇性泛洪的MAC地址。
selective-flooding mac-address mac-address
開啟ARP泛洪抑製時,如果同時執行flooding disable命令關閉了VSI的泛洪功能,則建議通過mac-address timer命令配置動態MAC地址的老化時間大於25分鍾(ARP泛洪抑製表項的老化時間),以免MAC地址在ARP泛洪抑製表項老化之前老化,產生黑洞MAC地址。
如果配置了vxlan tunnel arp-learning disable命令,則設備從VXLAN隧道上接收到ARP請求報文後,不會采用匹配的ARP泛洪抑製表項對其進行應答。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-name
(3) 開啟ARP泛洪抑製功能。
arp suppression enable
缺省情況下,ARP泛洪抑製功能處於關閉狀態。
本命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後EVPN的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令來清除EVPN的相關信息。
display bgp group、display bgp peer、display bgp update-group命令的詳細介紹請參見“三層技術-IP路由命令參考”中的“BGP”。
操作 |
命令 |
顯示BGP對等體組的信息 |
display bgp [ instance instance-name ] group l2vpn evpn [ group-name group-name ] |
顯示BGP EVPN路由信息 |
display bgp [ instance instance-name ] l2vpn evpn [ peer { ipv4-address | ipv6-address } { advertised-routes | received-routes } [ statistics ] | route-distinguisher route-distinguisher [ route-type { auto-discovery | es | imet | ip-prefix | mac-ip } ] [ { evpn-route route-length | evpn-prefix } [ advertise-info ] ] | route-type { auto-discovery | es | imet | ip-prefix | mac-ip } | statistics ] |
顯示BGP對等體或對等體組的狀態和統計信息 |
display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ] |
顯示BGP打包組的相關信息 |
display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address ] |
顯示EVPN通過BGP自動發現的鄰居信息 |
display evpn auto-discovery { { imet | mac-ip } [ vxlan ] [ peer ip-address] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] } |
顯示DF選舉的信息 |
display evpn df-election [ vsi vsi-name | xconnect-group group-name ] [ esi esi-id ] |
顯示EVPN的ES信息 |
display evpn es { local [ count | [ vsi vsi-name ] [ esi esi-id ] [ verbose ] ] | remote [ vsi vsi-name ] [ esi esi-id ] [ nexthop next-hop ] [ verbose ] } |
顯示EVPN實例的相關信息 |
display evpn instance [ vsi vsi-name ] [ verbose ] |
顯示EVPN通過BGP自動發現的IPv6鄰居信息 |
display evpn ipv6 auto-discovery { { imet | mac-ip } [ srv6 | vxlan ] [ peer ipv6-address ] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] } |
顯示EVPN的ARP信息 |
display evpn route arp [ local | remote ] [ public-instance | vpn-instance vpn-instance-name ] [ count ] |
顯示EVPN的ARP泛洪抑製信息 |
display evpn route arp suppression [ local | remote ] [ vsi vsi-name ] [ count ] |
顯示EVPN的MAC地址信息 |
display evpn route mac [ mpls | srv6 | vxlan ] [ local | remote ] [ vsi vsi-name ] [ count ] |
顯示EVPN的路由表信息 |
display evpn [ ipv6 ] routing-table { public-instance | vpn-instance vpn-instance-name } [ count ] |
顯示EVPN多歸屬組網中滿足水平分割原則的接口信息 |
(獨立運行模式) display l2vpn forwarding evpn split-horizon { ac interface interface-type interface-number | ac interface interface-type interface-number service-instance instance-id | tunnel tunnel-number | upw vsi vsi-name } [ slot slot-number ] (IRF模式) display l2vpn forwarding evpn split-horizon { ac interface interface-type interface-number | ac interface interface-type interface-number service-instance instance-id | tunnel tunnel-number | upw vsi vsi-name } [ chassis chassis-number slot slot-number ] |
Router A、Router B為與服務器連接的VTEP設備;Router C為與廣域網連接的集中式EVPN網關設備;Router D為RR,負責在路由器之間反射BGP路由。
虛擬機VM 1和VM 3屬於VXLAN 10;VM 2和VM 4屬於VXLAN 20。相同VXLAN之間可以二層互通,不同VXLAN之間、VXLAN與廣域網之間可以通過集中式EVPN網關互通。
圖2-1 集中式EVPN網關配置組網圖
(1) 配置IP地址和單播路由協議
# 在VM 1和VM 3上指定網關地址為10.1.1.1;在VM 2和VM 4上指定網關地址為10.1.2.1。(具體配置過程略)
# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保路由器之間路由可達。(具體配置過程略)
(2) 配置Router A
# 開啟L2VPN能力。
<RouterA> system-view
[RouterA] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterA] vxlan tunnel mac-learning disable
[RouterA] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterA] vsi vpna
[RouterA-vsi-vpna] arp suppression enable
[RouterA-vsi-vpna] evpn encapsulation vxlan
[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterA-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterA-vsi-vpna] vxlan 10
[RouterA-vsi-vpna-vxlan-10] quit
[RouterA-vsi-vpna] quit
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] arp suppression enable
[RouterA-vsi-vpnb] evpn encapsulation vxlan
[RouterA-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterA-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterA-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterA-vsi-vpnb] vxlan 20
[RouterA-vsi-vpnb-vxlan-20] quit
[RouterA-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterA] bgp 200
[RouterA-bgp-default] peer 4.4.4.4 as-number 200
[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterA-bgp-default] address-family l2vpn evpn
[RouterA-bgp-default-evpn] peer 4.4.4.4 enable
[RouterA-bgp-default-evpn] quit
[RouterA-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterA-GigabitEthernet1/0/1] quit
# 配置接入服務器的接口GigabitEthernet1/0/2與VSI實例vpnb關聯。
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] xconnect vsi vpnb
[RouterA-GigabitEthernet1/0/2] quit
(3) 配置Router B
# 開啟L2VPN能力。
<RouterB> system-view
[RouterB] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterB] vxlan tunnel mac-learning disable
[RouterB] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterB] vsi vpna
[RouterB-vsi-vpna] arp suppression enable
[RouterB-vsi-vpna] evpn encapsulation vxlan
[RouterB-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterB-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterB-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterB-vsi-vpna] vxlan 10
[RouterB-vsi-vpna-vxlan-10] quit
[RouterB-vsi-vpna] quit
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] arp suppression enable
[RouterB-vsi-vpnb] evpn encapsulation vxlan
[RouterB-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterB-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterB-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterB-vsi-vpnb] vxlan 20
[RouterB-vsi-vpnb-vxlan-20] quit
[RouterB-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterB] bgp 200
[RouterB-bgp-default] peer 4.4.4.4 as-number 200
[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterB-bgp-default] address-family l2vpn evpn
[RouterB-bgp-default-evpn] peer 4.4.4.4 enable
[RouterB-bgp-default-evpn] quit
[RouterB-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterB-GigabitEthernet1/0/1] quit
# 配置接入服務器的接口GigabitEthernet1/0/2與VSI實例vpnb關聯。
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] xconnect vsi vpnb
[RouterB-GigabitEthernet1/0/2] quit
(4) 配置Router C
# 開啟L2VPN能力。
<RouterC> system-view
[RouterC] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterC] vxlan tunnel mac-learning disable
[RouterC] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterC] vsi vpna
[RouterC-vsi-vpna] evpn encapsulation vxlan
[RouterC-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterC-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterC-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterC-vsi-vpna] vxlan 10
[RouterC-vsi-vpna-vxlan-10] quit
[RouterC-vsi-vpna] quit
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] evpn encapsulation vxlan
[RouterC-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterC-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterC-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterC-vsi-vpnb] vxlan 20
[RouterC-vsi-vpnb-vxlan-20] quit
[RouterC-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterC] bgp 200
[RouterC-bgp-default] peer 4.4.4.4 as-number 200
[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterC-bgp-default] address-family l2vpn evpn
[RouterC-bgp-default-evpn] peer 4.4.4.4 enable
[RouterC-bgp-default-evpn] quit
[RouterC-bgp-default] quit
# 創建VSI虛接口VSI-interface1,並為其配置IP地址,該IP地址作為VXLAN 10內虛擬機的網關地址。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[RouterC-Vsi-interface1] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[RouterC] vsi vpna
[RouterC-vsi-vpna] gateway vsi-interface 1
[RouterC-vsi-vpna] quit
# 創建VSI虛接口VSI-interface2,並為其配置IP地址,該IP地址作為VXLAN 20內虛擬機的網關地址。
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[RouterC-Vsi-interface2] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[RouterC] vsi vpnb
[RouterC-vsi-vpnb] gateway vsi-interface 2
[RouterC-vsi-vpnb] quit
(5) 配置Router D
# 配置Router D與其他路由器建立BGP連接。
<RouterD> system-view
[RouterD] bgp 200
[RouterD-bgp-default] group evpn
[RouterD-bgp-default] peer 1.1.1.1 group evpn
[RouterD-bgp-default] peer 2.2.2.2 group evpn
[RouterD-bgp-default] peer 3.3.3.3 group evpn
[RouterD-bgp-default] peer evpn as-number 200
[RouterD-bgp-default] peer evpn connect-interface loopback 0
# 配置BGP發布EVPN路由,並關閉BGP EVPN路由的VPN-Target過濾功能。
[RouterD-bgp-default] address-family l2vpn evpn
[RouterD-bgp-default-evpn] peer evpn enable
[RouterD-bgp-default-evpn] undo policy vpn-target
# 配置Router D為路由反射器。
[RouterD-bgp-default-evpn] peer evpn reflect-client
[RouterD-bgp-default-evpn] quit
[RouterD-bgp-default] quit
(1) 驗證EVPN網關設備Router C
# 查看Router C上的EVPN路由信息,可以看到Router C發送了網關的MAC/IP路由和IMET路由,並接收到Router A和Router B發送的MAC/IP路由和IMET路由。(具體顯示信息略)
# 查看Router C上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。
[RouterC] display interface tunnel
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
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 3.3.3.3, 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
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
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 3.3.3.3, 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
# 查看Router C上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。
[RouterC] display interface vsi-interface
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 10.1.1.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0003-0003-0003
IPv6 packet frame type: Ethernet II, hardware address: 0003-0003-0003
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: 64 packets, 6272 bytes, 0 drops
Vsi-interface2
Current state: UP
Line protocol state: UP
Description: Vsi-interface2 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 10.1.2.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0003-0003-0003
IPv6 packet frame type: Ethernet II, hardware address: 0003-0003-0003
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 41 bytes/sec, 328 bits/sec, 0 packets/sec
Last 300 seconds output rate: 52 bytes/sec, 416 bits/sec, 0 packets/sec
Input: 2016 packets, 190272 bytes, 0 drops
Output: 2144 packets, 197568 bytes, 0 drops
# 查看Router C上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[RouterC] 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 : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel0 0x5000000 UP Auto Disabled
Tunnel1 0x5000001 UP Auto 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 : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 2
VXLAN ID : 20
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel0 0x5000000 UP Auto Disabled
Tunnel1 0x5000001 UP Auto Disabled
# 查看Router C上VSI的EVPN ARP表項信息,可以看到已學習到了虛擬機的ARP信息。
[RouterC] display evpn route arp
Flags: D - Dynamic B - BGP G - Gateway L - Local active M - Mapping
Public instance Interface: Vsi-interface1
IP address MAC address Router MAC VSI index Flags
10.1.1.1 0003-0003-0003 - 0 GL
10.1.1.10 0000-1234-0001 - 0 B
10.1.1.20 0000-1234-0003 - 0 B
Public instance Interface: Vsi-interface2
IP address MAC address Router MAC VSI index Flags
10.1.2.1 0005-0005-0005 - 1 GL
10.1.2.10 0000-1234-0002 - 1 B
10.1.2.20 0000-1234-0004 - 1 B
# 查看Router C上FIB表項信息,可以看到已學習到了虛擬機的轉發表項信息。
[RouterC] display fib 10.1.1.10
Destination count: 1 FIB entry count: 1
Flag:
U:Useable G:Gateway H:Host B:Blackhole D:Dynamic S:Static
R:Relay F:FRR
Destination/Mask Nexthop Flag OutInterface/Token Label
10.1.1.10/32 10.1.1.10 UH Vsi1 Null
(2) 驗證主機之間可以互訪
虛擬機VM 1、VM 2、VM 3、VM 4之間可以互訪。
Router A、Router B為分布式EVPN網關設備;Router C為與廣域網連接的邊界網關設備;Router D為RR,負責在路由器之間反射BGP路由。
虛擬機VM 1和VM 3屬於VXLAN 10;VM 2和VM 4屬於VXLAN 20。相同VXLAN之間可以二層互通;不同VXLAN之間通過分布式EVPN網關實現三層互通;VXLAN與廣域網之間通過邊界網關實現三層互通。
圖2-2 分布式EVPN網關配置組網圖
(1) 配置IP地址和單播路由協議
# 在VM 1和VM 3上指定網關地址為10.1.1.1;在VM 2和VM 4上指定網關地址為10.1.2.1。(具體配置過程略)
# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保路由器之間路由可達。(具體配置過程略)
(2) 配置Router A
# 開啟L2VPN能力。
<RouterA> system-view
[RouterA] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterA] vxlan tunnel mac-learning disable
[RouterA] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterA] vsi vpna
[RouterA-vsi-vpna] evpn encapsulation vxlan
[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterA-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterA-vsi-vpna] vxlan 10
[RouterA-vsi-vpna-vxlan-10] quit
[RouterA-vsi-vpna] quit
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] evpn encapsulation vxlan
[RouterA-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterA-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterA-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterA-vsi-vpnb] vxlan 20
[RouterA-vsi-vpnb-vxlan-20] quit
[RouterA-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterA] bgp 200
[RouterA-bgp-default] peer 4.4.4.4 as-number 200
[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterA-bgp-default] address-family l2vpn evpn
[RouterA-bgp-default-evpn] peer 4.4.4.4 enable
[RouterA-bgp-default-evpn] quit
[RouterA-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterA-GigabitEthernet1/0/1] quit
# 配置接入服務器的接口GigabitEthernet1/0/2與VSI實例vpnb關聯。
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] xconnect vsi vpnb
[RouterA-GigabitEthernet1/0/2] quit
# 配置L3VNI的RD和RT。
[RouterA] ip vpn-instance l3vpna
[RouterA-vpn-instance-l3vpna] route-distinguisher 1:1
[RouterA-vpn-instance-l3vpna] address-family ipv4
[RouterA-vpn-ipv4-l3vpna] vpn-target 2:2
[RouterA-vpn-ipv4-l3vpna] quit
[RouterA-vpn-instance-l3vpna] address-family evpn
[RouterA-vpn-evpn-l3vpna] vpn-target 1:1
[RouterA-vpn-evpn-l3vpna] quit
[RouterA-vpn-instance-l3vpna] quit
# 配置VSI虛接口VSI-interface1。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] ip binding vpn-instance l3vpna
[RouterA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[RouterA-Vsi-interface1] mac-address 1-1-1
[RouterA-Vsi-interface1] distributed-gateway local
[RouterA-Vsi-interface1] local-proxy-arp enable
[RouterA-Vsi-interface1] quit
# 配置VSI虛接口VSI-interface2。
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] ip binding vpn-instance l3vpna
[RouterA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[RouterA-Vsi-interface2] mac-address 2-2-2
[RouterA-Vsi-interface2] distributed-gateway local
[RouterA-Vsi-interface2] local-proxy-arp enable
[RouterA-Vsi-interface2] quit
# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。
[RouterA] interface vsi-interface 3
[RouterA-Vsi-interface3] ip binding vpn-instance l3vpna
[RouterA-Vsi-interface3] l3-vni 1000
[RouterA-Vsi-interface3] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[RouterA] vsi vpnb
[RouterA-vsi-vpnb] gateway vsi-interface 2
[RouterA-vsi-vpnb] quit
(3) 配置Router B
# 開啟L2VPN能力。
<RouterB> system-view
[RouterB] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterB] vxlan tunnel mac-learning disable
[RouterB] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterB] vsi vpna
[RouterB-vsi-vpna] evpn encapsulation vxlan
[RouterB-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterB-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterB-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterB-vsi-vpna] vxlan 10
[RouterB-vsi-vpna-vxlan-10] quit
[RouterB-vsi-vpna] quit
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] evpn encapsulation vxlan
[RouterB-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterB-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterB-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterB-vsi-vpnb] vxlan 20
[RouterB-vsi-vpnb-vxlan-20] quit
[RouterB-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterB] bgp 200
[RouterB-bgp-default] peer 4.4.4.4 as-number 200
[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterB-bgp-default] address-family l2vpn evpn
[RouterB-bgp-default-evpn] peer 4.4.4.4 enable
[RouterB-bgp-default-evpn] quit
[RouterB-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterB-GigabitEthernet1/0/1] quit
# 配置接入服務器的接口GigabitEthernet1/0/2與VSI實例vpnb關聯。
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] xconnect vsi vpnb
[RouterB-GigabitEthernet1/0/2] quit
# 配置L3 VNI的RD和RT。
[RouterB] ip vpn-instance l3vpna
[RouterB-vpn-instance-l3vpna] route-distinguisher 1:1
[RouterB-vpn-instance-l3vpna] address-family ipv4
[RouterB-vpn-ipv4-l3vpna] vpn-target 2:2
[RouterB-vpn-ipv4-l3vpna] quit
[RouterB-vpn-instance-l3vpna] address-family evpn
[RouterB-vpn-evpn-l3vpna] vpn-target 1:1
[RouterB-vpn-evpn-l3vpna] quit
[RouterB-vpn-instance-l3vpna] quit
# 配置VSI虛接口VSI-interface1。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] ip binding vpn-instance l3vpna
[RouterB-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[RouterB-Vsi-interface1] mac-address 1-1-1
[RouterB-Vsi-interface1] distributed-gateway local
[RouterB-Vsi-interface1] local-proxy-arp enable
[RouterB-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2。
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] ip binding vpn-instance l3vpna
[RouterB-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[RouterB-Vsi-interface2] mac-address 2-2-2
[RouterB-Vsi-interface2] distributed-gateway local
[RouterB-Vsi-interface2] local-proxy-arp enable
[RouterB-Vsi-interface2] quit
# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。
[RouterB] interface vsi-interface 3
[RouterB-Vsi-interface3] ip binding vpn-instance l3vpna
[RouterB-Vsi-interface3] l3-vni 1000
[RouterB-Vsi-interface3] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[RouterB] vsi vpna
[RouterB-vsi-vpna] gateway vsi-interface 1
[RouterB-vsi-vpna] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface2關聯。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] gateway vsi-interface 2
[RouterB-vsi-vpnb] quit
(4) 配置Router C
# 開啟L2VPN能力。
<RouterC> system-view
[RouterC] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterC] vxlan tunnel mac-learning disable
[RouterC] vxlan tunnel arp-learning disable
# 配置BGP發布EVPN路由。
[RouterC] bgp 200
[RouterC-bgp-default] peer 4.4.4.4 as-number 200
[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterC-bgp-default] address-family l2vpn evpn
[RouterC-bgp-default-evpn] peer 4.4.4.4 enable
[RouterC-bgp-default-evpn] quit
[RouterC-bgp-default] quit
# 配置L3 VNI的RD和RT。
[RouterC] ip vpn-instance l3vpna
[RouterC-vpn-instance-l3vpna] route-distinguisher 1:1
[RouterC-vpn-instance-l3vpna] address-family ipv4
[RouterC-vpn-ipv4-l3vpna] vpn-target 2:2
[RouterC-vpn-ipv4-l3vpna] quit
[RouterC-vpn-instance-l3vpna] address-family evpn
[RouterC-vpn-evpn-l3vpna] vpn-target 1:1
[RouterC-vpn-evpn-l3vpna] quit
[RouterC-vpn-instance-l3vpna] quit
# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。
[RouterC] interface vsi-interface 3
[RouterC-Vsi-interface3] ip binding vpn-instance l3vpna
[RouterC-Vsi-interface3] l3-vni 1000
[RouterC-Vsi-interface3] quit
# 配置缺省路由,下一跳為廣域網中某台設備的IP地址20.1.1.100。
[RouterC] ip route-static vpn-instance l3vpna 0.0.0.0 0 20.1.1.100
# 將缺省路由引入到VPN實例l3vpna的BGP IPv4單播路由表中。
[RouterC] bgp 200
[RouterC-bgp-default] ip vpn-instance l3vpna
[RouterC-bgp-default-l3vpna] address-family ipv4 unicast
[RouterC-bgp-default-ipv4-l3vpna] default-route imported
[RouterC-bgp-default-ipv4-l3vpna] import-route static
[RouterC-bgp-default-ipv4-l3vpna] quit
[RouterC-bgp-default-l3vpna] quit
[RouterC-bgp-default] quit
# 配置連接廣域網的接口GigabitEthernet1/0/2與VPN實例l3vpna關聯。
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] ip binding vpn-instance l3vpna
[RouterC-GigabitEthernet1/0/2] ip address 20.1.1.3 24
[RouterC-GigabitEthernet1/0/2] quit
(5) 配置Router D
# 配置Router D與其他路由器建立BGP連接。
<RouterD> system-view
[RouterD] bgp 200
[RouterD-bgp-default] group evpn
[RouterD-bgp-default] peer 1.1.1.1 group evpn
[RouterD-bgp-default] peer 2.2.2.2 group evpn
[RouterD-bgp-default] peer 3.3.3.3 group evpn
[RouterD-bgp-default] peer evpn as-number 200
[RouterD-bgp-default] peer evpn connect-interface loopback 0
# 配置BGP發布EVPN路由,並關閉BGP EVPN路由的VPN-Target過濾功能。
[RouterD-bgp-default] address-family l2vpn evpn
[RouterD-bgp-default-evpn] peer evpn enable
[RouterD-bgp-default-evpn] undo policy vpn-target
# 配置Router D為路由反射器。
[RouterD-bgp-default-evpn] peer evpn reflect-client
[RouterD-bgp-default-evpn] quit
[RouterD-bgp-default] quit
(1) 驗證分布式EVPN網關設備Router A
# 查看Router A上的EVPN路由信息,可以看到Router A發送了網關的IP前綴路由、各VSI的IMET路由和MAC/IP路由,並接收到Router B發送的網關IP前綴路由、各VSI的IMET路由和MAC/IP路由。(具體顯示信息略)
# 查看Router A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。(以Tunnel0接口為例)
[RouterA] display interface tunnel 0
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
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 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
# 查看Router A上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。(以VSI虛接口1為例)
[RouterA] display interface vsi-interface 1
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 10.1.1.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 0001-0001-0001
IPv6 packet frame type: Ethernet II, hardware address: 0001-0001-0001
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: 192 packets, 18816 bytes, 0 drops
# 查看Router A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[RouterA] display l2vpn vsi verbose
VSI Name: Auto_L3VNI1000_3
VSI Index : 1
VSI State : Down
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 3
VXLAN ID : 1000
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 : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel0 0x5000001 Up Auto Disabled
Tunnel1 0x5000002 Up Auto Disabled
ACs:
AC Link ID State
GE1/0/1 0x0 Up
VSI Name: vpnb
VSI Index : 2
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 2
VXLAN ID : 20
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel0 0x5000001 Up Auto Disabled
Tunnel1 0x5000002 Up Auto Disabled
ACs:
AC Link ID State
GE1/0/2 0x0 Up
# 查看Router A上VSI的ARP表項信息,可以看到已學習到了本地虛擬機的ARP信息。
[RouterA] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface/Link ID Aging Type
10.1.1.10 0000-1234-0001 vpna 0 20 D
10.1.2.10 0000-1234-0002 vpnb 0 19 D
2.2.2.2 a0ce-5e24-0100 Auto_L3VNI200 Tunnel0 -- R
_3
# 查看Router A上VSI的EVPN ARP表項信息,可以看到已學習到了本地虛擬機的ARP信息。
[RouterA] display evpn route arp
Flags: D - Dynamic B - BGP G - Gateway L - Local active M - Mapping
VPN instance: l3vpna Interface:Vsi-interface1
IP address MAC address Router MAC VSI Index Flags
10.1.1.1 0001-0001-0001 a0ce-7e40-0400 0 GL
10.1.1.10 0000-1234-0001 a0ce-7e40-0400 0 DL
10.1.2.10 0000-1234-0002 a0ce-7e40-0400 0 DL
10.1.1.20 0000-1234-0003 a0ce-7e40-0400 0 B
10.1.2.20 0000-1234-0004 a0ce-7e40-0400 0 B
(2) 驗證主機之間可以互訪
虛擬機VM 1、VM 2、VM 3、VM 4之間可以互訪。
Router A、Router B、Router C為分布式EVPN網關設備;Router D為RR,負責在路由器之間反射BGP路由。
虛擬機VM 1屬於VXLAN 10、位於VPN實例l3vpna;VM 2屬於VXLAN 20、位於VPN實例l3vpnb;VM 3屬於VXLAN 30、位於公網。通過EVPN分布式網關和公私網互通配置,保證VM 1和VM 2之間互通(私網之間互通),VM 2不能訪問VM 3,VM 1和VM 3之間互通(公私網互通)。
圖2-3 EVPN公私網互通配置組網圖
(1) 配置IP地址和單播路由協議
# 在VM 1上指定網關地址為10.1.1.1;在VM 2上指定網關地址為10.1.2.1;在VM 3上指定網關地址10.1.3.1。(具體配置過程略)
# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保路由器之間路由可達。(具體配置過程略)
(2) 配置Router A
# 開啟L2VPN能力。
<RouterA> system-view
[RouterA] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterA] vxlan tunnel mac-learning disable
[RouterA] vxlan tunnel arp-learning disable
# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterA] vsi vpna
[RouterA-vsi-vpna] evpn encapsulation vxlan
[RouterA-vsi-vpna-evpn-vxlan] route-distinguisher auto
[RouterA-vsi-vpna-evpn-vxlan] vpn-target auto
[RouterA-vsi-vpna-evpn-vxlan] quit
# 創建VXLAN 10。
[RouterA-vsi-vpna] vxlan 10
[RouterA-vsi-vpna-vxlan-10] quit
[RouterA-vsi-vpna] quit
# 配置BGP發布EVPN路由。
[RouterA] bgp 200
[RouterA-bgp-default] peer 4.4.4.4 as-number 200
[RouterA-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterA-bgp-default] address-family l2vpn evpn
[RouterA-bgp-default-evpn] peer 4.4.4.4 enable
[RouterA-bgp-default-evpn] quit
[RouterA-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] xconnect vsi vpna
[RouterA-GigabitEthernet1/0/1] quit
# 配置L3 VNI的RD和RT。
[RouterA] ip vpn-instance l3vpna
[RouterA-vpn-instance-l3vpna] route-distinguisher 1:1
[RouterA-vpn-instance-l3vpna] address-family ipv4
[RouterA-vpn-ipv4-l3vpna] vpn-target 1:1
[RouterA-vpn-ipv4-l3vpna] vpn-target 2:2 import-extcommunity
[RouterA-vpn-ipv4-l3vpna] vpn-target 3:3 import-extcommunity
[RouterA-vpn-ipv4-l3vpna] quit
[RouterA-vpn-instance-l3vpna] address-family evpn
[RouterA-vpn-evpn-l3vpna] vpn-target 1:1
[RouterA-vpn-evpn-l3vpna] vpn-target 2:2 import-extcommunity
[RouterA-vpn-evpn-l3vpna] vpn-target 3:3 import-extcommunity
[RouterA-vpn-evpn-l3vpna] quit
[RouterA-vpn-instance-l3vpna] quit
# 配置VSI虛接口VSI-interface1。
[RouterA] interface vsi-interface 1
[RouterA-Vsi-interface1] ip binding vpn-instance l3vpna
[RouterA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[RouterA-Vsi-interface1] distributed-gateway local
[RouterA-Vsi-interface1] local-proxy-arp enable
[RouterA-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,在該接口上配置VPN實例l3vpna對應的L3VNI為1000。
[RouterA] interface vsi-interface 2
[RouterA-Vsi-interface2] ip binding vpn-instance l3vpna
[RouterA-Vsi-interface2] l3-vni 1000
[RouterA-Vsi-interface2] quit
# 創建VSI虛接口VSI-interface3,在該接口上配置L3VNI為2000,用來匹配從Router B接收的路由。
[RouterA] interface vsi-interface 3
[RouterA-Vsi-interface3] l3-vni 2000
[RouterA-Vsi-interface3] quit
# 創建VSI虛接口VSI-interface4,在該接口上配置L3VNI為3000,用來匹配從Router C接收的路由。
[RouterA] interface vsi-interface 4
[RouterA-Vsi-interface4] l3-vni 3000
[RouterA-Vsi-interface4] quit
# 配置VXLAN 10所在的VSI實例和接口VSI-interface1關聯。
[RouterA] vsi vpna
[RouterA-vsi-vpna] gateway vsi-interface 1
[RouterA-vsi-vpna] quit
(3) 配置Router B
# 開啟L2VPN能力。
<RouterB> system-view
[RouterB] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterB] vxlan tunnel mac-learning disable
[RouterB] vxlan tunnel arp-learning disable
# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] evpn encapsulation vxlan
[RouterB-vsi-vpnb-evpn-vxlan] route-distinguisher auto
[RouterB-vsi-vpnb-evpn-vxlan] vpn-target auto
[RouterB-vsi-vpnb-evpn-vxlan] quit
# 創建VXLAN 20。
[RouterB-vsi-vpnb] vxlan 20
[RouterB-vsi-vpnb-vxlan-20] quit
[RouterB-vsi-vpnb] quit
# 配置BGP發布EVPN路由。
[RouterB] bgp 200
[RouterB-bgp-default] peer 4.4.4.4 as-number 200
[RouterB-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterB-bgp-default] address-family l2vpn evpn
[RouterB-bgp-default-evpn] peer 4.4.4.4 enable
[RouterB-bgp-default-evpn] quit
[RouterB-bgp-default] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpnb關聯。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] xconnect vsi vpnb
[RouterB-GigabitEthernet1/0/1] quit
# 配置L3 VNI的RD和RT。
[RouterB] ip vpn-instance l3vpnb
[RouterB-vpn-instance-l3vpnb] route-distinguisher 2:2
[RouterB-vpn-instance-l3vpnb] address-family ipv4
[RouterB-vpn-ipv4-l3vpnb] vpn-target 2:2
[RouterB-vpn-ipv4-l3vpnb] vpn-target 1:1 import-extcommunity
[RouterB-vpn-ipv4-l3vpnb] quit
[RouterB-vpn-instance-l3vpnb] address-family evpn
[RouterB-vpn-evpn-l3vpnb] vpn-target 2:2
[RouterB-vpn-evpn-l3vpnb] vpn-target 1:1 import-extcommunity
[RouterB-vpn-evpn-l3vpnb] quit
[RouterB-vpn-instance-l3vpnb] quit
# 配置VSI虛接口VSI-interface1。
[RouterB] interface vsi-interface 1
[RouterB-Vsi-interface1] ip binding vpn-instance l3vpnb
[RouterB-Vsi-interface1] ip address 10.1.2.1 255.255.255.0
[RouterB-Vsi-interface1] distributed-gateway local
[RouterB-Vsi-interface1] local-proxy-arp enable
[RouterB-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,在該接口上配置L3VNI為1000,用來匹配從Router A接收的路由。
[RouterB] interface vsi-interface 2
[RouterB-Vsi-interface2] l3-vni 1000
[RouterB-Vsi-interface2] qui
# 創建VSI虛接口VSI-interface3,在該接口上配置VPN實例l3vpnb對應的L3VNI為2000。
[RouterB] interface vsi-interface 3
[RouterB-Vsi-interface3] ip binding vpn-instance l3vpnb
[RouterB-Vsi-interface3] l3-vni 2000
[RouterB-Vsi-interface3] quit
# 創建VSI虛接口VSI-interface4,在該接口上配置L3VNI為3000,用來匹配從Router C接收的路由。
[RouterB] interface vsi-interface 4
[RouterB-Vsi-interface4] l3-vni 3000
[RouterB-Vsi-interface4] quit
# 配置VXLAN 20所在的VSI實例和接口VSI-interface1關聯。
[RouterB] vsi vpnb
[RouterB-vsi-vpnb] gateway vsi-interface 1
[RouterB-vsi-vpnb] quit
(4) 配置Router C
# 開啟L2VPN能力。
<RouterC> system-view
[RouterC] l2vpn enable
# 關閉遠端MAC地址和遠端ARP自動學習功能。
[RouterC] vxlan tunnel mac-learning disable
[RouterC] vxlan tunnel arp-learning disable
# 在VSI實例vpnc下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。
[RouterC] vsi vpnc
[RouterC-vsi-vpnc] evpn encapsulation vxlan
[RouterC-vsi-vpnc-evpn-vxlan] route-distinguisher auto
[RouterC-vsi-vpnc-evpn-vxlan] vpn-target auto
[RouterC-vsi-vpnc-evpn-vxlan] quit
# 創建VXLAN 30。
[RouterC-vsi-vpnc] vxlan 30
[RouterC-vsi-vpnc-vxlan-30] quit
[RouterC-vsi-vpnc] quit
# 配置BGP發布EVPN路由。
[RouterC] bgp 200
[RouterC-bgp-default] peer 4.4.4.4 as-number 200
[RouterC-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[RouterC-bgp-default] address-family ipv4 unicast
[RouterC-bgp-default-ipv4]quit
[RouterC-bgp-default] address-family l2vpn evpn
[RouterC-bgp-default-evpn] peer 4.4.4.4 enable
[RouterC-bgp-default-evpn] quit
[RouterC-bgp-default] quit
# 配置公網實例的RD和RT,配置公網實例對應的L3VNI為3000。
[RouterC] ip public-instance
[RouterC-public-instance] route-distinguisher 3:3
[RouterC-public-instance] l3-vni 3000
[RouterC-public-instance] address-family ipv4
[RouterC-public-instance-ipv4] vpn-target 3:3
[RouterC-public-instance-ipv4] vpn-target 1:1 import-extcommunity
[RouterC-public-instance-ipv4] quit
[RouterC-public-instance] address-family evpn
[RouterC-public-instance-evpn]vpn-target 3:3
[RouterC-public-instance-evpn] vpn-target 1:1 import-extcommunity
[RouterC-public-instance-evpn] quit
[RouterC-public-instance] quit
# 配置接入服務器的接口GigabitEthernet1/0/1與VSI實例vpna關聯。
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] xconnect vsi vpnc
[RouterC-GigabitEthernet1/0/1] quit
# 配置VSI虛接口VSI-interface1。
[RouterC] interface vsi-interface 1
[RouterC-Vsi-interface1] ip address 10.1.3.1 255.255.255.0
[RouterC-Vsi-interface1] distributed-gateway local
[RouterC-Vsi-interface1] local-proxy-arp enable
[RouterC-Vsi-interface1] quit
# 創建VSI虛接口VSI-interface2,在該接口上配置L3VNI為1000,用來匹配從Router A接收的路由。
[RouterC] interface vsi-interface 2
[RouterC-Vsi-interface2] l3-vni 1000
[RouterC-Vsi-interface2] quit
# 創建VSI虛接口VSI-interface3,在該接口上配置L3VNI為2000,用來匹配從Router B接收的路由。
[RouterC] interface vsi-interface 3
[RouterC-Vsi-interface3] l3-vni 2000
[RouterC-Vsi-interface3] quit
# 創建VSI虛接口VSI-interface4,在該接口上配置公網實例對應的L3VNI為3000。
[RouterC] interface vsi-interface 4
[RouterC-Vsi-interface4] l3-vni 3000
[RouterC-Vsi-interface4] quit
# 配置VXLAN 30所在的VSI實例和接口VSI-interface1關聯。
[RouterC] vsi vpnc
[RouterC-vsi-vpnc] gateway vsi-interface 1
[RouterC-vsi-vpnc] quit
(5) 配置Router D
# 配置Router D與其他路由器建立BGP連接。
<RouterD> system-view
[RouterD] bgp 200
[RouterD-bgp-default] group evpn
[RouterD-bgp-default] peer 1.1.1.1 group evpn
[RouterD-bgp-default] peer 2.2.2.2 group evpn
[RouterD-bgp-default] peer 3.3.3.3 group evpn
[RouterD-bgp-default] peer evpn as-number 200
[RouterD-bgp-default] peer evpn connect-interface loopback 0
# 配置BGP發布EVPN路由,並關閉BGP EVPN路由的VPN-Target過濾功能。
[RouterD-bgp-default] address-family l2vpn evpn
[RouterD-bgp-default-evpn] peer evpn enable
[RouterD-bgp-default-evpn] undo policy vpn-target
# 配置Router D為路由反射器。
[RouterD-bgp-default-evpn] peer evpn reflect-client
[RouterD-bgp-default-evpn] quit
[RouterD-bgp-default] quit
(1) 驗證分布式EVPN網關設備Router A
# 查看Router A上的EVPN路由信息,可以看到Router A發送了網關的IP前綴路由、各VSI的IMET路由、帶主機MAC的MAC路由和帶主機ARP的MAC/IP發布路由,並接收到RouterB, RouterC發出的網關的IP前綴路由和MAC/IP發布路由。(具體顯示信息略)
# 查看Router A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口處於up狀態。
[RouterA] display interface tunnel
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
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 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
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
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 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: 22 packets, 2156 bytes, 0 drops
Output: 23 packets, 2254 bytes, 0 drops
# 查看Router A上的VSI虛接口信息,可以看到VSI虛接口處於up狀態。
[RouterA] display interface vsi-interface
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 10.1.1.1/24 (primary)
IP packet frame type: Ethernet II, hardware address: 582e-81f2-0600
IPv6 packet frame type: Ethernet II, hardware address: 582e-81f2-0600
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: 4 bytes/sec, 32 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 2656 packets, 138432 bytes, 0 drops
Vsi-interface2
Current state: UP
Line protocol state: UP
Description: Vsi-interface2 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet protocol processing: Disabled
IP packet frame type: Ethernet II, hardware address: 582e-81f2-0600
IPv6 packet frame type: Ethernet II, hardware address: 582e-81f2-0600
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-interface3
Current state: UP
Line protocol state: UP
Description: Vsi-interface3 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet protocol processing: Disabled
IP packet frame type: Ethernet II, hardware address: 582e-81f2-0600
IPv6 packet frame type: Ethernet II, hardware address: 582e-81f2-0600
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-interface4
Current state: UP
Line protocol state: UP
Description: Vsi-interface4 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet protocol processing: Disabled
IP packet frame type: Ethernet II, hardware address: 582e-81f2-0600
IPv6 packet frame type: Ethernet II, hardware address: 582e-81f2-0600
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
# 查看Router A上的VSI信息,可以看到VSI內創建的VXLAN、與VXLAN關聯的VXLAN隧道、與VSI關聯的VSI虛接口等信息。
[RouterA] display l2vpn vsi verbose
VSI Name: Auto_L3VNI1000_2
VSI Index : 1
VSI State : Down
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 2
VXLAN ID : 1000
VSI Name: Auto_L3VNI2000_3
VSI Index : 2
VSI State : Down
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 3
VXLAN ID : 2000
VSI Name: Auto_L3VNI3000_4
VSI Index : 3
VSI State : Down
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 4
VXLAN ID : 3000
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 : -
Drop Unknown : -
PW Redundancy : Slave
Flooding : Enabled
Service Class : -
Gateway Interface : VSI-interface 1
VXLAN ID : 10
ACs:
AC Link ID State
GE1/0/1 0x0 Up
# 查看Router A上VSI的ARP表項信息,可以看到已學習到了本地虛擬機的ARP信息和BGP EVPN路由下一跳地址的ARP信息。
[RouterA] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface/Link ID Aging Type
10.1.1.10 582e-aaec-0806 vpna 0 10 D
11.1.1.4 582c-1385-0517 -- GE1/0/3 14 D
2.2.2.2 582e-8ba6-0700 Auto_L3VNI200 Tunnel0 -- R
0_3
3.3.3.3 9a51-95ba-1000 Auto_L3VNI300 Tunnel1 -- R
0_4
(2) 驗證主機之間互訪
VM 1和VM 2、VM 1和VM 3之間可以互訪,VM 2和VM 3不能互訪。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!