国家 / 地区

07 MPLS配置指导

01-MCE配置

本章节下载  (828.85 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/CE3000/CE3000-EI/Configure/Operation_Manual/H3C_CE3000-32F-EI_CG-Release_18xx-6W100/07/201403/822406_30005_0.htm

01-MCE配置


1 MCE配置

说明

·     本章所指的路由器代表了一般意义下的路由器,以及运行了路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。

·     本章只涉及MCE的介绍和配置,涉及到的各种路由协议的介绍和配置请参见“三层技术-IP路由配置指导”中的相关内容。

·     MCE功能中所指的“接口”为三层口,包括VLAN接口、三层以太网端口、三层聚合接口。三层以太网接口是指工作模式被配置成三层模式的以太网端口,有关以太网端口工作模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口配置”部分。

 

1.1  MCE简介

1.1.1  MPLS L3VPN简介

MPLS L3VPN是服务提供商VPN解决方案中一种基于PE的L3VPN技术,它使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。

MPLS L3VPN组网方式灵活、可扩展性好,并能够方便地支持MPLS QoS和MPLS TE,因此得到越来越多的应用。

MPLS L3VPN模型由三部分组成:CE、PE和P。

·     CE(Customer Edge)设备:用户网络边缘设备,有接口直接与SP(Service Provider,服务提供商)相连。CE可以是路由器或交换机,也可以是一台主机。CE“感知”不到VPN的存在,也不需要必须支持MPLS。

·     PE(Provider Edge)路由器:服务提供商边缘路由器,是服务提供商网络的边缘设备,与用户的CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上。

·     P(Provider)路由器:服务提供商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力。

图1-1是一个MPLS L3VPN组网方案的示意图。

图1-1 MPLS L3VPN组网

 

CE和PE的划分主要是根据SP与用户的管理范围,CE和PE是两者管理范围的边界。

CE设备通常是一台路由器,当CE与直接相连的PE建立邻接关系后,CE把本站点的VPN路由发布给PE,并从PE学到远端VPN的路由。CE与PE之间使用BGP/IGP交换路由信息,也可以使用静态路由。

PE从CE学到CE本地的VPN路由信息后,通过BGP与其它PE交换VPN路由信息。PE路由器只维护与它直接相连的VPN的路由信息,不维护服务提供商网络中的所有VPN路由。

P路由器只维护到PE的路由,不需要了解任何VPN路由信息。

当在MPLS骨干网上传输VPN流量时,入口PE做为Ingress LSR(Label Switch Router,标签交换路由器),出口PE做为Egress LSR,P路由器则做为Transit LSR。

1.1.2  MPLS L3VPN的基本概念

1. 站点

在介绍VPN时经常会提到“站点”,站点(Site)的含义可以从下述几个方面理解:

·     站点是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现;

·     站点的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个站点中的设备地理位置相邻;

·     一个站点中的设备可以属于多个VPN,换言之,一个站点可以属于多个VPN;

·     站点通过CE连接到服务提供商网络,一个站点可以包含多个CE,但一个CE只属于一个站点。

对于多个连接到同一服务提供商网络的站点,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的站点之间才能通过服务提供商网络互访,这种集合就是VPN。

2. 地址空间重叠

VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(Address Space)。

不同VPN的地址空间可能会在一定范围内重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,这就发生了地址空间重叠(Overlapping Address Spaces)。

3. VPN实例

在MPLS VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。

PE为每个直接相连的站点建立并维护专门的VPN实例。VPN实例中包含对应站点的VPN成员关系和路由规则。如果一个站点中的用户同时属于多个VPN,则该站点的VPN实例中将包括所有这些VPN的信息。

为保证VPN数据的独立性和安全性,PE上每个VPN实例都有相对独立的路由表和LFIB(Label Forwarding Information Base,标签转发表)。

具体来说,VPN实例中的信息包括:标签转发表、IP路由表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。

4. VPN-IPv4地址

传统BGP无法正确处理地址空间重叠的VPN的路由。假设VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由,BGP将只会选择其中一条路由,从而导致去往另一个VPN的路由丢失。

PE路由器之间使用MP-BGP来发布VPN路由,并使用VPN-IPv4地址族来解决上述问题。

VPN-IPv4地址共有12个字节,包括8字节的RD和4字节的IPv4地址前缀,如图1-2所示。

图1-2 VPN-IPv4地址结构

 

PE从CE接收到普通IPv4路由后,需要将这些私网VPN路由发布给对端PE。私网路由的独立性是通过为这些路由附加RD实现的。

SP可以独立地分配RD,但必须保证RD的全局唯一性。这样,即使来自不同服务提供商的VPN使用了同样的IPv4地址空间,PE路由器也可以向各VPN发布不同的路由。

建议为PE上每个VPN实例配置专门的RD,以保证到达同一CE的路由都使用相同的RD。RD为0的VPN-IPv4地址相当于全局唯一的IPv4地址。

RD的作用是添加到一个特定的IPv4前缀,使之成为全局唯一的VPN IPv4前缀。

RD或者是与自治系统号(ASN)相关的,在这种情况下,RD是由一个自治系统号和一个任意的数组成;或者是与IP地址相关的,在这种情况下,RD是由一个IP地址和一个任意的数组成。

RD有三种格式,通过2字节的Type字段区分:

·     Type为0时,Administrator子字段占2字节,Assigned number子字段占4字节,格式为:16bits自治系统号:32bits用户自定义数字。例如:100:1

·     Type为1时,Administrator子字段占4字节,Assigned number子字段占2字节,格式为:32bitsIPv4地址:16bits用户自定义数字。例如:172.1.1.1:1

·     Type为2时,Administrator子字段占4字节,Assigned number子字段占2字节,格式为:32bits自治系统号:16bits用户自定义数字,其中的自治系统号最小值为65536。例如:65536:1

为保证RD的全局唯一性,建议不要将Administrator子字段的值设置为私有AS号或私有IP地址。

5. VPN Target属性

MPLS L3VPN使用BGP扩展团体属性——VPN Target(也称为Route Target)来控制VPN路由信息的发布。

PE路由器上的VPN实例有两类VPN Target属性:

·     Export Target属性:在本地PE将从与自己直接相连的站点学到的VPN-IPv4路由发布给其它PE之前,为这些路由设置Export Target属性;

·     Import Target属性:PE在接收到其它PE路由器发布的VPN-IPv4路由时,检查其Export Target属性,只有当此属性与PE上VPN实例的Import Target属性匹配时,才把路由加入到相应的VPN路由表中。

也就是说,VPN Target属性定义了一条VPN-IPv4路由可以为哪些站点所接收,PE路由器可以接收哪些站点发送来的路由。

与RD类似,VPN Target也有三种格式:

·     16bits自治系统号:32bits用户自定义数字,例如:100:1。

·     32bits IPv4地址:16bits用户自定义数字,例如:172.1.1.1:1。

·     32bits自治系统号:16bits用户自定义数字,其中的自治系统号最小值为65536。例如:65536:1。

1.1.3  MCE简介

BGP/MPLS VPN以隧道的方式解决了在公网中传送私网数据的问题,但传统的BGP/MPLS VPN架构要求每个VPN实例单独使用一个CE与PE相连,如图1-1所示。

随着用户业务的不断细化和安全需求的提高,很多情况下一个私有网络内的用户需要划分成多个VPN,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将加大用户的设备开支和维护成本;而多个VPN共用一台CE,使用同一个路由表项,又无法保证数据的安全性。

使用MCE(Multi-VPN-Instance CE,具备多VPN实例功能的CE)功能,可以有效解决多VPN网络带来的用户数据安全与网络成本之间的矛盾,它使用CE设备本身的VLAN接口编号与网络内的VPN进行绑定,并为每个VPN创建和维护独立的路由转发表(Multi-VRF)。这样不但能够隔离私网内不同VPN的报文转发路径,而且通过与PE间的配合,也能够将每个VPN的路由正确发布至对端PE,保证VPN报文在公网内的传输。

1.1.4  MCE工作原理

下面以图1-3为例介绍MCE对多个VPN的路由表项进行维护,并与PE交互VPN路由的过程。

图1-3 MCE工作原理示意图

 

 

图1-3所示,左侧私网内有两个VPN站点:站点1和站点2,分别通过MCE设备接入MPLS骨干网,其中VPN1和VPN2的用户,需要分别与远端站点2内的VPN1用户和站点1内的VPN2用户建立VPN隧道。

通过配置MCE功能,可以在MCE设备上为VPN1和VPN2创建不同的VPN实例,为其维护各自独立的路由表,并使用Vlan-interface2接口与VPN1进行绑定、Vlan-interface3与VPN2进行绑定。在接收路由信息时,MCE设备根据接收接口的编号,即可判断该路由信息的来源,并将其维护到对应VPN实例的路由转发表中。

同时,MCE需要通过不同的路由协议或进程来向PE发布VPN1和VPN2的路由,以便PE能够识别并分别维护不同VPN的路由。因此,MCE需要通过两个接口连接到PE,并创建两个VPN实例与两个接口分别绑定。在向PE发布VPN路由时,将不同的路由协议或进程与VPN实例绑定,并在不同的协议或进程中分别引入VPN1和VPN2内的路由。

通过上述过程,MCE即可将两个VPN内的路由信息分别发布到PE设备。

1.1.5  在隧道环境中使用MCE

除MPLS L3VPN外,目前能够提供VPN功能的还有隧道技术。本交换机提供的MCE功能在通过隧道实现VPN的组网中,也可以进行应用。具体的实现方式如图1-4所示:

图1-4 在隧道组网中使用MCE的组网方式一

 

在两台MCE设备间建立多条隧道,并将隧道接口与指定的VPN实例进行绑定,可以使VPN实例的路由信息和数据通过绑定的隧道接口传输至对端设备,对端MCE设备根据接收路由的隧道接口来判断该路由所属的VPN实例,并将其发布给相应的站点。例如在图1-4中将隧道1与VPN1实例绑定,便可以使MCE设备在该隧道上传输VPN1的路由信息和数据。

另外一种隧道环境的组网方式是将MCE设备通过隧道与远端多个CE进行连接,该方式中CE设备只需按正常方式接收和发布路由,MCE设备根据隧道接口与VPN的绑定关系来发送和接收VPN路由信息。组网示意如图1-5所示:

图1-5 在隧道组网中使用MCE的组网方式二

 

说明

·     在隧道环境中使用MCE时,MCE设备可以直接与对端MCE设备(或多个CE设备)交互VPN路由信息,交互方式与在MPLS L3VPN环境下MCE与PE的交互方式相同,请参见1.2.2  MCE与PE间的路由交换

·     目前支持MCE功能的隧道类型有GRE隧道、IPv4 over IPv4隧道、IPv4 over IPv6隧道。

·     关于隧道种类的介绍和相关配置,请参见“三层技术-IP业务配置指导”中的“隧道配置”部分。

 

1.2  MCE的路由信息交换

通过接口与VPN实例的绑定,MCE与PE已经能够正确判断报文的来源,参考对应VPN实例的路由信息对报文进行转发。下面介绍一下MCE设备如何将多个VPN实例的私网路由信息准确传播到PE设备。

1.2.1  MCE与私网间的路由交换

MCE可以使用如下的路由协议与站点交换VPN私网路由:

·     静态路由

·     RIP

·     OSPF

·     IS-IS

·     IBGP

·     EBGP

说明

下文只介绍各路由协议与MCE功能配合的配置思路,有关路由协议的基本原理,请参见“三层技术-IP路由配置指导”中的相关介绍。

 

1. 使用静态路由

MCE可以通过静态路由与站点连接。传统CE配置的静态路由对全局生效,无法解决多VPN间的地址重叠问题。CE3000-32F-EI交换机提供的MCE功能可以将静态路由与VPN实例相绑定,将各VPN之间的静态路由进行隔离。

2. 使用RIP

CE3000-32F-EI交换机提供了将RIP进程与VPN实例绑定的方法,通过在MCE上配置RIP进程与VPN实例的绑定关系,使不同VPN内的私网路由可以通过不同的RIP进程在站点和MCE间进行交互,保证了私网路由的隔离和安全。

3. 使用OSPF

CE3000-32F-EI交换机提供了将OSPF进程与VPN实例绑定的功能,用来在MCE上隔离不同VPN的路由。

需要注意的是:

在VPN实例所绑定的OSPF进程中,将不会使用在系统视图下配置的公网Router ID,需要用户在启动进程时手工配置Router ID。

一个OSPF进程只能绑定一个VPN实例,但一个VPN实例可以使用多个OSPF进程为其传播私网路由。同一VPN实例内的OSPF进程应配置有相同的域ID,以保证路由发布的正确性。

说明

对于标准的BGP/OSPF互相引用功能,当在MCE设备上配置引入BGP路由到OSPF中时,该路由的原OSPF属性将无法恢复,造成该路由与从其他域引入的路由无法区分。为了区分原属于不同OSPF域的路由,需要在远端PE将OSPF路由引入到BGP时携带标识域的属性,即OSPF的域ID(Domain ID)。OSPF进程的域ID包含在此进程生成的路由中,在将OSPF路由引入BGP中时,域ID被附加到BGP VPN路由上,作为BGP的扩展团体属性传递。

 

在某些情况下,同一个VPN可能会连接多个MCE设备,当其中一个MCE将从BGP学到的路由向VPN内发布时,可能会被另外的MCE设备学到,造成路由环。为避免路由环路,可以在MCE上为不同的VPN实例配置Route Tag,建议在多个MCE上为同一个VPN配置相同的Route Tag。

4. 使用IS-IS

MCE和站点之间使用IS-IS传播私网路由的方式与使用OSPF时类似,将进程与VPN实例进行绑定。一个IS-IS进程只能属于一个VPN实例。

5. 使用IBGP

当MCE和站点之间使用IBGP传播私网路由时,需要在MCE上为每个VPN实例配置IBGP对等体,并引入相应VPN内的IGP路由信息。当MCE同时与属于同一VPN的多个站点进行连接时,可以将MCE设备配置为路由反射器,站点的出口路由器配置为客户端,使MCE在多个站点之间传递(反射)路由信息,而站点之间不需要建立BGP连接,减少了BGP连接数量,简化了网络配置。

6. 使用EBGP

当MCE和站点之间使用EBGP传播私网路由时,需要在MCE上为每个VPN实例配置EBGP对等体,并引入相应VPN内的IGP路由信息。由于一般情况下各个站点处于不同的AS内,因此应使用EBGP进行路由的传播。

(1)     配置EBGP引入各站点内的IGP路由

为正确的将私网路由发布到PE,需要MCE首先将与其直连站点内的IGP路由引入到自己的BGP路由表中。

(2)     为每个VPN实例配置对等体组

为准确地与各站点交换路由信息,可以在BGP的IPv4地址族视图下,为每个VPN实例配置对等体组,并指定对等体组的AS编号。

(3)     通过Filter-policy对路由进行过滤

为正确地将路由信息传播到站点和PE设备,在指定对等体后,还需要使用Filter-policy对接收/发布的路由进行过滤。

1.2.2  MCE与PE间的路由交换

由于在MCE设备上已经将路由信息与VPN实例进行了绑定,因此,只需要在MCE与PE之间将接口与VPN实例进行绑定,再进行简单的路由配置,便可以将MCE的VPN路由表项引入到MCE-PE间的路由协议中,实现私网VPN路由信息的传播。

MCE与PE之间可以使用以下的路由协议进行路由交换:

·     静态路由

·     RIP

·     OSPF

·     IS-IS

·     IBGP

·     EBGP

各路由协议的配置方法及引入路由的操作,请参考“三层技术-IP路由配置指导”中的介绍。

1.3  配置MCE

1.3.1  配置VPN实例

VPN实例用于将VPN私网路由与公网路由隔离,在所有MCE组网方案中,都需要配置VPN实例。

VPN实例不仅可以将VPN私网路由与公网路由隔离,不同VPN实例的路由之间也是相互隔离的,这一特点使得VPN实例的使用不限于MCE。

1. 创建VPN实例

VPN实例在实现中与站点关联。VPN实例不是直接对应于VPN,一个VPN实例综合了和它所对应站点的VPN成员关系和路由规则。

一个VPN实例只有配置了RD后才生效。在配置RD之前,除了描述信息外,不能配置VPN实例的其他任何参数。

描述信息用于描述VPN实例,可以用来记录VPN实例与某个VPN的关系等信息。

表1-1 创建VPN实例

操作

命令

说明

进入系统视图

system-view

-

创建VPN实例,并进入VPN实例视图

ip vpn-instance vpn-instance-name

必选

配置VPN实例的RD

route-distinguisher route-distinguisher

必选

配置VPN实例的描述信息

description text

可选

 

注意

为方便记忆和管理,建议用户在MCE设备和PE设备上为同一个VPN实例配置相同的RD。

 

2. 配置VPN实例与接口关联

VPN实例配置完成后,需要与连接各个VPN站点的接口进行关联。

说明

·     在MPLS L3VPN环境中,还需要将VPN实例与连接PE设备的接口进行关联。

·     在隧道环境中,还需要将VPN实例与连接对端MCE设备(或CE设备)的隧道接口进行关联。

·     设备支持将管理用以太网口与VPN实例进行绑定,使管理用以太网口上的IP地址仅参与VPN实例内部的路由计算。

 

表1-2 配置VPN实例与接口关联

操作

命令

说明

进入系统视图

system-view

-

进入要关联接口的接口视图

interface interface-type interface-number

-

将当前接口与VPN实例关联

ip binding vpn-instance vpn-instance-name

必选

缺省情况下,接口不关联任何VPN实例

 

说明

执行ip binding vpn-instance命令将删除接口上已经配置的IP地址,因此需要重新配置接口的IP地址。

 

3. 配置VPN实例的路由相关属性

MCE设备对VPN路由的发布控制过程如下:

·     当从VPN 站点内学习到的一条VPN路由引入BGP时,BGP为它关联一个VPN Target扩展团体属性列表,通常这个列表是与该站点相关联的VPN实例的输出路由属性列表。

·     VPN实例根据VPN Target中import-extcommunity决定可被接受并引入此VPN实例的路由。

·     VPN实例根据VPN Target中的export-extcommunity对向外发布的路由进行VPN Target属性的修改。

表1-3 配置VPN实例的路由相关属性

操作

命令

说明

进入系统视图

system-view

-

进入VPN实例视图

ip vpn-instance vpn-instance-name

必选

进入IPv4 VPN视图

ipv4-family

可选

将当前VPN实例与一个或多个VPN Target相关联

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

必选

配置VPN实例支持的最大路由数

routing-table limit number { warn-threshold | simply-alert }

可选

缺省情况下,没有配置当前VPN实例支持的最多路由数

对当前VPN实例应用入方向路由策略

import route-policy route-policy

可选

缺省情况下,允许所有VPN Target属性匹配的路由通过

对当前VPN实例应用出方向路由策略

export route-policy route-policy

可选

缺省情况下,允许所有VPN Target属性匹配的路由通过

 

说明

·     只有当MCE与PE间运行BGP时,VPN Target属性才会随路由发布到PE,否则配置该属性没有意义。

·     既可以在VPN实例视图下,也可以在IPv4 VPN视图下,配置IPv4 VPN的路由相关属性。如果同时在两个视图下配置了路由相关属性,则IPv4 VPN采用IPv4 VPN视图下配置的路由相关属性。

·     命令vpn-target最多可以配置8个VPN Target;一个VPN实例最多可以配置64个VPN Target。

·     可以配置一个VPN实例可以支持的最大路由数,以防止PE路由器的入接口有过多的路由。

·     为VPN实例配置路由策略之前必须已经创建了路由策略,否则将采用缺省路由策略。

 

1.4  配置MCE的路由交换

MCE可以看作一种通过路由隔离实现业务隔离的组网方案。配置MCE的关键为:

·     配置MCE与站点之间的路由交换

·     配置MCE与PE之间的路由交换

在MCE组网方案中,路由计算时需要关闭PE上的路由环路检测功能,防止路由丢失;同时禁止各路由协议互操作功能,以节省系统资源。

1.4.1  配置准备

在配置MCE之前,需完成以下任务:

·     创建VPN实例、在MCE上将连接站点和PE的接口与VPN实例绑定

·     配置相关接口的链路层协议和网络层协议,保证路由可达

1.4.2  配置MCE与站点之间的路由交换

1. 配置MCE与站点之间使用静态路由

MCE可以通过静态路由与Site连接。传统CE配置的静态路由对全局生效,无法解决多VPN间的地址重叠问题。以太网交换机提供的MCE功能可以将静态路由与VPN实例相绑定,将各VPN之间的静态路由进行隔离。

表1-4 配置MCE与站点之间使用静态路由

操作

命令

说明

进入系统视图

system-view

-

为指定VPN实例配置静态路由

ip route-static dest-address { mask | mask-length } { gateway-address | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ]

二者必选其一

该配置在MCE上进行,站点上的配置方法与普通静态路由相同

ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } { gateway-address [ public ] | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ]

配置静态路由的缺省优先级

ip route-static default-preference default-preference-value

可选

缺省情况下,静态路由的缺省优先级为60

 

2. 配置MCE与站点之间使用RIP

一个RIP进程只能属于一个VPN实例。如果在启动RIP进程时不绑定到VPN实例,则该进程属于公网进程。通过在MCE上将RIP进程与VPN实例绑定,可以使不同VPN内的私网路由通过不同的RIP进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。

表1-5 配置MCE与站点之间使用RIP

操作

命令

说明

进入系统视图

system-view

-

创建MCE与站点间的RIP实例,并进入RIP视图

rip [ process-id ] vpn-instance vpn-instance-name

必选

该配置在MCE上进行,站点上配置普通RIP即可

在指定网段接口上使能RIP

network network-address

必选

缺省情况下,接口上的RIP功能处于关闭状态

引入由PE发布的远端站点的路由

import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] *

必选

缺省情况下,RIP未引入其它路由

配置引入路由的缺省度量值

default cost value

可选

缺省情况下,引入路由的缺省度量值为0

 

说明

有关RIP的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIP”。

 

3. 配置MCE与站点之间使用OSPF

一个OSPF进程只能属于一个VPN实例。如果在启动OSPF进程时不绑定到VPN实例,则该进程属于公网进程。

通过在MCE上将OSPF进程与VPN实例绑定,可以使不同VPN内的私网路由通过不同的OSPF进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。

表1-6 配置MCE与站点之间使用OSPF

操作

命令

说明

进入系统视图

system-view

-

创建MCE与站点间的OSPF实例,并进入OSPF视图

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

必选

该配置在MCE上进行,站点上配置普通OSPF即可

配置OSPF域标识符

domain-id domain-id [ secondary ]

可选

缺省情况下,OSPF域标识符为0

该配置在MCE上进行,Site上配置普通OSPF即可

引入由PE发布的远端站点的路由

import-route protocol [ process-id | allow-ibgp ] [ cost cost | type type | tag tag | route-policy route-policy-name ] *

必选

缺省情况下,没有引入其他协议的路由信息

配置OSPF区域,进入OSPF区域视图

area area-id

必选

缺省情况下,没有配置OSPF区域

配置区域所包含的网段并在指定网段的接口上使能OSPF

network ip-address wildcard-mask

必选

缺省情况下,接口不属于任何区域且OSPF功能处于关闭状态

 

说明

·     VPN实例绑定的OSPF进程中不使用系统视图下配置的公网Router ID,因此用户需要在启动进程时手工配置Router ID。同一VPN的所有OSPF进程应配置相同的域ID,以保证路由发布的正确性。

·     一个OSPF进程只能属于一个VPN实例,但一个VPN实例可以使用多个OSPF进程为其传播私网路由。同一VPN实例内的OSPF进程应配置有相同的域ID,以保证路由发布的正确性。

·     有关OSPF协议的配置,请参见“三层技术-IP路由配置指导”中的“OSPF”。

 

4. 配置MCE与站点之间使用IS-IS

一个IS-IS进程只能属于一个VPN实例。如果在启动IS-IS进程时不绑定到VPN实例,则该进程属于公网进程。

通过在MCE上将IS-IS进程与VPN实例绑定,可以使不同VPN内的私网路由通过不同的IS-IS进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。

表1-7 配置MCE与站点之间使用IS-IS

操作

命令

说明

进入系统视图

system-view

-

创建MCE与站点间的IS-IS实例,并进入IS-IS视图

isis [ process-id ] vpn-instance vpn-instance-name

必选

该配置在MCE上进行,站点上配置普通IS-IS即可

配置网络实体名称

network-entity net

必选

缺省情况下,没有配置网络实体名称

引入由PE发布的远端站点的路由

import-route { isis [ process-id ] | ospf [ process-id ] | rip [ process-id ] | bgp [ allow-ibgp ] | direct | static } [ cost cost | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *

可选

缺省情况下,IS-IS不引入其它协议的路由信息

如果import-route命令中不指定引入的级别,则默认为引入路由到Level-2路由表中

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

使能接口IS-IS并指定要关联的IS-IS进程号

isis enable [ process-id ]

必选

缺省情况下,接口上没有使能IS-IS

 

说明

有关IS-IS的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“IS-IS”。

 

5. 配置MCE与站点之间使用EBGP

MCE与站点间使用EBGP交换路由信息时,需要在MCE上为每个VPN实例配置BGP对等体,并在站点上引入相应VPN内的IGP路由信息。

MCE使用EBGP交换路由信息时,还可以通过Filter-policy对接收/发布的路由进行过滤。

(1)     MCE上的配置

表1-8 配置MCE与站点之间使用EBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ipv4-family vpn-instance vpn-instance-name

必选

配置EBGP对等体

peer { group-name | ip-address } [ as-number as-number ]

二者必选其一

配置允许本地AS号在所接收的路由的AS_PATH属性中出现,并可同时配置允许重复的次数

peer { group-name | ip-address } allow-as-loop [ number ]

引入由PE发布的远端站点的路由

import-route protocol [ process-id | all-processes ] [ med med-value | route-policy route-policy-name ] *

必选

缺省情况下,BGP不引入且不通告其它协议的路由

配置对发布的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

说明

·     通常情况下,BGP通过AS号检测路由环路。如果在MCE和Site之间运行EBGP,当MCE将路由信息通告给Site时带上本自治系统的AS号,再从Site接收路由更新时,路由更新消息中会带有本自治系统的AS号,这样MCE就不能接收这条路由更新信息,此时需要配置允许路由环路。

·     对于标准的BGP/OSPF互相引用功能,当在MCE设备上配置引入BGP路由到OSPF中时,该路由的原OSPF属性将无法恢复,造成该路由与从其他域引入的路由无法区分。为了区分原属于不同OSPF域的路由,需要在远端PE将OSPF路由引入到BGP时携带标识域的属性,即OSPF的域ID(Domain ID)。OSPF进程的域ID包含在此进程生成的路由中,在将OSPF路由引入BGP中时,域ID被附加到BGP VPN路由上,作为BGP的扩展团体属性传递。

·     配置BGP VPN实例后,VPN实例中的BGP路由交换与普通的BGP相同。有关BGP协议的配置,请参见“三层技术-IP路由配置指导”中的“BGP”。

 

(2)     站点上的配置

表1-9 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

将MCE配置为EBGP对等体

peer { group-name | ip-address } as-number as-number

必选

配置引入VPN内的IGP路由

import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] *

可选

站点需要将自己所能到达的VPN网段地址发布给接入的MCE

 

6. 配置MCE与站点间使用IBGP

MCE与站点间使用IBGP交换路由信息时,需要在MCE上为每个VPN实例配置BGP对等体,并在站点上引入相应VPN内的IGP路由信息。

(1)     MCE上的配置

表1-10 配置MCE与站点之间使用IBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ipv4-family vpn-instance vpn-instance-name

必选

配置IBGP对等体

peer { group-name | ip-address } [ as-number as-number ]

必选

配置本地设备作为路由反射器,对端设备作为路由反射器的客户端

peer { group-name | ip-address } reflect-client

可选

缺省情况下,没有配置路由反射器及其客户端

引入由PE发布的远端站点的路由

import-route protocol [ process-id | all-processes ] [ med med-value | route-policy route-policy-name ] *

必选

缺省情况下,BGP不引入且不通告其它协议的路由

配置对发布的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

说明

将站点配置为IBGP对等体时,从该站点学习的BGP路由不会向其它IBGP对等体(包括VPNv4对等体)发送。只有将站点配置为路由反射器的客户端后,才能向其它IBGP对等体发送从该站点学习的路由。

 

(2)     站点上的配置

表1-11 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

将MCE配置为IBGP对等体

peer { group-name | ip-address } as-number as-number

必选

配置引入VPN内的IGP路由

import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] *

可选

站点需要将自己所能到达的VPN网段地址发布给接入的MCE

 

1.4.3  配置MCE与PE之间的路由交换

由于在MCE设备上已经将站点内的私网路由信息与VPN实例进行了绑定,因此,只需要在MCE与PE之间将接口与VPN实例进行绑定、进行简单的路由配置、并将MCE上维护的站点内的VPN路由引入到MCE-PE间的路由协议中,便可以实现私网VPN路由信息的传播。

1. 配置MCE与PE之间使用静态路由

表1-12 配置MCE与PE之间使用静态路由

操作

命令

说明

进入系统视图

system-view

-

为指定VPN实例配置静态路由

ip route-static dest-address { mask | mask-length } { gateway-address | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ]

必选

ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } { gateway-address [ public ] | interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ]

配置静态路由的缺省优先级

ip route-static default-preference default-preference-value

可选

缺省情况下,静态路由的缺省优先级为60

 

2. 配置MCE与PE之间使用RIP

表1-13 配置MCE与PE之间使用RIP

操作

命令

说明

进入系统视图

system-view

-

创建MCE与PE间的RIP实例,并进入RIP视图

rip [ process-id ] vpn-instance vpn-instance-name

必选

在指定网段接口上使能RIP

network network-address

必选

缺省情况下,接口上的RIP功能处于关闭状态

引入站点内的VPN路由

import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] *

必选

缺省情况下,RIP未引入其它路由

配置引入路由的缺省度量值

default cost value

可选

缺省情况下,引入路由的缺省度量值为0

 

说明

有关RIP的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIP”。

 

3. 配置MCE与PE之间使用OSPF

表1-14 配置MCE与PE之间使用OSPF

操作

命令

说明

进入系统视图

system-view

-

创建MCE与PE间的OSPF实例,并进入OSPF视图

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] *

必选

关闭OSPF实例的路由环路检测功能

vpn-instance-capability simple

必选

缺省情况下,OSPF实例的路由环路检测功能处于开启状态

需要在MCE上通过本命令关闭OSPF实例的路由环路检测功能。否则,MCE不会接收PE发送过来的OSPF路由,导致路由丢失

配置OSPF域标识符

domain-id domain-id [ secondary ]

可选

缺省情况下,OSPF域标识符为0

引入站点内的VPN路由

import-route protocol [ process-id | allow-ibgp ] [ cost cost | type type | tag tag | route-policy route-policy-name ] *

必选

缺省情况下,没有引入其他协议的路由信息

配置对发布的路由进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protocol [ process-id ] ]

可选

缺省情况下,没有对发布的路由信息进行过滤

配置引入外部路由时的参数缺省值(开销、路由数量、标记、类型)

default { cost cost | limit limit | tag tag | type type } *

可选

缺省情况下,OSPF引入外部路由的度量值为1,一次引入外部路由数量的上限为1000,外部路由标记值为1,引入的外部路由类型为Type2

配置OSPF区域,进入OSPF区域视图

area area-id

必选

缺省情况下,没有配置OSPF区域

配置区域所包含的网段并在指定网段的接口上使能OSPF

network ip-address wildcard-mask

必选

缺省情况下,接口不属于任何区域且OSPF功能处于关闭状态

 

说明

有关OSPF协议的配置,请参见“三层技术-IP路由配置指导”中的“OSPF”。

 

4. 配置MCE与PE之间使用IS-IS

表1-15 配置MCE与PE之间使用IS-IS

操作

命令

说明

进入系统视图

system-view

-

创建MCE与PE间的IS-IS实例,并进入IS-IS视图

isis [ process-id ] vpn-instance vpn-instance-name

必选

配置网络实体名称

network-entity net

必选

缺省情况下,没有配置网络实体名称

引入站点内的VPN路由

import-route { isis [ process-id ] | ospf [ process-id ] | rip [ process-id ] | bgp [ allow-ibgp ] | direct | static } [ cost cost | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *

可选

缺省情况下,IS-IS不引入其它协议的路由信息

如果import-route命令中不指定引入的级别,则默认为引入路由到Level-2路由表中

对发布的路由进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ isis process-id | ospf process-id | rip process-id | bgp | direct | static ]

可选

缺省情况下,IS-IS不对发布的路由信息进行过滤

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

使能接口IS-IS并指定要关联的IS-IS进程号

isis enable [ process-id ]

必选

缺省情况下,接口上没有使能IS-IS

 

说明

有关IS-IS的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“IS-IS”。

 

5. 配置MCE与PE之间使用EBGP

表1-16 配置MCE与PE之间使用EBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ipv4-family vpn-instance vpn-instance-name

必选

将PE配置为EBGP对等体

peer { group-name | ip-address } [ as-number as-number ]

必选

引入站点内的VPN路由

import-route protocol [ process-id | all-processes ] [ med med-value | route-policy route-policy-name ] *

必选

缺省情况下,BGP不引入且不通告其它协议的路由

配置对发布的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

说明

配置BGP VPN实例后,VPN实例中的BGP路由交换与普通的BGP相同。有关BGP协议的配置,请参见“三层技术-IP路由配置指导”中的“BGP”。

 

6. 配置MCE与PE之间使用IBGP

表1-17 配置MCE与PE之间使用IBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ipv4-family vpn-instance vpn-instance-name

必选

将PE配置为IBGP对等体

peer { group-name | ip-address } [ as-number as-number ]

必选

引入站点内的VPN路由

import-route protocol [ process-id | all-processes ] [ med med-value | route-policy route-policy-name ] *

必选

缺省情况下,BGP不引入且不通告其它协议的路由

将站点出口路由器配置为路由反射器的客户端

peer { group-name | ip-address } reflect-client

可选

缺省情况下,没有配置路由反射器及其客户端

配置允许客户端到客户端的路由反射

reflect between-clients

可选

缺省情况下,允许客户端到客户端的路由反射

如果客户之间是全连接的,则不需要配置路由反射

配置路由反射器的集群ID

reflector cluster-id cluster-id

可选

缺省情况下,每个路由反射器都使用自己的Router ID作为群ID

如果一个群中配置了多个路由反射器,请使用本命令为所有的路由反射器配置相同的群ID,以避免产生路由环路

配置对发布的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl-number | ip-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

1.5  MCE显示和维护

1.5.1  复位BGP连接

当BGP配置变化后,可以通过软复位或复位BGP连接使新的配置生效。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。

请在用户视图下进行下列操作。

表1-18 复位BGP连接

操作

命令

软复位指定VPN实例的BGP连接

refresh bgp vpn-instance vpn-instance-name  { ip-address | all | external | group group-name } { export | import }

复位指定VPN实例的BGP连接

reset bgp vpn-instance vpn-instance-name { as-number | ip-address | all | external | group group-name }

 

1.5.2  显示MCE的运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS L3VPN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除路由振荡衰减信息。

表1-19 显示MCE的运行状态

操作

命令

显示与VPN实例相关联的IP路由表

display ip routing-table vpn-instance vpn-instance-name [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例信息

display ip vpn-instance [ instance-name vpn-instance-name ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例的FIB信息

display fib vpn-instance vpn-instance-name [ acl acl-number | ip-prefix ip-prefix-name ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例中与指定目的IP地址匹配的FIB信息

display fib vpn-instance vpn-instance-name ip-address [ mask | mask-length ] [ | { begin | exclude | include } regular-expression ]

显示BGP VPNv4对等体组信息

display bgp vpnv4 vpn-instance vpn-instance-name group [ group-name ] [ | { begin | exclude | include } regular-expression ]

显示引入的BGP VPNv4路由信息

display bgp vpnv4 vpn-instance vpn-instance-name network  [ | { begin | exclude | include } regular-expression ]

显示BGP VPNv4的AS路径信息

display bgp vpnv4 vpn-instance vpn-instance-name paths [ as-regular-expression | { | { begin | exclude | include } regular-expression } ]

显示BGP VPNv4对等体信息

display bgp vpnv4 vpn-instance vpn-instance-name peer [ group-name  log-info | ip-address { log-info | verbose } | verbose ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例的BGP VPNv4路由信息

display bgp vpnv4 vpn-instance vpn-instance-name routing-table [ network-address [ { mask | mask-length } [ longer-prefixes ] ] | as-path-acl as-path-acl-number | cidr | community [ aa:nn ]&<1-13> [ no-advertise | no-export | no-export-subconfed ] * [ whole-match ] | community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> | dampened | dampening parameter | different-origin-as | flap-info [ network-address  [ { mask | mask-length } [ longer-match ] ] | as-path-acl as-path-acl-number ] | peer ip-address { advertised-routes | received-routes } | statistic ] [ | { begin | exclude | include } regular-expression | [ flap-info ] regular-expression as-regular-expression ]

清除指定VPN实例的路由振荡衰减信息

reset bgp vpn-instance vpn-instance-name dampening [ network-address [ mask | mask-length ]

清除指定VPN实例的BGP对等体路由振荡历史信息

reset bgp vpn-instance vpn-instance-name ip-address flap-info

reset bgp vpn-instance vpn-instance-name flap-info [ ip-address [ mask | mask-length ] | as-path-acl as-path-acl-number | regexp as-path-regexp ]

 

说明

有关查看路由表的命令介绍请参见“三层技术-IP路由命令参考”中的“IP路由基础”。

 

1.6  MCE典型配置举例

1.6.1  MCE和PE间使用OSPF引入VPN路由

1. 组网需求

·     MCE设备通过Vlan-interface10接口(IP地址10.214.10.3)连接到地址范围为192.168.0.0/24的VPN 1,通过Vlan-interface20接口(IP地址10.214.20.3)连接到地址范围为192.168.10.0/24的VPN 2,其中VPN 2内运行RIP路由协议。

·     要求MCE设备能够将VPN之间的路由隔离,并通过OSPF将各VPN的路由发布到PE 1。

2. 组网图

图1-6 MCE和PE间使用OSPF引入VPN路由组网示意图

  

 

3. 配置步骤

为区分设备,假设MCE系统名为“MCE”,VPN 1和VPN 2的边缘路由器分别名为“VR1”和“VR2”,PE 1系统名为“PE1”。

(1)     在MCE和PE 1上配置VPN实例

# 在MCE设备上配置VPN实例,名称分别为vpn1和vpn2,RD分别取值为10:1和20:1,VPN Target取值与RD取相同数值,Export和Import均取此值。

<MCE> system-view

[MCE] ip vpn-instance vpn1

[MCE-vpn-instance-vpn1] route-distinguisher 10:1

[MCE-vpn-instance-vpn1] vpn-target 10:1

[MCE-vpn-instance-vpn1] quit

[MCE] ip vpn-instance vpn2

[MCE-vpn-instance-vpn2] route-distinguisher 20:1

[MCE-vpn-instance-vpn2] vpn-target 20:1

[MCE-vpn-instance-vpn2] quit

# 创建VLAN10,将端口GigabitEthernet1/0/1加入VLAN10,并创建Vlan-interface10接口。

[MCE] vlan 10

[MCE-vlan10] port gigabitethernet 1/0/1

[MCE-vlan10] quit

[MCE] interface vlan-interface 10

# 配置Vlan-interface10接口与VPN实例vpn1绑定,并配置接口的IP地址。

[MCE-Vlan-interface10] ip binding vpn-instance vpn1

[MCE-Vlan-interface10] ip address 10.214.10.3 24

# 使用类似步骤配置VLAN20,将端口GigabitEthernet1/0/2加入VLAN20,配置接口与VPN实例vpn2绑定并配置IP地址。

[MCE-Vlan-interface10] quit

[MCE] vlan 20

[MCE-vlan20] port gigabitethernet 1/0/2

[MCE-vlan20] quit

[MCE] interface vlan-interface 20

[MCE-Vlan-interface20] ip binding vpn-instance vpn2

[MCE-Vlan-interface20] ip address 10.214.20.3 24

[MCE-Vlan-interface20] quit

# PE 1上配置VPN实例,名称分别为VPN1VPN2RD分别取值为30:140:1VPN Target取值分别为10:120:1ExportImport均取此值。

<PE1> system-view

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 30:1

[PE1-vpn-instance-vpn1] vpn-target 10:1

[PE1-vpn-instance-vpn1] quit

[PE1] ip vpn-instance vpn2

[PE1-vpn-instance-vpn2] route-distinguisher 40:1

[PE1-vpn-instance-vpn2] vpn-target 20:1

[PE1-vpn-instance-vpn2] quit

(2)     MCE与Site间路由配置

MCE与VPN 1直接相连,且VPN 1内未使用路由协议,因此可以使用静态路由进行配置。

# 配置VR1与MCE连接的接口地址为10.214.10.2/24,连接VPN1接口的地址为192.168.0.1/24。向VLAN中增加端口和配置接口IP地址的过程省略。

# 在VR1上配置缺省路由,指定出方向报文的下一跳地址为10.214.10.3。

<VR1> system-view

[VR1] ip route-static 0.0.0.0 0.0.0.0 10.214.10.3

# 在MCE上指定静态路由,去往192.168.0.0/24网段的报文,下一跳地址为10.214.10.2,并将此路由与VPN实例vpn1绑定。

[MCE] ip route-static vpn-instance vpn1 192.168.0.0 24 10.214.10.2

# 显示MCE上为VPN实例vpn1维护的路由信息。

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

Routing Tables: vpn1

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

10.214.10.0/24      Direct 0    0            10.214.10.3     Vlan10

10.214.10.3/32      Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      Static 60   0            10.214.10.2     Vlan10

可以看到,已经在MCE上为VPN 1指定了静态路由。

# VPN 2内运行RIP,在MCE上配置RIP进程20,并与VPN实例vpn2绑定,以便将VPN 2内的路由学习到VPN实例vpn2的路由表中。

[MCE] rip 20 vpn-instance vpn2

# 发布网段10.214.20.0的路由。

[MCE-rip-20] network 10.214.20.0

[MCE-rip-20] quit

# VR2上,配置与MCE连接的接口地址为10.214.20.2/24,连接VPN 2接口的地址为192.168.10.1/24。(配置过程略)

# 配置RIP,发布网段192.168.10.0和10.214.20.0的路由。

<VR2> system-view

[VR2] rip 20

[VR2-rip-20] network 192.168.10.0

[VR2-rip-20] network 10.214.20.0

# 在MCE上查看VPN实例vpn2的路由信息。

[MCE] display ip routing-table vpn-instance vpn2

Routing Tables: vpn2

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

10.214.20.0/24      Direct 0    0            10.214.20.3     Vlan20

10.214.20.3/32      Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     RIP    100  1            10.214.20.2     Vlan20

可以看到,MCE已经通过RIP学习到了VPN 2内的私网路由,并与VPN 1内的192.168.0.0路由信息分别维护在两个路由表内,有效进行了隔离。

(3)     MCE与PE间路由配置

# MCE使用GigabitEthernet1/0/3端口连接到PE 1的GigabitEthernet1/0/1端口,需要配置这两个端口为Trunk端口,并允许VLAN 30和VLAN 40的报文携带Tag通过。

[MCE] interface gigabitethernet 1/0/3

[MCE-GigabitEthernet1/0/3] port link-type trunk

[MCE-GigabitEthernet1/0/3] port trunk permit vlan 30 40

[MCE-GigabitEthernet1/0/3] quit

# 配置PE 1的GigabitEthernet1/0/1端口。

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] port link-type trunk

[PE1-GigabitEthernet1/0/1] port trunk permit vlan 30 40

[PE1-GigabitEthernet1/0/1] quit

# 在MCE上创建VLAN 30和接口Vlan-interface30,配置接口与VPN实例vpn1绑定,并配置接口的IP地址。

[MCE] vlan 30

[MCE-vlan30] quit

[MCE] interface vlan-interface 30

[MCE-Vlan-interface30] ip binding vpn-instance vpn1

[MCE-Vlan-interface30] ip address 30.1.1.1 24

[MCE-Vlan-interface30] quit

# MCE上创建VLAN 40和接口Vlan-interface40,配置接口与VPN实例vpn2绑定,并配置接口的IP地址。

[MCE] vlan 40

[MCE-vlan40] quit

[MCE] interface vlan-interface 40

[MCE-Vlan-interface40] ip binding vpn-instance vpn2

[MCE-Vlan-interface40] ip address 40.1.1.1 24

[MCE-Vlan-interface40] quit

# PE 1上创建VLAN 30和接口Vlan-interface30,配置接口与VPN实例vpn1绑定,并配置接口的IP地址。

[PE1] vlan 30

[PE1-vlan30] quit

[PE1] interface vlan-interface 30

[PE1-Vlan-interface30] ip binding vpn-instance vpn1

[PE1-Vlan-interface30] ip address 30.1.1.2 24

[PE1-Vlan-interface30] quit

# PE 1上创建VLAN 40和接口Vlan-interface40,配置接口与VPN实例vpn2绑定,并配置接口的IP地址。

[PE1] vlan 40

[PE1-vlan40] quit

[PE1] interface vlan-interface 40

[PE1-Vlan-interface40] ip binding vpn-instance vpn2

[PE1-Vlan-interface40] ip address 40.1.1.2 24

[PE1-Vlan-interface40] quit

# 配置MCEPE 1Loopback0接口,用于指定MCEPE 1Router ID,地址分别为101.101.10.1100.100.10.1。配置步骤这里省略。

# 配置MCE启动OSPF进程10,配置绑定到VPN实例vpn1,域ID设置为10。

[MCE] ospf 10 router-id 101.101.10.1 vpn-instance vpn1

[MCE-ospf-10] vpn-instance-capability simple

[MCE-ospf-10] domain-id 10

# 在Area0区域发布30.1.1.0网段,并引入VPN 1的静态路由。

[MCE-ospf-10] area 0

[MCE-ospf-10-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[MCE-ospf-10-area-0.0.0.0] quit

[MCE-ospf-10] import-route static

# 配置PE 1启动OSPF进程10,绑定到VPN实例vpn1,域ID为10,在Area0区域发布30.1.1.0网段。

[PE1] ospf 10 router-id 100.100.10.1 vpn-instance vpn1

[PE1-ospf-10] domain-id 10

[PE1-ospf-10] area 0

[PE1-ospf-10-area-0.0.0.0] network 30.1.1.0 0.0.0.255

[PE1-ospf-10-area-0.0.0.0] quit

[PE1-ospf-10] quit

# 显示PE 1上的VPN 1路由信息。

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

Routing Tables: vpn1

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

30.1.1.0/24         Direct 0    0            30.1.1.2        Vlan30

30.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      O_ASE  150  1            30.1.1.1        Vlan30

可以看到,VPN 1内的静态路由已经引入到MCE与PE 1间的OSPF路由表中。

MCE与PE 1间配置OSPF进程20,导入VPN实例vpn2的路由信息的过程与上面介绍的配置基本一致,不同的是在MCE的OSPF中配置导入的是RIP进程20的路由,这里不再赘述,只以显示信息为例表示导入成功后的结果。

[PE1] display ip routing-table vpn-instance vpn2

Routing Tables: vpn2

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

40.1.1.0/24         Direct 0    0            40.1.1.2        Vlan40

40.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     O_ASE  150  1            40.1.1.1        Vlan40

至此,通过配置,已经将两个VPN实例内的路由信息完整地传播到PE 1中,配置完成。

1.6.2  MCE和PE间使用BGP引入VPN路由

1. 组网需求

·     使用CE3000-32F-EI交换机作为MCE设备,将站点1和站点2内的VPN路由发布到PE 1,使MPLS骨干网络两端的VPN能够正常通信。

·     站点1和站点2内部均使用OSPF协议,MCE与PE间使用EBGP协议。

2. 组网图

图1-7 MCE和PE间使用BGP引入VPN路由组网示意图

 

 

3. 配置步骤

(1)     VPN实例配置

# 在MCE和PE 1上创建VPN实例,并与接口绑定的配置与“1.6.1  MCE和PE间使用OSPF引入VPN路由”中的配置类似,这里不再赘述。

(2)     MCE与Site间路由配置

# 配置两个VPN实例内的设备启动OSPF进程,发布各网段的路由,操作与普通OSPF配置相同,这里不再赘述。

# 配置MCE的OSPF协议,进程10与VPN实例vpn1绑定,学习VPN 1内的路由。

<MCE> system-view

[MCE] ospf router-id 10.214.10.3 10 vpn-instance vpn1

[MCE-ospf-10] area 0

[MCE-ospf-10-area-0.0.0.0] network 10.214.10.0 0.0.0.255

# 显示VPN 1的路由信息。

[MCE-ospf-10-area-0.0.0.0] display ip routing-table vpn-instance vpn1

Routing Tables: vpn1

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

10.214.10.0/24      Direct 0    0            10.214.10.3     Vlan10

10.214.10.3/32      Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      OSPF   10   1            10.214.10.2     Vlan10

可以看到,MCE已经通过OSPF进程10学习到了VPN 1内的路由。

# 配置MCEOSPF进程20VPN实例vpn2绑定,学习VPN 2内的路由,配置与上面配置OSPF进程10类似。这里直接显示配置结果。

[MCE] display ip routing-table vpn-instance vpn2

Routing Tables: vpn2

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

10.214.20.0/24      Direct 0    0            10.214.20.3     Vlan20

10.214.20.3/32      Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     OSPF   10   1            10.214.20.2     Vlan20

(3)     MCE与PE间路由配置

# 配置MCE与PE 1间通过Trunk端口进行连接,配置与“1.6.1  MCE和PE间使用OSPF引入VPN路由”中的配置类似,这里不再赘述。

# 配置MCE启动BGP进程100,并进入VPN实例vpn1的IPv4地址族视图。

[MCE] bgp 100

[MCE-bgp] ipv4-family vpn-instance vpn1

# 指定PE 1(PE 1与实例vpn1绑定的接口地址为30.1.1.2/24,BGP进程为200)为EBGP对等体,并引入OSPF进程10的路由信息。

[MCE-bgp-vpn1] peer 30.1.1.2 as-number 200

[MCE-BGP-vpn1] import-route ospf 10

# 在PE 1上配置BGP200,并指定MCE为EBGP对等体。

<PE1> system-view

[PE1] bgp 200

[PE1-bgp] ipv4-family vpn-instance vpn1

[PE1-bgp-vpn1] peer 30.1.1.1 as-number 100

# 显示PE 1上VPN实例vpn1的路由信息。

[PE1-bgp-vpn1] display ip routing-table vpn-instance vpn1

Routing Tables: vpn1

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

30.1.1.0/24         Direct 0    0            30.1.1.2        Vlan30

30.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      BGP    255  2            30.1.1.1        Vlan30

# 对于VPN 2,在MCEPE 1上进行类似的配置,将VPN实例vpn2OSPF路由信息引入到EBGP路由中。这里不再叙述配置过程,直接显示配置结果。

[PE1-bgp-vpn1] display ip routing-table vpn-instance vpn2

Routing Tables: vpn2

         Destinations : 5        Routes : 5

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

 

40.1.1.0/24         Direct 0    0            40.1.1.2        Vlan40

40.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     BGP    255  2            40.1.1.1        Vlan40

至此,MCE设备已经将两个VPN实例内的OSPF路由全部引入PE 1EBGP路由表中,配置完成。

1.6.3  在隧道组网中使用MCE功能发布VPN路由

1. 组网需求

图1-8所示,MCE1和MCE2设备通过GRE隧道进行通信,并分别连接到VPN1和VPN2的站点。其中VPN1的站点全部使用OSPF作为路由协议,且均只存在骨干区域,即区域0。而VPN2的站点分别使用RIP和OSPF,其中OSPF部分仅存在骨干区域。现要求MCE1和MCE2设备能够通过隧道将两个VPN网络中的路由信息进行准确发布。

2. 组网图

图1-8 在隧道组网中使用MCE功能发布VPN路由组网示意图

 

3. 配置思路

由于已经为每个VPN网络单独配置了一条GRE隧道,用于传输该VPN网络中的数据和路由信息,因此可以通过创建VPN实例并将特定的接口与VPN实例进行绑定,使原有网络简化为两个独立的拓扑结构(如图1-9图1-10所示),从而使MCE设备可以将每个VPN网络的路由通过独立路径进行发布。

图1-9 VPN1的站点与MCE设备的网络拓扑示意图

 

图1-10 VPN2的站点与MCE设备的网络拓扑示意图

 

根据以上描述,本例中需要在MCE设备上为每个VPN网络创建VPN实例,并将MCE与VPN站点相连的接口和隧道接口与VPN实例进行绑定。对于VPN1网络,可以将两个MCE设备上的接口全部加入到站点的OSPF计算中,将整个网络作为一个OSPF域进行维护;对于VPN2网络,则还需要在MCE1上进行OSPF和RIP的相互引用配置。

4. 配置步骤

(1)     配置隧道

·     配置MCE1

# 创建VLAN100和VLAN101,并将端口GigabitEthernet1/0/15配置为Trunk类型,加入这两个VLAN。

<MCE1> system-view

[MCE1] vlan 100 to 101

[MCE1] interface Gigabitethernet 1/0/15

[MCE1-GigabitEthernet1/0/15] port link-type trunk

[MCE1-GigabitEthernet1/0/15] port trunk permit vlan 100 101

[MCE1-GigabitEthernet1/0/15] quit

# 创建VLAN接口,并配置相应的IP地址。

[MCE1] interface vlan-interface 100

[MCE1-Vlan-interface100] ip address 192.168.1.1 255.255.255.0

[MCE1-Vlan-interface100] quit

[MCE1] interface vlan-interface 101

[MCE1-Vlan-interface101] ip address 192.168.2.1 255.255.255.0

[MCE1-Vlan-interface101] quit

# 创建Tunnel0接口。

[MCE1] interface tunnel 0

# 配置Tunnel0接口的IP地址。

[MCE1-Tunnel0] ip address 10.1.1.1 255.255.255.0

# 配置Tunnel封装模式。

[MCE1-Tunnel0] tunnel-protocol gre

# 配置Tunnel0接口的源地址。

[MCE1-Tunnel0] source vlan-interface 100

# 配置Tunnel0接口的目的地址。

[MCE1-Tunnel0] destination 172.16.1.1

[MCE1-Tunnel0] quit

# 创建并配置业务环回组1,服务类型为tunnel

[MCE1] service-loopback group 1 type tunnel

# 将任意未使用端口(此处以GigabitEthernet1/0/3为例)加入业务环回组1

[MCE1] interface Gigabitethernet 1/0/3

[MCE1-GigabitEthernet1/0/3] undo stp enable

[MCE1-GigabitEthernet1/0/3] port service-loopback group 1

# 在Tunnel接口视图下指定隧道引用的业务环回组1。

[MCE1-GigabitEthernet1/0/3] quit

[MCE1] interface tunnel 0

[MCE1-Tunnel0] service-loopback-group 1

[MCE1-Tunnel0] quit

# 创建Tunnel1接口。

[MCE1] interface tunnel 1

# 配置Tunnel1接口的IP地址。

[MCE1-Tunnel1] ip address 10.1.2.1 255.255.255.0

# 配置Tunnel封装模式。

[MCE1-Tunnel1] tunnel-protocol gre

# 配置Tunnel1接口的源地址。

[MCE1-Tunnel1] source vlan-interface 101

# 配置Tunnel1接口的目的地址。

[MCE1-Tunnel1] destination 172.16.2.1

# 在Tunnel接口视图下指定隧道引用的业务环回组1。

[MCE1-Tunnel1] service-loopback-group 1

[MCE1-Tunnel1] quit

·     配置MCE2

# 创建VLAN100和VLAN101,并将端口GigabitEthernet1/0/25配置为Trunk类型,加入这两个VLAN。

<MCE2> system-view

[MCE2] vlan 100 to 101

[MCE2] interface gigabitethernet 1/0/25

[MCE2-GigabitEthernet1/0/25] port link-type trunk

[MCE2-GigabitEthernet1/0/25] port trunk permit vlan 100 101

[MCE2-GigabitEthernet1/0/25] quit

# 创建VLAN接口,并配置相应的IP地址。

[MCE2] interface vlan-interface 100

[MCE2-Vlan-interface100] ip address 172.16.1.1 255.255.255.0

[MCE2-Vlan-interface100] quit

[MCE2] interface vlan-interface 101

[MCE2-Vlan-interface101] ip address 172.16.2.1 255.255.255.0

[MCE2-Vlan-interface101] quit

# 创建Tunnel0接口。

[MCE2] interface tunnel 0

# 配置Tunnel0接口的IP地址。

[MCE2-Tunnel0] ip address 10.1.1.2 255.255.255.0

# 配置Tunnel封装模式。

[MCE2-Tunnel0] tunnel-protocol gre

# 配置Tunnel0接口的源地址。

[MCE2-Tunnel0] source vlan-interface 100

# 配置Tunnel0接口的目的地址。

[MCE2-Tunnel0] destination 192.168.1.1

[MCE2-Tunnel0] quit

# 创建并配置业务环回组1,服务类型为tunnel

[MCE2] service-loopback group 1 type tunnel

# 将任意未使用端口(此处以GigabitEthernet1/0/3为例)加入业务环回组1

[MCE2] interface gigabitethernet 1/0/3

[MCE2-GigabitEthernet1/0/3] undo stp enable

[MCE2-GigabitEthernet1/0/3] port service-loopback group 1

# 在Tunnel接口视图下指定隧道引用的业务环回组1。

[MCE2-GigabitEthernet1/0/3] quit

[MCE2] interface tunnel 0

[MCE2-Tunnel0] service-loopback-group 1

[MCE2-Tunnel0] quit

# 创建Tunnel1接口。

[MCE2] interface tunnel 1

# 配置Tunnel1接口的IP地址。

[MCE2-Tunnel1] ip address 10.1.2.2 255.255.255.0

# 配置Tunnel封装模式。

[MCE2-Tunnel1] tunnel-protocol gre

# 配置Tunnel1接口的源地址。

[MCE2-Tunnel1] source vlan-interface 101

# 配置Tunnel1接口的目的地址。

[MCE2-Tunnel1] destination 192.168.2.1

# 在Tunnel接口视图下指定隧道引用的业务环回组1。

[MCE2-Tunnel1] service-loopback-group 1

(2)     配置VPN实例

·     MCE1设备的配置

# 为VPN1网络创建VPN实例,命名为“vpn1”,并配置RD属性。

<MCE1> system-view

[MCE1] ip vpn-instance vpn1

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

[MCE1-vpn-instance-vpn1] vpn-target 1:2

[MCE1-vpn-instance-vpn1] quit

# VPN2网络创建VPN实例,命名为“vpn2”,并配置RD属性。

[MCE1] ip vpn-instance vpn2

[MCE1-vpn-instance-vpn2] route-distinguisher 1:3

[MCE1-vpn-instance-vpn2] vpn-target 1:3

[MCE1-vpn-instance-vpn2] quit

# 配置Vlan-interface 10接口和Tunnel 0接口与VPN实例“vpn1”进行绑定,并配置IP地址。

[MCE1] vlan 10

[MCE1-vlan10] port gigabitethernet 1/0/10

[MCE1-vlan10] quit

[MCE1] interface vlan-interface 10

[MCE1-Vlan-interface10] ip binding vpn-instance vpn1

[MCE1-Vlan-interface10] ip address 10.214.10.1 24

[MCE1-Vlan-interface10] quit

[MCE1] interface tunnel 0

[MCE1-Tunnel0] ip binding vpn-instance vpn1

[MCE1-Tunnel0] ip address 10.1.1.1 24

# 配置Vlan-interface 11接口和Tunnel 1接口与VPN实例“vpn2”进行绑定,并配置IP地址。

[MCE1] vlan 11

[MCE1-vlan11] port gigabitethernet 1/0/11

[MCE1-vlan11] quit

[MCE1] interface vlan-interface 11

[MCE1-Vlan-interface11] ip binding vpn-instance vpn2

[MCE1-Vlan-interface11] ip address 10.214.20.1 24

[MCE1-Vlan-interface11] quit

[MCE1] interface tunnel 1

[MCE1-Tunnel1] ip binding vpn-instance vpn2

[MCE1-Tunnel1] ip address 10.1.2.1 24

[MCE1-Tunnel1] quit

·     MCE2设备的配置

# 为VPN1网络创建VPN实例,命名为“vpn1”,并配置RD属性(与MCE1设备保持一致)。

<MCE2> system-view

[MCE2] ip vpn-instance vpn1

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

[MCE2-vpn-instance-vpn1] vpn-target 1:2

[MCE2-vpn-instance-vpn1] quit

# VPN2网络创建VPN实例,命名为“vpn2”,并配置RD属性(与MCE1设备保持一致)。

[MCE2] ip vpn-instance vpn2

[MCE2-vpn-instance-vpn2] route-distinguisher 1:3

[MCE2-vpn-instance-vpn2] vpn-target 1:3

[MCE2-vpn-instance-vpn2] quit

# 配置Vlan-interface 20接口和Tunnel 0接口与VPN实例“vpn1”进行绑定,并配置IP地址。

[MCE2] vlan 20

[MCE2-vlan20] port gigabitethernet 1/0/20

[MCE2-vlan20] quit

[MCE2] interface vlan-interface 20

[MCE2-Vlan-interface20] ip binding vpn-instance vpn1

[MCE2-Vlan-interface20] ip address 10.214.30.1 24

[MCE2-Vlan-interface20] quit

[MCE2] interface tunnel 0

[MCE2-Tunnel0] ip binding vpn-instance vpn1

[MCE2-Tunnel0] ip address 10.1.1.2 24

# 配置Vlan-interface 21接口和Tunnel 1接口与VPN实例“vpn2”进行绑定,并配置IP地址。

[MCE2] vlan 21

[MCE2-vlan21] port gigabitethernet 1/0/21

[MCE2-vlan21] quit

[MCE2] interface vlan-interface 21

[MCE2-Vlan-interface21] ip binding vpn-instance vpn2

[MCE2-Vlan-interface21] ip address 10.214.40.1 24

[MCE2-Vlan-interface21] quit

[MCE2] interface tunnel 1

[MCE2-Tunnel1] ip binding vpn-instance vpn2

[MCE2-Tunnel1] ip address 10.1.2.2 24

[MCE2-Tunnel1] quit

(3)     配置路由协议

·     发布VPN1网络的路由

# MCE1设备上配置OSPF路由协议并与VPN实例“vpn1”进行绑定,开启OSPF支持MCE功能。需要注意的是,下面配置中的OSPF区域要与站点内的OSPF配置保持一致,此处以区域0为例进行配置。

[MCE1] ospf 1 vpn-instance vpn1 router-id 192.168.1.1

[MCE1-ospf-1] vpn-instance-capability simple

[MCE1-ospf-1] area 0

[MCE1-ospf-1-area-0.0.0.0]

# 将MCE1设备的Vlan-interface10和Tunnel 0接口的地址进行发布。

[MCE1-ospf-1-area-0.0.0.0] network 10.214.10.1 0.0.0.255

[MCE1-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.255

# 在MCE2设备上配置OSPF路由协议并与VPN实例“vpn1”进行绑定,开启OSPF支持MCE功能。

[MCE2] ospf 1 vpn-instance vpn1 router-id 172.16.1.1

[MCE2-ospf-1] vpn-instance-capability simple

[MCE2-ospf-1] area 0

[MCE2-ospf-1-area-0.0.0.0]

# 将MCE2设备的Vlan-interface20和Tunnel 0接口的地址进行发布。

[MCE2-ospf-1-area-0.0.0.0] network 10.214.30.1 0.0.0.255

[MCE2-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255

·     发布VPN2网络的路由

# MCE1设备上配置OSPF路由协议并与VPN实例“vpn2”进行绑定,开启OSPF支持MCE功能。需要注意的是,下面配置中的OSPF区域要与站点2内的OSPF配置保持一致,此处以区域0为例进行配置。

[MCE1] ospf 2 vpn-instance vpn2 router-id 192.168.2.1

[MCE1-ospf-2] vpn-instance-capability simple

[MCE1-ospf-2] area 0

[MCE1-ospf-2-area-0.0.0.0]

# 将MCE1设备Tunnel 1接口的地址进行发布,使其参与OSPF域中的路由计算。

[MCE1-ospf-2-area-0.0.0.0] network 10.1.2.1 0.0.0.255

# MCE1设备上配置RIP路由协议并与VPN实例“vpn2”进行绑定,此处以RIP进程号1为例进行配置。

[MCE1] rip 1 vpn-instance vpn2

[MCE1-rip-1]

# MCE1设备Vlan-interface11接口的地址进行发布,使其参与站点1RIP计算。

[MCE1-rip-1] network 10.214.20.1

# 在当前RIP进程中引入OSPF进程2学到的路由信息。

[MCE1-rip-1] import-route ospf 2

[MCE1-rip-1] quit

# OSPF进程2中引入RIP进程1学到的路由信息。

[MCE1] ospf 2

[MCE1-ospf-2] import-route rip 1

# 在MCE2设备上配置OSPF路由协议并与VPN实例“vpn2”进行绑定,开启OSPF支持MCE功能。需要注意的是,下面配置中的OSPF区域要与站点2内的OSPF配置保持一致,此处以区域0为例进行配置。

[MCE2] ospf 2 vpn-instance vpn2 router-id 172.16.2.1

[MCE2-ospf-2] vpn-instance-capability simple

[MCE2-ospf-2] area 0

[MCE2-ospf-2-area-0.0.0.0]

# 将MCE2设备的Vlan-interface21和Tunnel 1接口的地址进行发布。

[MCE2-ospf-2-area-0.0.0.0] network 10.214.40.1 0.0.0.255

[MCE2-ospf-2-area-0.0.0.0] network 10.1.2.2 0.0.0.255


2 IPv6 MCE配置

2.1  IPv6 MCE简介

在MPLS L3VPN组网环境中,MCE利用静态或动态路由协议在VPN站点和PE之间发布IPv4路由,并交互IPv4报文。

在IPv6 MPLS L3VPN组网环境中,IPv6 MCE在VPN站点和PE之间发布IPv6路由,并交互IPv6报文。IPv6 MCE的工作原理与MCE相同,详细内容请参见1.1.4  MCE工作原理

2.2  配置IPv6 MCE

2.2.1  配置VPN实例

VPN实例不仅可以隔离VPN私网路由与公网路由,还可以隔离不同VPN实例的路由,这一特点使得VPN实例的使用不限于MPLS L3VPN。

1. 创建VPN实例

VPN实例在实现中与Site关联。VPN实例不是直接对应于VPN,一个VPN实例综合了和它所对应Site的VPN成员关系和路由规则。

一个VPN实例只有配置了RD后才生效。

描述信息用于描述VPN实例,可以用来记录VPN实例与某个VPN的关系等信息。

表2-1 创建VPN实例

操作

命令

说明

进入系统视图

system-view

-

创建VPN实例,并进入VPN实例视图

ip vpn-instance vpn-instance-name

必选

配置VPN实例的RD

route-distinguisher route-distinguisher

必选

配置VPN实例的描述信息

description text

可选

 

2. 配置VPN实例与接口关联

VPN实例配置完成后,需要与连接各个VPN站点以及连接PE的接口进行关联。

表2-2 配置VPN实例与接口关联

操作

命令

说明

进入系统视图

system-view

-

进入要关联接口的接口视图

interface interface-type interface-number

-

将当前接口与VPN实例关联

ip binding vpn-instance vpn-instance-name

必选

缺省情况下,接口不关联任何VPN实例

 

说明

执行ip binding vpn-instance命令将删除接口上已经配置的IPv6地址,因此需要重新配置接口的IPv6地址。

 

3. 配置VPN实例的路由相关属性

MCE设备对VPN路由的发布控制过程如下:

·     当从VPN站点内学习到的一条VPN路由引入BGP时,BGP为它关联一个VPN Target扩展团体属性列表,通常这个列表是与该站点相关联的VPN实例的输出路由属性列表。

·     VPN实例根据VPN Target中import-extcommunity确定可被接受并引入此VPN实例的路由。

·     VPN实例根据VPN Target中的export-extcommunity对向外发布的路由进行VPN Target属性的修改。

表2-3 配置VPN实例的路由相关属性

操作

命令

说明

进入系统视图

system-view

-

进入VPN实例视图

ip vpn-instance vpn-instance-name

-

进入IPv6 VPN视图

ipv6-family

可选

配置VPN Target

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

必选

配置支持的最大路由数

routing-table limit number { warn-threshold | simply-alert }

可选

应用入方向路由策略

import route-policy route-policy

可选

缺省情况下,接收所有VPN Target属性匹配的路由

应用出方向路由策略

export route-policy route-policy

可选

缺省情况下,不对发布的路由进行过滤

 

说明

·     VPN实例视图下配置的路由相关属性既可以用于IPv4 VPN,也可以用于IPv6 VPN。

·     既可以在VPN实例视图下,也可以在IPv6 VPN视图下,配置IPv6 VPN的路由相关属性。如果同时在两个视图下配置了路由相关属性,则IPv6 VPN采用IPv6 VPN视图下配置的路由相关属性。

·     命令vpn-target最多可以配置8个VPN Target;一个VPN实例最多可以配置64个VPN Target。

·     可以配置一个VPN实例支持的最大路由数,以防止PE路由器的入接口有过多的路由。一个PE路由器最多可以支持的路由条数与具体产品有关。

·     为VPN实例配置路由策略之前必须已经创建了路由策略,否则无法对接收和发布的路由进行过滤。

 

2.3  配置IPv6 MCE的路由交换

IPv6 MCE可以看作一种通过路由隔离实现业务隔离的组网方案。配置IPv6 MCE的关键为:

·     配置IPv6 MCE与站点之间的路由交换

·     配置IPv6 MCE与PE之间的路由交换

在IPv6 MCE组网方案中,路由计算时需要关闭PE上的路由环路检测功能,防止路由丢失;同时禁止各路由协议互操作功能,以节省系统资源。

2.3.1  配置准备

在配置IPv6 MCE之前,需完成以下任务:

·     创建VPN实例、在IPv6 MCE上将连接站点和PE的接口与VPN实例绑定

·     配置相关接口的链路层协议和网络层协议,保证路由可达

2.3.2  配置IPv6 MCE与站点之间的路由交换

1. 配置IPv6 MCE与站点之间使用IPv6静态路由

IPv6 MCE可以通过IPv6静态路由与Site连接。传统CE配置的IPv6静态路由对全局生效,无法解决多VPN间的地址重叠问题。以太网交换机提供的IPv6 MCE功能可以将IPv6静态路由与VPN实例相绑定,将各IPv6 VPN之间的IPv6静态路由进行隔离。

表2-4 配置IPv6 MCE与站点之间使用IPv6静态路由

操作

命令

说明

进入系统视图

system-view

-

为指定VPN实例配置IPv6静态路由

ipv6 route-static ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | next-hop-address | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ]

二者必选其一

该配置在IPv6 MCE上进行,站点上的配置方法与普通IPv6静态路由相同

ipv6 route-static vpn-instance s-vpn-instance-name&<1-6> ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ]

 

2. 配置IPv6 MCE与站点之间使用RIPng

一个RIPng进程只能属于一个IPv6 VPN实例。如果在启动RIPng进程时不绑定到IPv6 VPN实例,则该进程属于公网进程。通过在IPv6 MCE上将RIPng进程与IPv6 VPN实例绑定,可以使不同IPv6 VPN内的私网路由通过不同的RIPng进程在Site和IPv6 MCE间进行交互,保证了私网路由的隔离和安全。

表2-5 配置IPv6 MCE与站点之间使用RIPng

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与站点间的RIPng实例,并进入RIPng视图

ripng [ process-id ] vpn-instance vpn-instance-name

必选

该配置在IPv6 MCE上进行,站点上配置普通RIPng即可

引入由PE发布的远端站点的路由

import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name ] *

必选

缺省情况下,RIPng未引入其它路由

配置引入路由的缺省度量值

default cost value

可选

缺省情况下,引入路由的缺省度量值为0

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在指定的网络接口上使能RIPng

ripng process-id enable

必选

缺省情况下,接口禁用RIPng

 

说明

有关RIPng的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIPng”。

 

3. 配置IPv6 MCE与站点之间使用OSPFv3

一个OSPFv3进程只能属于一个IPv6 VPN实例。如果在启动OSPFv3进程时不绑定到IPv6 VPN实例,则该进程属于公网进程。

通过在IPv6 MCE上将OSPFv3进程与IPv6 VPN实例绑定,可以使不同IPv6 VPN内的私网路由通过不同的OSPFv3进程在Site和IPv6 MCE间进行交互,保证了私网路由的隔离和安全。

表2-6 配置IPv6 MCE与站点之间使用OSPFv3

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与站点间的OSPFv3实例,并进入OSPFv3视图

ospfv3 [ process-id ] vpn-instance vpn-instance-name

必选

该配置在IPv6 MCE上进行,站点上配置普通OSPFv3即可

配置Router ID

router-id router-id

必选

引入由PE发布的远端站点的路由

import-route protocol [ process-id | allow-ibgp ] [ cost value | route-policy route-policy-name | type type ] *

必选

缺省情况下,没有引入其他协议的路由信息

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在接口上使能OSPFv3

ospfv3 process-id area area-id [ instance instance-id ]

必选

缺省情况下,接口上没有使能OSPFv3

 

说明

·     删除VPN实例后,相关的所有OSPFv3进程也将全部被删除。

·     有关OSPFv3的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“OSPFv3”。

 

4. 配置IPv6 MCE与站点之间使用IPv6 IS-IS

一个IPv6 IS-IS进程只能属于一个IPv6 VPN实例。如果在启动IPv6 IS-IS进程时不绑定到IPv6 VPN实例,则该进程属于公网进程。

通过在IPv6 MCE上将IPv6 IS-IS进程与IPv6 VPN实例绑定,可以使不同IPv6 VPN内的私网路由通过不同的IPv6 IS-IS进程在Site和IPv6 MCE间进行交互,保证了私网路由的隔离和安全。

表2-7 配置IPv6 MCE与站点之间使用IPv6 IS-IS

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与站点间的IPv6 IS-IS实例,并进入IS-IS视图

isis [ process-id ] vpn-instance vpn-instance-name

必选

该配置在IPv6 MCE上进行,站点上配置普通IPv6 IS-IS即可

配置网络实体名称

network-entity net

必选

缺省情况下,没有配置网络实体名称

使能IS-IS进程的IPv6能力

ipv6 enable

必选

缺省情况下,没有使能IS-IS路由进程的IPv6能力

引入由PE发布的远端站点的路由

ipv6 import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *

可选

缺省情况下,IPv6 IS-IS不引入其它协议的路由信息

如果ipv6 import-route命令中不指定引入的级别,则默认为引入路由到Level-2路由表中

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

使能接口IS-IS路由进程的IPv6能力,并指定要关联的IS-IS进程号

isis ipv6 enable [ process-id ]

必选

缺省情况下,接口上没有使能IS-IS路由进程的IPv6能力

 

说明

有关IPv6 IS-IS的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“IPv6 IS-IS”。

 

5. 配置IPv6 MCE与站点之间使用EBGP

IPv6 MCE与站点间使用EBGP交换路由信息时,需要在IPv6 MCE上为每个IPv6 VPN实例配置IPv6 BGP对等体,并在站点上引入相应IPv6 VPN内的IGP路由信息。

IPv6 MCE使用EBGP交换路由信息时,还可以通过Filter-policy对接收/发布的路由进行过滤。

(1)     IPv6 MCE上的配置

表2-8 配置IPv6 MCE与站点之间使用EBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入IPv6 BGP-VPN实例视图

ipv6-family vpn-instance vpn-instance-name

必选

配置IPv6 BGP对等体的AS号

peer ipv6-address as-number as-number

必选

引入由PE发布的远端站点的路由

import-route protocol [ process-id [ med med-value | route-policy route-policy-name ] * ]

必选

缺省情况下,BGP不引入且不通告其它协议的路由

配置对发布的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ip-prefix-name } export [ direct | isisv6 process-id | ripng process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

说明

配置IPv6 BGP VPN实例后,IPv6 VPN实例中的IPv6 BGP路由交换与普通的IPv6 BGP相同。有关IPv6 BGP协议的配置,请参见“三层技术-IP路由配置指导”中的“IPv6 BGP”。

 

(2)     站点上的配置

表2-9 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入IPv6地址族视图

ipv6-family

-

将IPv6 MCE配置为EBGP对等体

peer ipv6-address as-number as-number

必选

引入VPN内的IGP路由

import-route protocol [ process-id [ med med-value | route-policy route-policy-name ] * ]

必选

缺省情况下,BGP不引入且不通告其它协议的路由

站点需要将自己所能到达的IPv6 VPN网段地址发布给接入的IPv6 MCE

 

2.3.3  配置IPv6 MCE与PE之间的路由交换

由于在IPv6 MCE设备上已经将站点内的私网路由信息与IPv6 VPN实例进行了绑定,因此,只需要在IPv6 MCE与PE之间将接口与IPv6 VPN实例进行绑定、进行简单的路由配置、并将IPv6 MCE上维护的站点内的IPv6 VPN路由引入到IPv6 MCE-PE间的路由协议中,便可以实现私网VPN路由信息的传播。

1. 配置IPv6 MCE与PE之间使用IPv6静态路由

表2-10 配置IPv6 MCE与PE之间使用IPv6静态路由

操作

命令

说明

进入系统视图

system-view

-

为指定VPN实例配置IPv6静态路由

ipv6 route-static ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | next-hop-address | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ]

二者必选其一

ipv6 route-static vpn-instance s-vpn-instance-name&<1-6> ipv6-address prefix-length { interface-type interface-number [ next-hop-address ] | nexthop-address [ public ] | vpn-instance d-vpn-instance-name nexthop-address } [ preference preference-value ]

 

2. 配置IPv6 MCE与PE之间使用RIPng

表2-11 配置IPv6 MCE与PE之间使用RIPng

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与PE间的RIPng实例,并进入RIPng视图

ripng [ process-id ] vpn-instance vpn-instance-name

必选

引入站点内的VPN路由

import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name ] *

必选

缺省情况下,RIPng未引入其它路由

配置引入路由的缺省度量值

default cost value

可选

缺省情况下,引入路由的缺省度量值为0

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在指定的网络接口上使能RIPng

ripng process-id enable

必选

缺省情况下,接口禁用RIPng

 

说明

有关RIPng的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIPng”。

 

3. 配置IPv6 MCE与PE之间使用OSPFv3

表2-12 配置IPv6 MCE与PE之间使用OSPFv3

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与PE间的OSPFv3实例,并进入OSPFv3视图

ospfv3 [ process-id ] vpn-instance vpn-instance-name

必选

配置Router ID

router-id router-id

必选

引入站点内的VPN路由

import-route protocol [ process-id | allow-ibgp ] [ cost value | route-policy route-policy-name | type type ] *

必选

缺省情况下,没有引入其他协议的路由信息

配置对发布的路由进行过滤

filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ bgp4+ | direct | isisv6 process-id | ospfv3 process-id | ripng process-id | static ]

可选

缺省情况下,没有对发布的路由信息进行过滤

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在接口上使能OSPFv3

ospfv3 process-id area area-id [ instance instance-id ]

必选

缺省情况下,接口上没有使能OSPFv3

 

说明

有关OSPFv3的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“OSPFv3”。

 

4. 配置IPv6 MCE与PE之间使用IPv6 IS-IS

表2-13 配置IPv6 MCE与PE之间使用IPv6 IS-IS

操作

命令

说明

进入系统视图

system-view

-

创建IPv6 MCE与PE间的IPv6 IS-IS实例,并进入IS-IS视图

isis [ process-id ] vpn-instance vpn-instance-name

必选

配置网络实体名称

network-entity net

必选

缺省情况下,没有配置网络实体名称

使能IS-IS进程的IPv6能力

ipv6 enable

必选

缺省情况下,没有使能IS-IS路由进程的IPv6能力

引入站点内的VPN路由

ipv6 import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *

可选

缺省情况下,IPv6 IS-IS不引入其它协议的路由信息

如果ipv6 import-route命令中不指定引入的级别,则默认为引入路由到Level-2路由表中

对发布的路由进行过滤

ipv6 filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ]

可选

缺省情况下,IPv6 IS-IS不对发布的路由信息进行过滤

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

使能接口IS-IS路由进程的IPv6能力,并指定要关联的IS-IS进程号

isis ipv6 enable [ process-id ]

必选

缺省情况下,接口上没有使能IS-IS路由进程的IPv6能力

 

说明

有关IPv6 IS-IS的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“IPv6 IS-IS”。

 

5. 配置IPv6 MCE与PE之间使用EBGP

表2-14 配置IPv6 MCE与PE之间使用EBGP

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入IPv6 BGP-VPN实例视图

ipv6-family vpn-instance vpn-instance-name

必选

将PE配置为EBGP对等体

peer ipv6-address as-number as-number

必选

引入站点内的VPN路由

import-route protocol [ process-id [ med med-value | route-policy route-policy-name ] * ]

必选

缺省情况下,BGP不引入且不通告其它协议的路由

配置对发布的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ip-prefix-name } export [ direct | isisv6 process-id | ripng process-id | static ]

可选

缺省情况下,不对发布的路由信息进行过滤

配置对接收的路由信息进行过滤

filter-policy { acl6-number | ipv6-prefix ip-prefix-name } import

可选

缺省情况下,不对接收的路由信息进行过滤

 

说明

配置IPv6 BGP VPN实例后,IPv6 VPN实例中的IPv6 BGP路由交换与普通的IPv6 BGP相同。有关IPv6 BGP协议的配置,请参见“三层技术-IP路由配置指导”中的“IPv6 BGP”。

 

2.4  IPv6 MCE显示和维护

2.4.1  复位BGP连接

当BGP配置变化后,可以通过软复位或复位BGP连接使新的配置生效。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。

请在用户视图下进行下列操作。

表2-15 复位BGP连接

操作

命令

软复位指定VPN实例的IPv6 BGP连接

refresh bgp ipv6 vpn-instance vpn-instance-name { ipv6-address | all | external } { export | import }

复位指定VPN实例的IPv6 BGP连接

reset bgp ipv6 vpn-instance vpn-instance-name { as-number | ipv6-address | all | external }

 

2.4.2  显示IPv6 MCE的运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后MCE的运行情况,通过查看显示信息验证配置的效果。

表2-16 显示IPv6 MCE的运行状态

操作

命令

显示指定VPN实例信息

display ip vpn-instance [ instance-name vpn-instance-name ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例的IPv6 FIB信息

display ipv6 fib vpn-instance vpn-instance-name [ acl6 acl6-number | ipv6-prefix ipv6-prefix-name ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例中与指定目的IPv6地址匹配的IPv6 FIB信息

display ipv6 fib vpn-instance vpn-instance-name ipv6-address [ prefix-length ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例中PE与CE之间建立的IPv6 BGP对等体的信息

display bgp vpnv6 vpn-instance vpn-instance-name peer [ ipv6-address verbose | verbose ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例的BGP VPNv6路由信息

display bgp vpnv6 vpn-instance vpn-instance-name routing-table [ network-address prefix-length [ longer-prefixes ] | peer ipv6-address { advertised-routes | received-routes } ] [ | { begin | exclude | include } regular-expression ]

 

说明

有关查看路由表的命令介绍请参见“三层技术-IP路由命令参考”中的“IP路由基础”。

 

2.5  IPv6 MCE典型配置举例

2.5.1  配置IPv6 MCE典型配置举例

1. 组网需求

·     IPv6 MCE设备通过Vlan-interface10接口(IPv6地址为2001:1::1/64)连接到VPN 1,地址范围为2012:1::/64;通过Vlan-interface20接口(IPv6地址为2002:1::1/64)连接到VPN 2,VPN 2内运行RIPng路由协议,地址范围为2012::/64。

·     要求IPv6 MCE设备能够将VPN之间的路由隔离,并通过OSPFv3将各VPN的路由发布到PE1设备。

2. 组网图

图2-1 配置IPv6 MCE典型配置举例一组网示意图

 

 

3. 配置步骤

为区分设备,假设IPv6 MCE系统名为“MCE”,VPN 1和VPN 2的边缘设备分别名为“VR1”和“VR2”,PE 1系统名为“PE1”。

(1)     在MCE和PE 1上配置VPN实例

# 在MCE设备上配置VPN实例,名称分别为VPN1和VPN2,RD分别取值为10:1和20:1,VPN Target取值与RD取相同数值,Export和Import均取此值。

<MCE> system-view

[MCE] ip vpn-instance vpn1

[MCE-vpn-instance-vpn1] route-distinguisher 10:1

[MCE-vpn-instance-vpn1] vpn-target 10:1

[MCE-vpn-instance-vpn1] quit

[MCE] ip vpn-instance vpn2

[MCE-vpn-instance-vpn2] route-distinguisher 20:1

[MCE-vpn-instance-vpn2] vpn-target 20:1

[MCE-vpn-instance-vpn2] quit

# 创建VLAN10,将端口GigabitEthernet1/0/1加入VLAN 10,并创建Vlan-interface10接口。

[MCE] vlan 10

[MCE-vlan10] port gigabitethernet 1/0/1

[MCE-vlan10] quit

# 配置Vlan-interface10接口与VPN实例vpn1绑定,并配置接口的IPv6地址。

[MCE] interface vlan-interface 10

[MCE-Vlan-interface10] ip binding vpn-instance vpn1

[MCE-Vlan-interface10] ipv6 address 2001:1::1 64

[MCE-Vlan-interface10] quit

# 使用类似步骤配置VLAN20,将端口GigabitEthernet1/0/2加入VLAN 20,配置接口与VPN实例vpn2绑定,并配置接口的IPv6地址。

[MCE] vlan 20

[MCE-vlan20] port gigabitethernet 1/0/2

[MCE-vlan20] quit

[MCE] interface vlan-interface 20

[MCE-Vlan-interface20] ip binding vpn-instance vpn2

[MCE-Vlan-interface20] ipv6 address 2002:1::1 64

[MCE-Vlan-interface20] quit

# PE 1上配置VPN实例,名称分别为VPN1VPN2RD分别取值为30:140:1VPN Target取值分别为10:120:1ExportImport均取此值。

<PE1> system-view

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 30:1

[PE1-vpn-instance-vpn1] vpn-target 10:1

[PE1-vpn-instance-vpn1] quit

[PE1] ip vpn-instance vpn2

[PE1-vpn-instance-vpn2] route-distinguisher 40:1

[PE1-vpn-instance-vpn2] vpn-target 20:1

[PE1-vpn-instance-vpn2] quit

(2)     MCE与Site间路由配置

MCE与VPN 1直接相连,且VPN 1内未使用路由协议,因此可以使用IPv6静态路由进行配置。

# 配置VR1与MCE连接的接口地址为2001:1::2/64,连接VPN 1接口的地址为2012:1::2/64。向VLAN中增加端口和接口IP地址的配置过程省略。

# 在VR1上配置缺省路由,指定出方向报文的下一跳地址为2001:1::1。

<VR1> system-view

[VR1] ipv6 route-static :: 0 2001:1::1

# 在MCE上指定IPv6静态路由,去往2012:1::/64网段的报文,下一跳地址为2001:1::2,并将此路由与VPN 1实例绑定。

[MCE] ipv6 route-static vpn-instance vpn1 2012:1:: 64 vpn-instance vpn1 2001:1::2

# VPN 2内运行RIPng,在MCE上配置RIPng进程20,并与VPN实例vpn2绑定,以便将VPN 2内的路由学习到VPN实例vpn2的路由表中。

[MCE] ripng 20 vpn-instance vpn2

# 配置RIPng发布2002:1::/64网段路由。

[MCE] interface vlan-interface 20

[MCE-Vlan-interface20] ripng 20 enable

[MCE-Vlan-interface20] quit

# 在VR 2上,配置与MCE连接的接口地址为2002:1::2/64,连接VPN 2接口的地址为2012::2/64(配置过程略)。

# 在VR 2上配置RIPng发布2012::/64和2002:1::/64网段路由。

<VR2> system-view

[VR2] ripng 20

[VR2-ripng-20] quit

[VR2] interface vlan-interface 20

[VR2-Vlan-interface20] ripng 20 enable

[VR2-Vlan-interface20] quit

[VR2] interface vlan-interface 21

[VR2-Vlan-interface21] ripng 20 enable

[VR2-Vlan-interface21] quit

# 在MCE上查看VPN实例vpn1和vpn2的路由信息。

[MCE] display ipv6 routing-table vpn-instance vpn1

 Routing Table : vpn1

         Destinations : 5        Routes : 5

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2001:1::/64                                 Protocol  : Direct

NextHop    : 2001:1::1                                   Preference: 0

Interface  : Vlan10                                      Cost      : 0

 

Destination: 2001:1::1/128                               Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2012:1::/64                                 Protocol  : Static

NextHop    : 2001:1::2                                   Preference: 60

Interface  : Vlan10                                      Cost      : 0

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

 

[MCE] display ipv6 routing-table vpn-instance vpn2

Routing Table : vpn2

         Destinations : 5        Routes : 5

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2002:1::/64                                 Protocol  : Direct

NextHop    : 2002:1::1                                   Preference: 0

Interface  : Vlan20                                      Cost      : 0

 

Destination: 2002:1::1/128                               Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2012::/64                                   Protocol  : RIPng

NextHop    : FE80::20F:E2FF:FE3E:9CA2                    Preference: 100

Interface  : Vlan20                                      Cost      : 1

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

 

可以看到,MCE已经通过RIPng学习到了VPN 2内的私网路由,并与VPN 1内的路由信息分别维护在两个路由表内,有效进行了隔离。

(3)     MCE与PE间路由配置

# MCE使用GigabitEthernet1/0/3端口连接到PE 1的GigabitEthernet1/0/1端口,需要配置这两个端口为Trunk端口,并允许VLAN 30和VLAN 40的报文携带Tag通过。

[MCE] interface gigabitethernet 1/0/3

[MCE-GigabitEthernet1/0/3] port link-type trunk

[MCE-GigabitEthernet1/0/3] port trunk permit vlan 30 40

[MCE-GigabitEthernet1/0/3] quit

# 配置PE 1的GigabitEthernet1/0/1端口。

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] port link-type trunk

[PE1-GigabitEthernet1/0/1] port trunk permit vlan 30 40

[PE1-GigabitEthernet1/0/1] quit

# 在MCE上创建VLAN 30和接口Vlan-interface30,配置接口与VPN实例vpn1绑定,并配置接口的IPv6地址。

[MCE] vlan 30

[MCE-vlan30] quit

[MCE] interface vlan-interface 30

[MCE-Vlan-interface30] ip binding vpn-instance vpn1

[MCE-Vlan-interface30] ipv6 address 30::1 64

[MCE-Vlan-interface30] quit

# MCE上创建VLAN 40和接口Vlan-interface40,配置接口与VPN实例vpn2绑定,并配置接口的IPv6地址。

[MCE] vlan 40

[MCE-vlan40] quit

[MCE] interface vlan-interface 40

[MCE-Vlan-interface40] ip binding vpn-instance vpn2

[MCE-Vlan-interface40] ipv6 address 40::1 64

[MCE-Vlan-interface40] quit

# PE 1上创建VLAN 30和接口Vlan-interface30,配置接口与VPN实例vpn1绑定,并配置接口的IPv6地址。

[PE1] vlan 30

[PE1-vlan30] quit

[PE1] interface vlan-interface 30

[PE1-Vlan-interface30] ip binding vpn-instance vpn1

[PE1-Vlan-interface30] ipv6 address 30::2 64

[PE1-Vlan-interface30] quit

# PE 1上创建VLAN 40和接口Vlan-interface40,配置接口与VPN实例vpn2绑定,并配置接口的IPv6地址。

[PE1] vlan 40

[PE1-vlan40] quit

[PE1] interface vlan-interface 40

[PE1-Vlan-interface40] ip binding vpn-instance vpn2

[PE1-Vlan-interface40] ipv6 address 40::2 64

[PE1-Vlan-interface40] quit

# 配置MCEPE 1Loopback0接口,用于指定MCEPE 1Router ID,地址分别为101.101.10.1100.100.10.1。配置步骤这里省略。

# 配置MCE启动OSPFv3进程10,绑定到VPN实例vpn1,并引入VPN 1的IPv6静态路由。

[MCE] ospfv3 10 vpn-instance vpn1

[MCE-ospf-10] router-id 101.101.10.1

[MCE-ospf-10] import-route static

[MCE-ospf-10] quit

# Vlan-interface30中使能OSPFv3

[MCE] interface vlan-interface 30

[MCE-Vlan-interface30] ospfv3 10 area 0.0.0.0

[MCE-Vlan-interface30] quit

# 配置PE 1启动OSPFv3进程10,绑定到VPN实例vpn1。

[PE1] ospfv3 10 vpn-instance vpn1

[PE1-ospf-10] router-id 100.100.10.1

[PE1-ospf-10] quit

# 在Vlan-interface30中使能OSPFv3。

[PE1] interface vlan-interface 30

[PE1-Vlan-interface30] ospfv3 10 area 0.0.0.0

[PE1-Vlan-interface30] quit

# 显示PE 1上的VPN 1路由信息。

[PE1] display ipv6 routing-table vpn-instance vpn1

Routing Table : vpn1

         Destinations : 5        Routes : 5

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 30::/64                                     Protocol  : Direct

NextHop    : 30::2                                       Preference: 0

Interface  : Vlan30                                      Cost      : 0

 

Destination: 30::2/128                                   Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2012:1::/64                                 Protocol  : OSPFv3

NextHop    : FE80::202:FF:FE02:2                         Preference: 150

Interface  : Vlan30                                      Cost      : 1

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

 

可以看到,PE 1通过OSPFv3学习到了VPN 1内的私网路由。

MCE与PE 1间配置OSPFv3进程20,引入VPN实例vpn2的路由信息的过程与上面介绍的配置基本一致,不同的是在MCE的OSPFv3中配置引入的是RIPng进程10的路由,这里不再赘述。通过下面的显示信息可以看出,PE 1通过OSPFv3学习到了VPN 2内的私网路由。

[PE1] display ipv6 routing-table vpn-instance vpn2

Routing Table : vpn2

         Destinations : 5        Routes : 5

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 40::/64                                     Protocol  : Direct

NextHop    : 40::2                                       Preference: 0

Interface  : Vlan40                                      Cost      : 0

 

Destination: 40::2/128                                   Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2012::/64                                   Protocol  : OSPFv3

NextHop    : FE80::200:FF:FE0F:5                         Preference: 150

Interface  : Vlan40                                      Cost      : 1

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

 

至此,通过配置,已经将两个VPN实例内的路由信息完整地传播到PE 1中,配置完成。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!