• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

10-EVPN配置指导

目录

02-EVPN数据中心互联配置

本章节下载 02-EVPN数据中心互联配置  (391.86 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们