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

10-EVPN配置指導

目錄

02-EVPN數據中心互聯配置

本章節下載 02-EVPN數據中心互聯配置  (391.84 KB)

02-EVPN數據中心互聯配置


1 EVPN數據中心互聯

1.1  EVPN數據中心互聯簡介

EVPN數據中心互聯技術通過在數據中心之間建立VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN數據中心互聯)隧道,實現不同數據中心之間虛擬機的互通。

1.1.1  EVPN數據中心互聯典型組網

圖1-1所示,數據中心的邊緣設備為ED(Edge Device,邊緣設備)。ED之間建立VXLAN-DCI隧道,該隧道采用VXLAN封裝格式。ED與數據中心內部的VTEP建立VXLAN隧道。ED從VXLAN隧道或VXLAN-DCI隧道上接收到報文後,解除VXLAN封裝,根據目的IP地址重新對報文進行VXLAN封裝,並將其轉發到VXLAN-DCI隧道或VXLAN隧道,從而實現跨數據中心之間的互通。

圖1-1 VXLAN數據中心互聯典型組網圖

 

1.1.2  EVPN數據中心互聯工作機製

EVPN數據中心互聯組網中,ED之間、ED與VTEP之間建立BGP EVPN鄰居。ED從本數據中心的VTEP或其他ED接收到BGP EVPN路由後,將路由的下一跳、Router MAC分別修改為自身的IP地址、Router MAC地址,並將該路由發布給其他ED或本數據中心的VTEP。

ED、VTEP均學習到BGP EVPN路由後,根據路由信息轉發報文的過程為:

(1)     VTEP接收到VM發送的報文後,通過VXLAN隧道將報文轉發給ED。

(2)     ED解除VXLAN封裝後,重新對報文進行VXLAN封裝,通過VXLAN-DCI隧道將報文發送給遠端ED。

(3)     遠端ED解除VXLAN封裝後,重新封裝報文,通過VXLAN隧道將報文轉發給VTEP。

(4)     VTEP解除VXLAN封裝後,將報文發送給目的VM。

1.2  EVPN數據中心互聯配置任務簡介

EVPN數據中心互聯配置均在ED設備上執行,配置任務如下:

(1)     開啟DCI功能

(2)     配置ED修改路由的下一跳和Router MAC

(3)     (可選)配置VXLAN映射

如果在不同的數據中心中,同一租戶的相同子網使用了不同的VXLAN,要保證相同子網之間的流量進行二層轉發,則需要執行本配置。

(4)     配置BGP EVPN和BGP VPNv4路由相互引入

不同的數據中心之間通過MPLS L3VPN網絡互聯時,需要執行本配置。

1.3  EVPN數據中心互聯配置準備

配置EVPN數據中心互聯前,需要先完成各個數據中心的EVPN部署,詳細配置方法請參見“EVPN配置指導”中的“配置EVPN”。

1.4  開啟DCI功能

1. 功能簡介

EVPN數據中心互聯組網中,ED間互連的三層接口上必須開啟DCI功能,以便在ED之間建立VXLAN-DCI隧道。

ED根據EVPN路由自動建立隧道時,如果路由下一跳對應的出接口上開啟了DCI功能,則建立VXLAN-DCI隧道;否則,建立VXLAN隧道。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

隻能在主接口上開啟DCI功能,子接口繼承主接口上的配置。

(3)     開啟DCI功能。

dci enable

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

1.5  配置ED修改路由的下一跳和Router MAC

(1)     進入係統視圖。

system-view

(2)     配置全局Router ID。

router id router-id

缺省情況下,未配置全局Router ID。

(3)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,係統沒有運行BGP。

(4)     將遠端VTEP和ED配置為對等體。

peer { group-name | ipv4-address [ mask-length ] } as-number as-number

(5)     創建BGP EVPN地址族,並進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(6)     使能本地路由器與指定對等體/對等體組交換BGP EVPN路由的能力。

peer { group-name | ipv4-address [ mask-length ] } enable

缺省情況下,本地路由器不能與對等體/對等體組交換BGP EVPN路由。

(7)     配置向對等體/對等體組發布路由時,將下一跳屬性修改為自身的地址。

peer { group-name | ipv4-address [ mask-length ] } next-hop-local

缺省情況下,向EBGP對等體/對等體組發布的所有路由,都將下一跳屬性修改為自身的地址;向IBGP對等體/對等體組發布的EBGP路由,不修改下一跳屬性。

本配置中指定的對等體應為本數據中心的VTEP。

(8)     配置向對等體/對等體組發布路由、將從對等體/對等體組接收到的路由發布給其他對等體時,將路由的Router MAC修改為自身的Router MAC地址。

peer { group-name | ipv4-address [ mask-length ] } router-mac-local

缺省情況下,不會修改路由的Router MAC。

本配置中指定的對等體應為遠端ED。

1.6  配置VXLAN映射

1. 功能簡介

在不同的數據中心中,同一租戶的相同子網可能使用不同的VXLAN。這些數據中心互聯時,若要保證同一租戶相同子網之間的流量進行二層轉發,則ED設備上需要執行本配置,在不同的VXLAN之間建立映射關係。

指定映射的遠端VXLAN後,ED接收到本數據中心內VTEP發送的MAC/IP發布路由時,將其學習到本地VXLAN中,並在向其他ED通告該MAC/IP發布路由前,將路由中攜帶的VXLAN替換為映射的遠端VXLAN。從其他ED接收到映射的遠端VXLAN內的MAC/IP發布路由時,本地ED將該路由學習到本地VXLAN中。

可以通過以下方式建立映射關係:

·     將本地VXLAN直接映射為另一個數據中心中使用的VXLAN。采用此方式時,隻需在一個數據中心的ED上指定映射的遠端VXLAN。例如,數據中心1內使用VXLAN 10、數據中心2內使用VXLAN 20時,隻需在數據中心1的ED上配置VXLAN 10映射為遠端VXLAN 20。

·     將不同數據中心ED上的本地VXLAN映射為相同的VXLAN(稱為中間VXLAN)。采用此方式時,需要在所有數據中心的ED上都指定映射的遠端VXLAN為中間VXLAN。例如,數據中心1內使用VXLAN 10、數據中心2內使用VXLAN 20、數據中心3內使用VXLAN 30時,需要在三個數據中心的ED上均配置映射的遠端VXLAN為中間VXLAN(如VXLAN 500)。當多個數據中心互聯,且不同數據中心使用的VXLAN各不相同時,需要使用此方式。中間VXLAN隻能用於VXLAN映射,不能用作普通VXLAN來處理VXLAN業務。

2. 配置限製和指導

本地設備上需要創建映射的遠端VXLAN,為其配置EVPN實例,並為該EVPN實例配置RD和Route Target屬性。

在使用VXLAN映射功能時,不要為EVPN實例和VPN實例的EVPN地址族、EVPN實例和公網實例的EVPN地址族配置相同的Export target,否則可能導致三層轉發不通。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VSI視圖。

vsi vsi-name

(3)     進入EVPN實例視圖。

evpn encapsulation vxlan

(4)     指定本地VXLAN映射的遠端VXLAN。

mapping vni vxlan-id

缺省情況下,未指定本地VXLAN映射的遠端VXLAN。

本命令中指定的映射遠端VXLAN ID不能與l3-vni命令配置的L3VNI相同,也不能與reserved vxlan命令配置的保留VXLAN相同。reserved vxlan命令的詳細介紹,請參見“VXLAN命令參考”中的“VXLAN”。

1.7  配置BGP EVPN和BGP VPNv4路由相互引入

1.7.1  功能簡介

不同的數據中心之間通過MPLS L3VPN網絡互聯時,ED同時作為MPLS L3VPN的PE設備,進行MPLS L3VPN相關處理。此時,ED上除了完成MPLS L3VPN和EVPN配置外,還需要配置BGP EVPN和BGP VPNv4路由相互引入以實現數據中心之間的互通。

圖1-2 通過MPLS L3VPN網絡連接不同的數據中心

 

1.7.2  配置允許BGP VPNv4路由通過EVPN地址族發布給鄰居

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(4)     配置允許BGP VPNv4路由通過EVPN地址族發布給鄰居。

advertise l3vpn route [ replace-rt ][ advertise-policy policy-name ]

缺省情況下,BGP VPNv4路由不會通過EVPN地址族向外發送。

執行本命令後,BGP VPNv4路由將作為EVPN的IP前綴路由發布給鄰居。

 

1.7.3  配置允許BGP EVPN路由通過VPNv4地址族發布給鄰居

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP VPNv4地址族視圖。

address-family vpnv4

(4)     配置允許BGP EVPN路由通過VPNv4地址族發布給鄰居。

advertise evpn route [ replace-rt ][ advertise-policy policy-name ]

缺省情況下,BGP EVPN路由不會通過VPNv4地址族向外發送。

執行本命令後,設備會將EVPN的IP前綴路由、攜帶主機路由信息的MAC/IP發布路由通過VPNv4地址族發布給鄰居。

1.8  EVPN數據中心互聯典型配置舉例

1.8.1  數據中心二層互聯且使用相同VXLAN配置舉例

1. 組網需求

Switch A和Switch B為數據中心1的VTEP,Switch C和Switch D為數據中心2的VTEP,Switch B和Switch C為兩個數據中心的ED。數據中心1和數據中心2都使用VXLAN 10處理同一業務的流量。通過EVPN數據中心互連實現數據中心1和數據中心2的二層互通。

2. 組網圖

圖1-3 數據中心二層互聯且使用相同VXLAN配置組網圖

3. 配置步驟

說明

缺省情況下,本設備的接口工作在三層模式,在配置以太網服務實例前需要將對應的接口切換到二層模式。

 

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

配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchA] undo vxlan ip-forwarding

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

[SwitchA] vxlan tunnel mac-learning disable

# 在VSI實例vpna下創建VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchA-vsi-vpna] evpn encapsulation vxlan

[SwitchA-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchA-vsi-vpna-evpn-vxlan] vpn-target 123:456

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

[SwitchA-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchA] bgp 100

[SwitchA-bgp-default] peer 2.2.2.2 as-number 100

[SwitchA-bgp-default] peer 2.2.2.2 connect-interface loopback 0

[SwitchA-bgp-default] address-family l2vpn evpn

[SwitchA-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchA-bgp-default-evpn] quit

[SwitchA-bgp-default] quit

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

[SwitchA] interface hundredgige 1/0/1

[SwitchA-HundredGigE1/0/1] service-instance 1000

[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 100

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

[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-HundredGigE1/0/1-srv1000] quit

(3)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchB] undo vxlan ip-forwarding

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

[SwitchB] vxlan tunnel mac-learning disable

# 在與Switch C相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道。

[SwitchB] interface vlan-interface 12

[SwitchB-Vlan-interface12] dci enable

[SwitchB-Vlan-interface12] quit

# 在VSI實例vpna下創建VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchB-vsi-vpna] evpn encapsulation vxlan

[SwitchB-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchB-vsi-vpna-evpn-vxlan] vpn-target 123:456

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

[SwitchB-vsi-vpna] quit

# 配置BGP發布EVPN路由,指定向Switch A發布路由時將路由下一跳修改為自身的地址,向Switch C發布路由、從Switch C接收路由並發布時修改Router MAC。

[SwitchB] bgp 100

[SwitchB-bgp-default] peer 3.3.3.3 as-number 200

[SwitchB-bgp-default] peer 3.3.3.3 connect-interface loopback 0

[SwitchB-bgp-default] peer 3.3.3.3 ebgp-max-hop 64

[SwitchB-bgp-default] peer 1.1.1.1 as-number 100

[SwitchB-bgp-default] peer 1.1.1.1 connect-interface loopback 0

[SwitchB-bgp-default] address-family l2vpn evpn

[SwitchB-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchB-bgp-default-evpn] peer 3.3.3.3 router-mac-local

[SwitchB-bgp-default-evpn] peer 1.1.1.1 enable

[SwitchB-bgp-default-evpn] peer 1.1.1.1 next-hop-local

[SwitchB-bgp-default-evpn] quit

[SwitchB-bgp-default] quit

(4)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchC] undo vxlan ip-forwarding

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

[SwitchC] vxlan tunnel mac-learning disable

# 在與Switch B相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道

[SwitchC] interface vlan-interface 12

[SwitchC-Vlan-interface12] dci enable

[SwitchC-Vlan-interface12] quit

# 在VSI實例vpna下創建VXLAN 10。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchC-vsi-vpna] evpn encapsulation vxlan

[SwitchC-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchC-vsi-vpna-evpn-vxlan] vpn-target 123:456

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

[SwitchC-vsi-vpna] quit

# 配置BGP發布EVPN路由,指定向Switch D發布路由時將路由下一跳修改為自身的地址,向Switch B發布路由、從Switch B接收路由並發布時時修改Router MAC。

[SwitchC] bgp 200

[SwitchC-bgp-default] peer 2.2.2.2 as-number 100

[SwitchC-bgp-default] peer 2.2.2.2 connect-interface loopback 0

[SwitchC-bgp-default] peer 2.2.2.2 ebgp-max-hop 64

[SwitchC-bgp-default] peer 4.4.4.4 as-number 200

[SwitchC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[SwitchC-bgp-default] address-family l2vpn evpn

[SwitchC-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchC-bgp-default-evpn] peer 2.2.2.2 router-mac-local

[SwitchC-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchC-bgp-default-evpn] peer 4.4.4.4 next-hop-local

[SwitchC-bgp-default-evpn] quit

[SwitchC-bgp-default] quit

(5)     配置Switch D

# 開啟L2VPN能力。

<SwitchD> system-view

[SwitchD] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchD] undo vxlan ip-forwarding

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

[SwitchD] vxlan tunnel mac-learning disable

# 在VSI實例vpna下創建VXLAN 10。

[SwitchD] vsi vpna

[SwitchD-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchD-vsi-vpna] evpn encapsulation vxlan

[SwitchD-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchD-vsi-vpna-evpn-vxlan] vpn-target 123:456

[SwitchD-vsi-vpna-evpn-vxlan] quit

[SwitchD-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchD] bgp 200

[SwitchD-bgp-default] peer 3.3.3.3 as-number 200

[SwitchD-bgp-default] peer 3.3.3.3 connect-interface Loopback 0

[SwitchD-bgp-default] address-family l2vpn evpn

[SwitchD-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchD-bgp-default-evpn] quit

[SwitchD-bgp-default] quit

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

[SwitchD] interface hundredgige 1/0/1

[SwitchD-HundredGigE1/0/1] service-instance 1000

[SwitchD-HundredGigE1/0/1-srv1000] encapsulation s-vid 200

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

[SwitchD-HundredGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchD-HundredGigE1/0/1-srv1000] quit

4. 驗證配置

(1)     驗證ED(下文以Switch B為例,Switch C驗證方法與此類似)

# 查看EVPN通過BGP自動發現的鄰居信息,可以看到EVPN通過Inclusive Multicast Ethernet Tag Route發現鄰居Switch A和Switch C,並分別與其建立VXLAN隧道、VXLAN-DCI隧道。

[SwitchB] display evpn auto-discovery imet

Total number of automatically discovered peers: 2

 

VSI name: vpna

RD                    PE_address      Tunnel_address  Tunnel mode VXLAN ID

1:10                  1.1.1.1         1.1.1.1         VXLAN       10

1:10                  3.3.3.3         3.3.3.3         VXLAN-DCI   10

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

[SwitchB] 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

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

 

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 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內創建的VXLAN,以及關聯的VXLAN隧道、VXLAN-DCI隧道等信息。

[SwitchB] display l2vpn vsi name vpna verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : -

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 10

  Tunnels:

    Tunnel Name          Link ID    State    Type        Flood proxy

    Tunnel0              0x5000000  UP       Auto        Disabled

    Tunnel1              0x5000001  UP       Auto        Disabled

# 查看EVPN的MAC地址表項,可以看到已經學習到虛擬機的MAC地址信息。

[SwitchB] display evpn route mac

Flags: D - Dynamic   B - BGP      L - Local active

       G - Gateway   S - Static   M - Mapping

 

VSI name: vpna

MAC address     Link ID/Name     Flags   Next hop

0001-0001-0011  Tunnel0          B       1.1.1.1

0001-0001-0033  Tunnel1          B       3.3.3.3

(2)     驗證主機

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

1.8.2  數據中心二層互聯且使用不同VXLAN配置舉例

1. 組網需求

Switch A和Switch B為數據中心1的VTEP,Switch C和Switch D為數據中心2的VTEP,Switch B和Switch C為兩個數據中心的ED。數據中心1和數據中心2分別使用VXLAN 10、VXLAN 30處理同一業務的流量。通過EVPN數據中心互連實現數據中心1和數據中心2的二層互通。

2. 組網圖

圖1-4 數據中心二層互聯且使用不同VXLAN配置組網圖

3. 配置步驟

說明

缺省情況下,本設備的接口工作在三層模式,在配置以太網服務實例前需要將對應的接口切換到二層模式。

 

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

配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchA] undo vxlan ip-forwarding

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

[SwitchA] vxlan tunnel mac-learning disable

# 在VSI實例vpna下創建VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchA-vsi-vpna] evpn encapsulation vxlan

[SwitchA-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchA-vsi-vpna-evpn-vxlan] vpn-target auto

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

[SwitchA-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchA] bgp 100

[SwitchA-bgp-default] peer 2.2.2.2 as-number 100

[SwitchA-bgp-default] peer 2.2.2.2 connect-interface loopback 0

[SwitchA-bgp-default] address-family l2vpn evpn

[SwitchA-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchA-bgp-default-evpn] quit

[SwitchA-bgp-default] quit

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

[SwitchA] interface hundredgige 1/0/1

[SwitchA-HundredGigE1/0/1] service-instance 1000

[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 100

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

[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-HundredGigE1/0/1-srv1000] quit

(3)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchB] undo vxlan ip-forwarding

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

[SwitchB] vxlan tunnel mac-learning disable

# 在與Switch C相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道。

[SwitchB] interface vlan-interface 12

[SwitchB-Vlan-interface12] dci enable

[SwitchB-Vlan-interface12] quit

# 在VSI實例vpna下創建VXLAN 10。

[SwitchB] vsi vpna

[SwitchB-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchB-vsi-vpna] evpn encapsulation vxlan

[SwitchB-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchB-vsi-vpna-evpn-vxlan] vpn-target auto

# 配置本端VXLAN 10映射為遠端VXLAN 500。在對端ED上需要將VXLAN 500映射為對端ED上的VXLAN 30。

[SwitchB-vsi-vpna-evpn-vxlan] mapping vni 500

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

[SwitchB-vsi-vpna] quit

# 在VSI實例vpnb下創建VXLAN 500,該VXLAN ID用於二層轉發時替換本地的VXLAN。

[SwitchB] vsi vpnb

[SwitchB-vsi-vpnb] vxlan 500

[SwitchB-vsi-vpnb-vxlan-500] quit

# 在VSI實例vpnb下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchB-vsi-vpnb] evpn encapsulation vxlan

[SwitchB-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[SwitchB-vsi-vpnb-evpn-vxlan] vpn-target 123:456

[SwitchB-vsi-vpnb-evpn-vxlan] quit

[SwitchB-vsi-vpnb] quit

# 配置BGP發布EVPN路由,指定向Switch A發布路由時將路由下一跳修改為自身的地址,向Switch C發布路由、從Switch C接收路由並發布時修改Router MAC。

[SwitchB] bgp 100

[SwitchB-bgp-default] peer 3.3.3.3 as-number 200

[SwitchB-bgp-default] peer 3.3.3.3 connect-interface loopback 0

[SwitchB-bgp-default] peer 3.3.3.3 ebgp-max-hop 64

[SwitchB-bgp-default] peer 1.1.1.1 as-number 100

[SwitchB-bgp-default] peer 1.1.1.1 connect-interface loopback 0

[SwitchB-bgp-default] address-family l2vpn evpn

[SwitchB-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchB-bgp-default-evpn] peer 3.3.3.3 router-mac-local

[SwitchB-bgp-default-evpn] peer 1.1.1.1 enable

[SwitchB-bgp-default-evpn] peer 1.1.1.1 next-hop-local

[SwitchB-bgp-default-evpn] quit

[SwitchB-bgp-default] quit

(4)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchC] undo vxlan ip-forwarding

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

[SwitchC] vxlan tunnel mac-learning disable

# 在與Switch B相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道

[SwitchC] interface vlan-interface 12

[SwitchC-Vlan-interface12] dci enable

[SwitchC-Vlan-interface12] quit

# 在VSI實例vpna下創建VXLAN 30。

[SwitchC] vsi vpna

[SwitchC-vsi-vpna] vxlan 30

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

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchC-vsi-vpna] evpn encapsulation vxlan

[SwitchC-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchC-vsi-vpna-evpn-vxlan] vpn-target auto

# 配置本端VXLAN 30映射為遠端VXLAN 500。在對端ED上需要將VXLAN 500映射為對端ED上的VXLAN 10。

[SwitchC-vsi-vpna-evpn-vxlan] mapping vni 500

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

[SwitchC-vsi-vpna] quit

# 在VSI實例vpnb下創建VXLAN 500,該VXLAN ID用於二層轉發時替換本地的VXLAN。

[SwitchC] vsi vpnb

[SwitchC-vsi-vpnb] vxlan 500

[SwitchC-vsi-vpnb-vxlan-500] quit

# 在VSI實例vpnb下創建EVPN實例,並配置EVPN實例的RD和RT。RT需要手工配置。

[SwitchC-vsi-vpnb] evpn encapsulation vxlan

[SwitchC-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[SwitchC-vsi-vpnb-evpn-vxlan] vpn-target 123:456

[SwitchC-vsi-vpnb-evpn-vxlan] quit

[SwitchC-vsi-vpnb] quit

# 配置BGP發布EVPN路由,指定向Switch D發布路由時將路由下一跳修改為自身的地址,向Switch B發布路由、從Switch B接收路由並發布時修改Router MAC。

[SwitchC] bgp 200

[SwitchC-bgp-default] peer 2.2.2.2 as-number 100

[SwitchC-bgp-default] peer 2.2.2.2 connect-interface loopback 0

[SwitchC-bgp-default] peer 2.2.2.2 ebgp-max-hop 64

[SwitchC-bgp-default] peer 4.4.4.4 as-number 200

[SwitchC-bgp-default] peer 4.4.4.4 connect-interface loopback 0

[SwitchC-bgp-default] address-family l2vpn evpn

[SwitchC-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchC-bgp-default-evpn] peer 2.2.2.2 router-mac-local

[SwitchC-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchC-bgp-default-evpn] peer 4.4.4.4 next-hop-local

[SwitchC-bgp-default-evpn] quit

[SwitchC-bgp-default] quit

(5)     配置Switch D

# 開啟L2VPN能力。

<SwitchD> system-view

[SwitchD] l2vpn enable

# 配置VXLAN隧道工作在二層轉發模式。

[SwitchD] undo vxlan ip-forwarding

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

[SwitchD] vxlan tunnel mac-learning disable

# 在VSI實例vpna下創建VXLAN 30。

[SwitchD] vsi vpna

[SwitchD-vsi-vpna] vxlan 30

[SwitchD-vsi-vpna-vxlan-30] quit

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchD-vsi-vpna] evpn encapsulation vxlan

[SwitchD-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchD-vsi-vpna-evpn-vxlan] vpn-target auto

[SwitchD-vsi-vpna-evpn-vxlan] quit

[SwitchD-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchD] bgp 200

[SwitchD-bgp-default] peer 3.3.3.3 as-number 200

[SwitchD-bgp-default] peer 3.3.3.3 connect-interface Loopback 0

[SwitchD-bgp-default] address-family l2vpn evpn

[SwitchD-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchD-bgp-default-evpn] quit

[SwitchD-bgp-default] quit

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

[SwitchD] interface hundredgige 1/0/1

[SwitchD-HundredGigE1/0/1] service-instance 1000

[SwitchD-HundredGigE1/0/1-srv1000] encapsulation s-vid 200

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

[SwitchD-HundredGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchD-HundredGigE1/0/1-srv1000] quit

4. 驗證配置

(1)     驗證ED(下文以Switch B為例,Switch C驗證方法與此類似)

# 查看EVPN通過BGP自動發現的鄰居信息,可以看到EVPN通過Inclusive Multicast Ethernet Tag Route發現鄰居Switch A和Switch C,並分別與其建立VXLAN隧道、VXLAN-DCI隧道。

[SwitchB] display evpn auto-discovery imet

Total number of automatically discovered peers: 2

 

VSI name: vpna

RD                    PE_address      Tunnel_address  Tunnel mode VXLAN ID

1:10                  1.1.1.1         1.1.1.1         VXLAN       10

1:500                 3.3.3.3         3.3.3.3         VXLAN-DCI   500

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

[SwitchB] 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

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

 

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 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內創建的VXLAN,以及關聯的VXLAN隧道、VXLAN-DCI隧道等信息。vpnb下沒有關聯隧道。

[SwitchB] display l2vpn vsi verbose

VSI Name: vpna

  VSI Index               : 0

  VSI State               : Up

  MTU                     : -

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : -

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  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               : Down

  MTU                     : -

  Bandwidth               : -

  Broadcast Restrain      : -

  Multicast Restrain      : -

  Unknown Unicast Restrain: -

  MAC Learning            : -

  MAC Table Limit         : -

  MAC Learning rate       : -

  Drop Unknown            : -

  Flooding                : Enabled

  Statistics              : Disabled

  VXLAN ID                : 500

# 查看EVPN的MAC地址表項,可以看到已經學習到虛擬機的MAC地址信息,且從對端數據中心學到的MAC地址表項帶有M標誌。

[SwitchB] display evpn route mac

Flags: D - Dynamic   B - BGP      L - Local active

       G - Gateway   S - Static   M - Mapping

 

VSI name: vpna

MAC address     Link ID/Name     Flags   Next hop

0001-0001-0011  Tunnel0          B       1.1.1.1

0001-0001-0033  Tunnel1          BM      3.3.3.3

(2)     驗證主機

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

1.8.3  數據中心三層互聯配置舉例

1. 組網需求

Switch A為數據中心1的分布式網關,Switch D為數據中心2的分布式網關,Switch B和Switch C為兩個數據中心的ED。通過EVPN數據中心互連實現數據中心1和數據中心2的三層互通。

2. 組網圖

圖1-5 數據中心三層互聯配置組網圖

3. 配置步驟

說明

缺省情況下,本設備的接口工作在三層模式,在配置以太網服務實例前需要將對應的接口切換到二層模式。

 

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

# 在VM 1上指定網關地址為10.1.1.1;在VM 2上指定網關地址為10.1.2.1。(具體配置過程略)

# 配置各接口的IP地址和子網掩碼;在IP核心網絡內配置OSPF協議,確保交換機之間路由可達。(具體配置過程略)

(2)     配置Switch A

# 開啟L2VPN能力。

<SwitchA> system-view

[SwitchA] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchA] vxlan tunnel mac-learning disable

[SwitchA] vxlan tunnel arp-learning disable

# 在VSI實例vpna下創建VXLAN 10。

[SwitchA] vsi vpna

[SwitchA-vsi-vpna] vxlan 10

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

# 在VSI實例vpna下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchA-vsi-vpna] evpn encapsulation vxlan

[SwitchA-vsi-vpna-evpn-vxlan] route-distinguisher auto

[SwitchA-vsi-vpna-evpn-vxlan] vpn-target auto

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

[SwitchA-vsi-vpna] quit

# 配置BGP發布EVPN路由。

[SwitchA] bgp 100

[SwitchA-bgp-default] peer 2.2.2.2 as-number 100

[SwitchA-bgp-default] peer 2.2.2.2 connect-interface loopback 0

[SwitchA-bgp-default] address-family l2vpn evpn

[SwitchA-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchA-bgp-default-evpn] quit

[SwitchA-bgp-default] quit

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

[SwitchA] interface hundredgige 1/0/1

[SwitchA-HundredGigE1/0/1] service-instance 1000

[SwitchA-HundredGigE1/0/1-srv1000] encapsulation s-vid 100

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

[SwitchA-HundredGigE1/0/1-srv1000] xconnect vsi vpna

[SwitchA-HundredGigE1/0/1-srv1000] quit

# 配置L3VNI的RD和RT。

[SwitchA] ip vpn-instance vpn1

[SwitchA-vpn-instance-vpn1] route-distinguisher 1:1

[SwitchA-vpn-instance-vpn1] address-family ipv4

[SwitchA-vpn-ipv4-vpn1] vpn-target 2:2

[SwitchA-vpn-ipv4-vpn1] quit

[SwitchA-vpn-instance-vpn1] address-family evpn

[SwitchA-vpn-evpn-vpn1] vpn-target 1:1

[SwitchA-vpn-evpn-vpn1] quit

[SwitchA-vpn-instance-vpn1] quit

# 配置VSI虛接口VSI-interface1。

[SwitchA] interface vsi-interface 1

[SwitchA-Vsi-interface1] ip binding vpn-instance vpn1

[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] quit

# 創建VSI虛接口VSI-interface2,在該接口上配置VPN實例vpn1對應的L3VNI為1000。

[SwitchA] interface vsi-interface 2

[SwitchA-Vsi-interface2] ip binding vpn-instance vpn1

[SwitchA-Vsi-interface2] l3-vni 1000

[SwitchA-Vsi-interface2] quit

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

[SwitchA] vsi vpna

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

[SwitchA-vsi-vpna] quit

(3)     配置Switch B

# 開啟L2VPN能力。

<SwitchB> system-view

[SwitchB] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchB] vxlan tunnel mac-learning disable

[SwitchB] vxlan tunnel arp-learning disable

# 在與Switch C相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道。

[SwitchB] interface vlan-interface 12

[SwitchB-Vlan-interface12] dci enable

[SwitchB-Vlan-interface12] quit

# 配置BGP發布EVPN路由,指定向Switch A發布路由時將路由下一跳修改為自身的地址,向Switch C發布路由、從Switch C接收路由並發布時修改Router MAC。

[SwitchB] bgp 100

[SwitchB-bgp-default] peer 3.3.3.3 as-number 200

[SwitchB-bgp-default] peer 3.3.3.3 connect-interface loopback 0

[SwitchB-bgp-default] peer 3.3.3.3 ebgp-max-hop 64

[SwitchB-bgp-default] peer 1.1.1.1 as-number 100

[SwitchB-bgp-default] peer 1.1.1.1 connect-interface loopback 0

[SwitchB-bgp-default] address-family l2vpn evpn

[SwitchB-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchB-bgp-default-evpn] peer 3.3.3.3 router-mac-local

[SwitchB-bgp-default-evpn] peer 1.1.1.1 enable

[SwitchB-bgp-default-evpn] peer 1.1.1.1 next-hop-local

[SwitchB-bgp-default-evpn] quit

[SwitchB-bgp-default] quit

# 配置L3VNI的RD和RT。

[SwitchB] ip vpn-instance vpn1

[SwitchB-vpn-instance-vpn1] route-distinguisher 1:2

[SwitchB-vpn-instance-vpn1] address-family ipv4

[SwitchB-vpn-ipv4-vpn1] vpn-target 2:2

[SwitchB-vpn-ipv4-vpn1] quit

[SwitchB-vpn-instance-vpn1] address-family evpn

[SwitchB-vpn-evpn-vpn1] vpn-target 1:1

[SwitchB-vpn-evpn-vpn1] quit

[SwitchB-vpn-instance-vpn1] quit

# 創建VSI虛接口VSI-interface2,在該接口上配置VPN實例vpn1對應的L3VNI為1000。

[SwitchB] interface vsi-interface 2

[SwitchB-Vsi-interface2] ip binding vpn-instance vpn1

[SwitchB-Vsi-interface2] l3-vni 1000

[SwitchB-Vsi-interface2] quit

(4)     配置Switch C

# 開啟L2VPN能力。

<SwitchC> system-view

[SwitchC] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchC] vxlan tunnel mac-learning disable

[SwitchC] vxlan tunnel arp-learning disable

# 在與Switch B相連的三層接口上使能DCI功能,以便EVPN自動建立VXLAN-DCI隧道

[SwitchC] interface vlan-interface 12

[SwitchC-Vlan-interface12] dci enable

[SwitchC-Vlan-interface12] quit

# 配置BGP發布EVPN路由,指定向Switch D發布路由時將路由下一跳修改為自身的地址,向Switch B發布路由、從Switch B接收路由並發布時修改Router MAC。

[SwitchC] bgp 200

[SwitchC-bgp-default] peer 2.2.2.2 as-number 100

[SwitchC-bgp-default] peer 2.2.2.2 connect-interface Loopback 0

[SwitchC-bgp-default] peer 2.2.2.2 ebgp-max-hop 64

[SwitchC-bgp-default] peer 4.4.4.4 as-number 200

[SwitchC-bgp-default] peer 4.4.4.4 connect-interface Loopback 0

[SwitchC-bgp-default] address-family l2vpn evpn

[SwitchC-bgp-default-evpn] peer 2.2.2.2 enable

[SwitchC-bgp-default-evpn] peer 2.2.2.2 router-mac-local

[SwitchC-bgp-default-evpn] peer 4.4.4.4 enable

[SwitchC-bgp-default-evpn] peer 4.4.4.4 next-hop-local

[SwitchC-bgp-default-evpn] quit

[SwitchC-bgp-default] quit

# 配置L3VNI的RD和RT。

[SwitchC] ip vpn-instance vpn1

[SwitchC-vpn-instance-vpn1] route-distinguisher 1:3

[SwitchC-vpn-instance-vpn1] address-family ipv4

[SwitchC-vpn-ipv4-vpn1] vpn-target 2:2

[SwitchC-vpn-ipv4-vpn1] quit

[SwitchC-vpn-instance-vpn1] address-family evpn

[SwitchC-vpn-evpn-vpn1] vpn-target 1:1

[SwitchC-vpn-evpn-vpn1] quit

[SwitchC-vpn-instance-vpn1] quit

# 創建VSI虛接口VSI-interface2,在該接口上配置VPN實例vpn1對應的L3VNI為1000。

[SwitchC] interface vsi-interface 2

[SwitchC-Vsi-interface2] ip binding vpn-instance vpn1

[SwitchC-Vsi-interface2] l3-vni 1000

[SwitchC-Vsi-interface2] quit

(5)     配置Switch D

# 開啟L2VPN能力。

<SwitchD> system-view

[SwitchD] l2vpn enable

# 關閉遠端MAC地址和遠端ARP自動學習功能。

[SwitchD] vxlan tunnel mac-learning disable

[SwitchD] vxlan tunnel arp-learning disable

# 在VSI實例vpnb下創建EVPN實例,並配置自動生成EVPN實例的RD和RT。

[SwitchD] vsi vpnb

[SwitchD-vsi-vpnb] evpn encapsulation vxlan

[SwitchD-vsi-vpnb-evpn-vxlan] route-distinguisher auto

[SwitchD-vsi-vpnb-evpn-vxlan] vpn-target auto

[SwitchD-vsi-vpnb-evpn-vxlan] quit

# 創建VXLAN 20。

[SwitchD-vsi-vpnb] vxlan 20

[SwitchD-vsi-vpnb-vxlan-20] quit

[SwitchD-vsi-vpnb] quit

# 配置BGP發布EVPN路由。

[SwitchD] bgp 200

[SwitchD-bgp-default] peer 3.3.3.3 as-number 200

[SwitchD-bgp-default] peer 3.3.3.3 connect-interface Loopback 0

[SwitchD-bgp-default] address-family l2vpn evpn

[SwitchD-bgp-default-evpn] peer 3.3.3.3 enable

[SwitchD-bgp-default-evpn] quit

[SwitchD-bgp-default] quit

# 在接入服務器的接口HundredGigE1/0/1上創建以太網服務實例3000,該實例用來匹配VLAN 3的數據幀。

[SwitchD] interface hundredgige 1/0/1

[SwitchD-HundredGigE1/0/1] service-instance 3000

[SwitchD-HundredGigE1/0/1-srv3000] encapsulation s-vid 3

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

[SwitchD-HundredGigE1/0/1-srv3000] xconnect vsi vpnb

[SwitchD-HundredGigE1/0/1-srv3000] quit

# 配置L3VNI的RD和RT。

[SwitchD] ip vpn-instance vpn1

[SwitchD-vpn-instance-vpn1] route-distinguisher 1:4

[SwitchD-vpn-instance-vpn1] address-family ipv4

[SwitchD-vpn-ipv4-vpn1] vpn-target 2:2

[SwitchD-vpn-ipv4-vpn1] quit

[SwitchD-vpn-instance-vpn1] address-family evpn

[SwitchD-vpn-evpn-vpn1] vpn-target 1:1

[SwitchD-vpn-evpn-vpn1] quit

[SwitchD-vpn-instance-vpn1] quit

# 配置VSI虛接口VSI-interface1。

[SwitchD] interface vsi-interface 1

[SwitchD-Vsi-interface1] ip binding vpn-instance vpn1

[SwitchD-Vsi-interface1] ip address 10.1.2.1 255.255.255.0

[SwitchD-Vsi-interface1] mac-address 1-2-1

[SwitchD-Vsi-interface1] distributed-gateway local

[SwitchD-Vsi-interface1] quit

# 創建VSI虛接口VSI-interface2,在該接口上配置VPN實例vpn1對應的L3VNI為1000。

[SwitchD] interface vsi-interface 2

[SwitchD-Vsi-interface2] ip binding vpn-instance vpn1

[SwitchD-Vsi-interface2] l3-vni 1000

[SwitchD-Vsi-interface2] quit

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

[SwitchD] vsi vpnb

[SwitchD-vsi-vpnb] gateway vsi-interface 1

[SwitchD-vsi-vpnb] quit

4. 驗證配置

(1)     驗證ED(下文以Switch B為例,Switch C驗證方法與此類似)

# 查看EVPN通過BGP自動發現的鄰居信息,可以看到EVPN通過MAC/IP發布路由或IP前綴路由發現鄰居Switch A和Switch C,並分別與其建立VXLAN隧道、VXLAN-DCI隧道。

[SwitchB] display evpn auto-discovery macip-prefix

Destination IP  Source IP       L3VNI           Tunnel mode OutInterface

1.1.1.1         2.2.2.2         1000            VXLAN       Vsi-interface2

3.3.3.3         2.2.2.2         1000            VXLAN-DCI   Vsi-interface2

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

[SwitchB] 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

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

 

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 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

# 查看VPN實例vpn1的ARP表項和IP路由表項,可以看到已經學習到虛擬機的ARP和IP路由信息。

[SwitchB] display arp vpn-instance vpn1

  Type: S-Static   D-Dynamic   O-Openflow   R-Rule  I-Invalid

IP address      MAC address    VLAN/VSI name Interface                Aging Type

1.1.1.1         0031-1900-0000 0             Tunnel0                  N/A   R

3.3.3.3         0031-3900-0000 0             Tunnel1                  N/A   R

[SwitchB] display ip routing-table vpn-instance vpn1

Destinations : 4        Routes : 4

Destination/Mask   Proto   Pre Cost        NextHop         Interface

10.1.1.0/24        BGP     255 0           1.1.1.1         Vsi2

10.1.1.11/32       BGP     255 0           1.1.1.1         Vsi2

10.1.2.0/24        BGP     255 0           3.3.3.3         Vsi2

10.1.2.22/32       BGP     255 0           3.3.3.3         Vsi2

(2)     驗證主機

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

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們