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

07-MPLS配置指导

目录

12-MCE配置

本章节下载 12-MCE配置  (517.00 KB)

12-MCE配置


1 MCE

说明

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

 

1.1  MPLS L3VPN简介

MPLS L3VPN是一种三层VPN技术,它使用BGP在服务提供商骨干网上发布用户站点的私网路由,使用MPLS在服务提供商骨干网上转发用户站点之间的私网报文,从而实现通过服务提供商的骨干网连接属于同一个VPN、位于不同地理位置的用户站点。

MPLS L3VPN组网方式灵活,可扩展性好,并能够方便地支持MPLS TE,因此得到了广泛的应用。

1.1.1  MPLS L3VPN基本网络架构

图1-1 MPLS L3VPN基本网络架构

 

MPLS L3VPN的基本网络架构如图1-1所示。MPLS L3VPN网络中设备的角色分为以下几种:

·     CE(Customer Edge,用户网络边缘)设备:直接与服务提供商网络相连的用户网络侧设备。CE“感知”不到VPN的存在,也不需要支持MPLS。

·     PE(Provider Edge,服务提供商网络边缘)设备:与CE相连的服务提供商网络侧设备。在MPLS L3VPN网络中,对VPN的所有处理都发生在PE上。

·     P(Provider,服务提供商网络)设备:服务提供商网络中的骨干设备,不与CE直接相连。P只需要在骨干网中将用户网络报文转发给正确的远端PE,不需要维护和处理VPN信息。

1.1.2  MPLS L3VPN基本概念

1. Site

Site(站点)的含义可以从下述几个方面理解:

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

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

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

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

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

2. VPN实例

在MPLS L3VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现,VPN实例又称为VRF(Virtual Routing and Forwarding,虚拟路由和转发)实例。PE上每个VPN实例都有相对独立的路由表和LFIB(Label Forwarding Information Base,标签转发信息库),确保VPN数据的独立性和安全性。

PE通过将与Site连接的接口与VPN实例关联,实现该Site与VPN实例的关联。一个Site只能与一个VPN实例关联;不同的Site可以关联同一个VPN实例。VPN实例中包含了与其关联的Site所属的所有VPN的成员关系和路由规则等信息。

VPN实例中的信息包括:LFIB、IP路由表、与VPN实例关联的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、VPN Target属性、路由过滤策略等。

3. VPN-IPv4地址

VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(Address Space)。不同VPN的地址空间可能会在一定范围内重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,这就发生了地址空间重叠(Overlapping Address Spaces)。

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

MPLS L3VPN使用VPN-IPv4地址(又称为VPNv4地址)来解决上述问题。

图1-2 VPN-IPv4地址结构

 

图1-2所示,VPN-IPv4地址共有12个字节,包括8字节的RD和4字节的IPv4地址前缀。其中,RD的作用是将其添加到一个IPv4地址前缀前,使之成为全局唯一的VPN-IPv4地址前缀。PE从CE接收到普通IPv4路由后,为IPv4地址前缀添加RD,将其转变为VPN-IPv4路由,并使用MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)将VPN-IPv4路由发布给对端PE,从而实现通过RD区分不同VPN的相同IPv4地址前缀。

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

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

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

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

为了保证VPN-IPv4地址全球唯一,建议不要将Administrator子字段的值设置为私有AS号或私有IP地址。

4. VPN Target属性

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

VPN Target属性分为如下两类:

·     Export Target属性:本地PE从与自己直接相连的Site学习到IPv4路由后,将其转换为VPN-IPv4路由,为VPN-IPv4路由设置Export Target属性并发布给其它PE。

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

VPN Target属性定义了一条VPN-IPv4路由可以为哪些Site所接收,PE可以接收哪些Site发送来的路由。

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

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

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

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

1.2  MCE简介

传统的MPLS L3VPN架构要求每个用户站点单独使用一个CE与PE相连,如图1-1所示。随着用户业务的不断细化和安全需求的提高,一个私有网络内的用户可能需要划分成多个VPN,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将加大用户的设备开支和维护成本;而多个VPN共用一台CE,使用同一个路由表项,又无法保证数据的安全性。

MCE(Multi-VPN-Instance CE,多VPN实例CE)功能通过在CE设备上建立VPN实例,为不同的VPN提供逻辑独立的路由转发表和地址空间,使多个VPN可以共享一个CE。该CE设备称为MCE设备。MCE功能有效地解决了多VPN网络带来的用户数据安全与网络成本之间的矛盾。

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

 

图1-3所示,MCE组网的关键是在MCE与用户站点之间、MCE与PE之间交互私网路由,并将其正确学习到相应VPN实例的路由表中。其他处理与传统的MPLS L3VPN相同,此处不再赘述。

·     MCE与用户站点之间的私网路由交互:在MCE设备上为VPN 1和VPN 2创建VPN实例,并使用Vlan-interface2接口与VPN 1进行绑定、Vlan-interface3接口与VPN 2进行绑定。在接收路由信息时,MCE设备根据路由的接收接口,即可判断该路由信息的来源,并将其维护到对应VPN实例的路由表中。

·     MCE与PE之间的私网路由交互:MCE与PE 1之间通过Trunk链路连接,并允许VLAN 2和VLAN 3的报文携带VLAN Tag传输。在PE 1上为VPN 1和VPN 2创建VPN实例,并将连接MCE的VLAN接口(Vlan-interface2接口和Vlan-interface3接口)与VPN实例绑定,绑定的方式与MCE设备一致。从而,使得MCE与PE之间交互的私网路由可以准确地学习到对应VPN实例的路由表中。

MCE与VPN站点之间、MCE与PE之间可以使用静态路由、RIP、OSPF、IS-IS、EBGP或IBGP交换路由信息。

说明

MCE设备上可以配置DHCP服务器或DHCP中继功能,实现为私网内的DHCP客户端动态分配IP地址。MCE作为DHCP服务器时,不同私网的IP地址空间不能重叠。

 

1.3  MCE配置任务简介

表1-1 MCE配置任务简介

配置任务

说明

详细配置

配置VPN实例

创建VPN实例

必选

1.4.1 

配置VPN实例与接口关联

必选

1.4.2 

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

可选

1.4.3   

配置MCE的路由交换

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

必选

1.5.1 

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

必选

1.5.2 

 

1.4  配置VPN实例

VPN实例不仅可以将VPN私网路由与公网路由隔离,还可以隔离不同VPN实例的路由。在所有MCE组网方案中,都需要配置VPN实例。

1.4.1  创建VPN实例

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

表1-2 创建VPN实例

操作

命令

说明

进入系统视图

system-view

-

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

ip vpn-instance vpn-instance-name

缺省情况下,设备上不存在任何VPN实例

配置VPN实例的RD

route-distinguisher route-distinguisher

缺省情况下,没有指定VPN实例的RD

(可选)配置VPN实例的描述信息

description text

缺省情况下,未配置VPN实例的描述信息

(可选)配置VPN实例的ID

vpn-id vpn-id

缺省情况下,没有指定VPN实例的ID

 

1.4.2  配置VPN实例与接口关联

提示

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

 

VPN实例配置完成后,还需要与MCE设备上连接站点和PE的接口进行关联。

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

将当前接口与VPN实例关联

ip binding vpn-instance vpn-instance-name

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

 

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

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

操作

命令

说明

 

进入系统视图

system-view

-

 

进入VPN实例视图或IPv4 VPN视图

进入VPN实例视图

ip vpn-instance vpn-instance-name

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

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

进入IPv4 VPN视图

ip vpn-instance vpn-instance-name

address-family ipv4

配置VPN实例的VPN Target

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

缺省情况下,没有指定VPN实例的VPN Target

 

配置VPN实例支持的最大激活路由前缀数

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

缺省情况下,未配置VPN实例支持的最大激活路由前缀数

配置一个VPN实例可以支持的最大激活路由前缀数,可以防止PE路由器上保存过多的激活路由前缀信息

 

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

import route-policy route-policy

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

执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”

 

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

export route-policy route-policy

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

执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”

 

配置VPN实例的隧道策略

tnl-policy tunnel-policy-name

缺省情况下,隧道策略为按照LSP隧道->CR-LSP隧道的优先级顺序选择隧道,负载分担条数为1

为VPN实例配置隧道策略之前必须先创建隧道策略,否则将采用缺省策略

隧道策略的创建及配置方法,请参见“MPLS配置指导”中的“隧道策略”

 

 

1.5  配置MCE的路由交换

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

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

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

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

在配置MCE之前,需要先在MCE上创建VPN实例,并将MCE连接站点和PE的接口与VPN实例绑定。

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { interface-type interface-number [ next-hop-address ] | next-hop-address [ public ] [ track track-entry-number ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ permanent ] [ preference preference-value ] [ tag tag-value ] [ description description-text ]

缺省情况下,没有配置静态路由

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

(可选)配置静态路由的缺省优先级

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

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

 

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

一个RIP进程只能属于一个VPN实例。如果在启动RIP进程时不绑定到VPN实例,则该进程属于公网进程。通过在MCE上将RIP进程与VPN实例绑定,可以使不同VPN内的私网路由通过不同的RIP进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。RIP的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIP”。

表1-6 配置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 | all-processes | allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] *

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

(可选)配置引入路由的缺省度量值

default cost value

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

 

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

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

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

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

一个OSPF进程只能属于一个VPN实例,但一个VPN实例可以使用多个OSPF进程为其传播私网路由

(可选)配置OSPF域标识符

domain-id domain-id [ secondary ]

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

该配置在MCE上进行

同一VPN内的OSPF进程应配置相同的域ID,以保证路由发布的正确性

(可选)配置OSPF扩展团体属性的类型编码

ext-community-type { domain-id type-code1 | router-id type-code2 | route-type type-code3 }

缺省情况下,OSPF扩展团体属性Domain ID的类型编码是0x0005,Router ID的类型编码是0x0107,Route Type的类型编码是0x0306

(可选)配置route tag

route-tag tag-value

缺省情况下,未配置route tag

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

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

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

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

(可选)配置OSPF引入缺省路由

default-route-advertise summary cost cost

缺省情况下,不引入缺省路由

该命令用于以Type-3 LSA引入缺省路由,MCE设备会将引入的缺省路由发布给站点内部

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

area area-id

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

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

network ip-address wildcard-mask

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

 

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

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

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

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

表1-8 配置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 protocol [ process-id | all-processes | allow-ibgp ] [ 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

 

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

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

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

(1)     MCE上的配置

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

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

BGP-VPN实例视图下的配置任务与BGP视图下的相同,有关介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“BGP”

配置EBGP对等体或对等体组

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

配置对于从对等体/对等体组接收的路由,允许本地AS号在接收路由的AS_PATH属性中出现,并配置允许出现的次数

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

缺省情况下,不允许本地AS号在接收路由的AS_PATH属性中出现

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

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

缺省情况下,BGP不会引入IGP路由协议的路由信息

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

(2)     站点上的配置

表1-10 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

将MCE配置为EBGP对等体

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

配置引入VPN内的IGP路由

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

缺省情况下,BGP不会引入IGP路由协议的路由信息

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

 

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

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

(1)     MCE上的配置

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

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

配置IBGP对等体

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

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

peer { group-name | ip-address [ mask-length ] } reflect-client

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

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

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

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

(2)     站点上的配置

表1-12 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

将MCE配置为IBGP对等体

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

配置引入VPN内的IGP路由

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

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

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

 

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

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

本节中的配置均在MCE上进行,PE上的配置与基本MPLS L3VPN组网中PE上的配置相同,详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。

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

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

操作

命令

说明

进入系统视图

system-view

-

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

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { interface-type interface-number [ next-hop-address ] | next-hop-address [ public ] [ track track-entry-number ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ permanent ] [ preference preference-value ] [ tag tag-value ] [ description description-text ]

缺省情况下,设备上不存在任何静态路由

(可选)配置静态路由的缺省优先级

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

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

 

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

表1-14 配置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 | all-processes | allow-ibgp ] [ cost cost | route-policy route-policy-name | tag tag ] *

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

(可选)配置引入路由的缺省度量值

default cost value

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

 

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

表1-15 配置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

(可选)配置OSPF扩展团体属性的类型编码

ext-community-type { domain-id type-code1 | router-id type-code2 | route-type type-code3 }

缺省情况下,OSPF扩展团体属性Domain ID的类型编码是0x0005,Router ID的类型编码是0x0107,Route Type的类型编码是0x0306

(可选)配置route tag

route-tag tag-value

缺省情况下,未配置route tag

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

引入站点内的VPN路由

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

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

(可选)配置OSPF引入缺省路由

default-route-advertise summary cost cost

缺省情况下,不引入缺省路由

该命令用于以Type-3 LSA引入缺省路由,MCE设备会将引入的缺省路由发布给PE

(可选)配置对发布的路由进行过滤

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

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

(可选)配置引入外部路由时的参数缺省值(开销、标记、类型)(该配置仅连接PE端使用)

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

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

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

area area-id

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

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

network ip-address wildcard-mask

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

 

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

表1-16 配置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 protocol [ process-id | all-processes | allow-ibgp ] [ 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路由表中

(可选)对发布的路由进行过滤(该配置仅连接PE端使用)

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

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

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

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

isis enable [ process-id ]

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

将PE配置为EBGP对等体

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

引入站点内的VPN路由

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

将PE配置为IBGP对等体

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

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv4单播地址族视图

address-family ipv4 [ unicast ]

-

使能本地路由器与指定对等体交换IPv4单播路由信息的能力

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

缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息

引入站点内的VPN路由

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

1.6  MCE显示和维护

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

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

操作

命令

显示指定VPN实例信息

display ip vpn-instance [ instance-name vpn-instance-name ]

显示VPN实例中BGP对等体组的信息

display bgp group ipv4 [ unicast ] vpn-instance vpn-instance-name [ group-name group-name ]

显示VPN实例中BGP对等体的信息

display bgp peer ipv4 [ unicast ] vpn-instance vpn-instance-name [ ip-address mask-length | { ip-address | group-name group-name } log-info | [ [ ip-address ] verbose ] [ standby slot slot-number ] ]

 

说明

·     除上述命令外,其它关于MCE功能的显示和维护命令(包括查看VPN实例中的路由表以及维护VPN实例中的路由会话等),请参见“三层技术-IP路由命令参考”中的“IP路由基础命令”以及各路由协议的命令参考。

·     有关display bgp group命令和display bgp peer命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP命令”。

 

1.7  MCE典型配置举例

1.7.1  配置MCE通过OSPF向PE发布VPN路由示例

1. 组网需求

MCE设备连接两个VPN:VPN 1和VPN 2。其中,VPN 2内运行OSPF路由协议。MCE设备将两个VPN之间的路由隔离,并通过OSPF将各VPN的路由发布到PE 1。

2. 组网图

图1-4 配置MCE通过OSPF向PE发布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实例,名称分别为VPN1和VPN2,RD分别取值为10:1和20:1,VPN Target取值与RD相同,Export和Import均取此值。

<PE1> system-view

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 10: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 20: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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

10.214.10.0/24      Direct 0    0            10.214.10.3     Vlan10

10.214.10.0/32      Direct 0    0            10.214.10.3     Vlan10

10.214.10.3/32      Direct 0    0            127.0.0.1       InLoop0

10.214.10.255/32    Direct 0    0            10.214.10.3     Vlan10

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      Static 60   0            10.214.10.2     Vlan10

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

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

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

[MCE] ospf 2 vpn-instance vpn2

# 发布网段10.214.20.0/24的路由。

[MCE-ospf-2] area 0

[MCE-ospf-2-area-0.0.0.0] network 10.214.20.0 0.0.0.255

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

[MCE-ospf-2] quit

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

# 配置OSPF进程2,发布网段192.168.10.0/24和10.214.20.0/24的路由。

<VR2> system-view

[VR2] ospf 2

[VR2-ospf-2] area 0

[VR2-ospf-2-area-0.0.0.0] network 192.168.10.0 0.0.0.255

[VR2-ospf-2-area-0.0.0.0] network 10.214.20.0 0.0.0.255

[VR2-ospf-2-area-0.0.0.0] quit

[VR2-ospf-2] quit

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

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

10.214.20.0/24      Direct 0    0            10.214.20.3     Vlan20

10.214.20.0/32      Direct 0    0            10.214.20.3     Vlan20

10.214.20.3/32      Direct 0    0            127.0.0.1       InLoop0

10.214.20.255/32    Direct 0    0            10.214.20.3     Vlan20

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     OSPF   10   2            10.214.20.2     Vlan20

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

可以看到,MCE已经通过OSPF学习到了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

# 配置MCE和PE 1的Loopback0接口,用于指定MCE和PE 1的Router ID,地址分别为101.101.10.1和100.100.10.1。配置步骤这里省略。

# 配置MCE启动OSPF进程10,该进程绑定到VPN实例vpn1,关闭OSPF实例的路由环路检测功能,并配置域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

# MCE与PE 1间配置OSPF进程20,导入VPN实例vpn2的路由信息的过程与上面介绍的配置基本一致,不同的是在MCE的OSPF中配置导入的是OSPF进程20的路由,这里不再赘述。

4. 验证配置

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

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

30.1.1.0/24         Direct 0    0            30.1.1.2        Vlan30

30.1.1.0/32         Direct 0    0            30.1.1.2        Vlan30

30.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

30.1.1.255/32       Direct 0    0            30.1.1.2        Vlan30

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      OSPF   150  1            30.1.1.1        Vlan30

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

# 显示PE 1上的VPN 2路由信息。可以看到,VPN 2内OSPF进程20的路由已经引入到MCE与PE 1间的OSPF路由表中。

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

40.1.1.0/24         Direct 0    0            40.1.1.2        Vlan40

40.1.1.0/32         Direct 0    0            40.1.1.2        Vlan40

40.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

40.1.1.255/32       Direct 0    0            40.1.1.2        Vlan40

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     OSPF   150  1            40.1.1.1        Vlan40

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

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

1.7.2  配置MCE通过EBGP向PE发布VPN路由示例

1. 组网需求

·     使用以太网交换机作为MCE设备,将VPN 1和VPN 2内的私网路由发布到PE 1,使MPLS骨干网络两端的VPN能够正常通信。

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

2. 组网图

图1-5 配置MCE通过EBGP向PE发布VPN路由组网图

 

 

3. 配置步骤

(1)     VPN实例配置

# 在MCE和PE 1上创建VPN实例,并与接口绑定的配置与“1.7.1  配置MCE通过OSPF向PE发布VPN路由示例”中的配置类似,这里不再赘述。

(2)     MCE与Site间路由配置

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

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

<MCE> system-view

[MCE] ospf 10 router-id 10.10.10.1 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

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

[MCE-ospf-10] quit

# 显示VPN 1的路由信息。

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

10.214.10.0/24      Direct 0    0            10.214.10.3     Vlan10

10.214.10.0/32      Direct 0    0            10.214.10.3     Vlan10

10.214.10.3/32      Direct 0    0            127.0.0.1       InLoop0

10.214.10.255/32    Direct 0    0            10.214.10.3     Vlan10

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      OSPF   10   2            10.214.10.2     Vlan10

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

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

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

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

10.214.20.0/24      Direct 0    0            10.214.20.3     Vlan20

10.214.20.0/32      Direct 0    0            10.214.20.3     Vlan20

10.214.20.3/32      Direct 0    0            127.0.0.1       InLoop0

10.214.20.255/32    Direct 0    0            10.214.20.3     Vlan20

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     OSPF   10   2            10.214.20.2     Vlan20

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

(3)     MCE与PE间路由配置

# 配置MCE与PE 1间通过Trunk端口进行连接,配置与“1.7.1  配置MCE通过OSPF向PE发布VPN路由示例”中的配置类似,这里不再赘述。

# 配置MCE启动BGP进程,指定本地设备所在的AS号为100。进入VPN实例vpn1的BGP-VPN实例视图,并在该视图下指定PE 1(PE 1与实例vpn1绑定的接口地址为30.1.1.2/24,BGP进程为200)为EBGP对等体。

[MCE] bgp 100

[MCE-bgp] ip vpn-instance vpn1

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

# 在BGP-VPN IPv4单播地址族视图下,激活EBGP对等体30.1.1.2,并引入OSPF进程10的路由信息。

[MCE-bgp-vpn1] address-family ipv4

[MCE-bgp-ipv4-vpn1] peer 30.1.1.2 enable

[MCE-bgp-ipv4-vpn1] import-route ospf 10

# 在PE 1上启动BGP进程,指定本地设备所在的AS号为200,并指定MCE为EBGP对等体。

[PE1] bgp 200

[PE1-bgp] ip vpn-instance vpn1

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

[PE1-bgp-vpn1] address-family ipv4

[PE1-bgp-ipv4-vpn1] peer 30.1.1.1 enable

[PE1-bgp-ipv4-vpn1] quit

[PE1-bgp-vpn1] quit

[PE1-bgp] quit

# 对于VPN 2,在MCE和PE 1上进行类似的配置,将VPN实例vpn2的OSPF路由信息引入到EBGP路由中。这里不再叙述配置过程。

4. 验证配置

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

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

30.1.1.0/24         Direct 0    0            30.1.1.2        Vlan30

30.1.1.0/32         Direct 0    0            30.1.1.2        Vlan30

30.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

30.1.1.255/32       Direct 0    0            30.1.1.2        Vlan30

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.0.0/24      BGP    255  3            30.1.1.1        Vlan30

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

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

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

 

Destinations : 13        Routes : 13

 

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

0.0.0.0/32          Direct 0    0            127.0.0.1       InLoop0

40.1.1.0/24         Direct 0    0            40.1.1.2        Vlan40

40.1.1.0/32         Direct 0    0            40.1.1.2        Vlan40

40.1.1.2/32         Direct 0    0            127.0.0.1       InLoop0

40.1.1.255/32       Direct 0    0            40.1.1.2        Vlan40

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/32        Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

127.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

192.168.10.0/24     BGP    255  3            40.1.1.1        Vlan40

224.0.0.0/4         Direct 0    0            0.0.0.0         NULL0

224.0.0.0/24        Direct 0    0            0.0.0.0         NULL0

255.255.255.255/32  Direct 0    0            127.0.0.1       InLoop0

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

 


2 IPv6 MCE

2.1  IPv6 MCE简介

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

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

2.2  IPv6 MCE配置任务简介

表2-1 IPv6 MCE配置任务简介

配置任务

说明

详细配置

配置VPN实例

创建VPN实例

必选

2.3.1 

配置VPN实例与接口关联

必选

2.3.2 

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

可选

2.3.3 

配置MCE的路由交换

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

必选

2.4.1 

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

必选

2.4.2 

 

2.3  配置VPN实例

VPN实例不仅可以隔离VPN私网路由与公网路由,还可以隔离不同VPN实例的路由。在所有MCE组网方案中,都需要配置VPN实例。

2.3.1  创建VPN实例

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

表2-2 创建VPN实例

操作

命令

说明

进入系统视图

system-view

-

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

ip vpn-instance vpn-instance-name

缺省情况下,设备上不存在任何VPN实例

配置VPN实例的RD

route-distinguisher route-distinguisher

缺省情况下,未指定VPN实例的RD

(可选)配置VPN实例的描述信息

description text

缺省情况下,为指定VPN实例的描述信息

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

(可选)配置VPN实例的ID

vpn-id vpn-id

缺省情况下,没有指定VPN实例的ID

 

 

2.3.2  配置VPN实例与接口关联

说明

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

 

VPN实例配置完成后,还需要与MCE设备上连接站点和PE的接口进行关联。

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

将当前接口与VPN实例关联

ip binding vpn-instance vpn-instance-name

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

 

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

VPN路由的发布控制过程如下:

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入VPN实例视图或IPv6 VPN视图

进入VPN实例视图

ip vpn-instance vpn-instance-name

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

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

进入IPv6 VPN视图

ip vpn-instance vpn-instance-name

address-family ipv6

配置VPN Target

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

缺省情况下,没有指定VPN实例的VPN Target

配置支持的最大激活路由前缀数

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

缺省情况下,未配置VPN实例支持的最大激活路由前缀数

配置一个VPN实例可以支持的最大激活路由前缀数,可以防止PE路由器上保存过多的激活路由前缀信息

应用入方向路由策略

import route-policy route-policy

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

执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”

应用出方向路由策略

export route-policy route-policy

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

执行本配置时,需要创建路由策略。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”

配置VPN实例的隧道策略

tnl-policy tunnel-policy-name

缺省情况下,隧道策略为按照LSP隧道->CR-LSP隧道的优先级顺序选择隧道,负载分担条数为1

为VPN实例配置隧道策略之前必须先创建隧道策略,否则将采用缺省策略

隧道策略的创建及配置方法,请参见“MPLS配置指导”中的“隧道策略”

 

 

2.4  配置MCE的路由交换

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

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

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

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

在配置Multi-VPN-Instance CE之前,需要先在MCE上创建VPN实例,并将MCE连接站点和PE的接口与VPN实例绑定。

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

缺省情况下,没有配置IPv6静态路由

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

(可选)配置IPv6静态路由的缺省优先级

ipv6 route-static default-preference default-preference-value

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

 

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

一个RIPng进程只能属于一个IPv6 VPN实例。如果在启动RIPng进程时不绑定到IPv6 VPN实例,则该进程属于公网进程。通过在MCE上将RIPng进程与IPv6 VPN实例绑定,可以使不同IPv6 VPN内的私网路由通过不同的RIPng进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。有关RIPng的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“RIPng”。

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

操作

命令

说明

进入系统视图

system-view

-

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

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

该配置在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路由协议

 

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

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

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

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

配置Router ID

router-id router-id

-

(可选)配置OSPFv3域标识符

domain-id { domain-id [ secondary ] | null }

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

该配置在MCE上进行

同一VPN内的所有OSPFv3进程应配置相同的域标识符,以保证路由发布的正确性

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

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

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

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在接口上使能OSPFv3

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

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

 

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

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

该配置在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能力

 

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

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

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

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

(1)     MCE上的配置

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

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

配置IPv6 BGP对等体的AS号

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体

进入BGP-VPN IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

 

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

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

(2)     站点上的配置

表2-10 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

将MCE配置为EBGP对等体

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体

进入BGP IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

引入VPN内的IGP路由

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

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

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

 

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

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

(1)     MCE上的配置

表2-11 配置MCE与站点之间使用IBGP

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

配置IBGP对等体

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

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

peer { group-name | ipv6-address [prefix-length ] } reflect-client

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

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

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

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

(2)     站点上的配置

表2-12 站点上的配置

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

将MCE配置为IBGP对等体

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

配置引入VPN内的IGP路由

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

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

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

 

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

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

本节中的配置均在MCE上进行,PE上的配置与基本IPv6 MPLS L3VPN组网中PE上的配置相同,详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

缺省情况下,没有配置IPv6静态路由

(可选)配置IPv6静态路由的缺省优先级

ipv6 route-static default-preference default-preference-value

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

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

-

配置Router ID

router-id router-id

-

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

vpn-instance-capability simple

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

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

(可选)配置OSPFv3域标识符

domain-id { domain-id [ secondary ] | null }

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

引入站点内的VPN路由

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

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

(可选)配置对发布的路由进行过滤

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

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

(可选)配置MCE上引入外部路由的路由标记缺省值

default tag tag

缺省情况下,MCE上OSPFv3引入的外部路由的路由标记缺省值为1

退回系统视图

quit

-

进入接口视图

interface interface-type interface-number

-

在接口上使能OSPFv3

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

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

创建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 | prefix-list prefix-list-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能力

 

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

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

操作

命令

说明

进入系统视图

system-view

-

进入BGP视图

bgp as-number

-

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

将PE配置为EBGP对等体

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体

进入BGP-VPN IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

引入站点内的VPN路由

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

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

表2-18 配置MCE与PE之间使用IBGP

操作

命令

说明

进入系统视图

system-view

-

启动BGP,并进入BGP视图

bgp as-number

缺省情况下,系统没有运行BGP

进入BGP-VPN实例视图

ip vpn-instance vpn-instance-name

-

将PE配置为IBGP对等体

peer { group-name | ipv6-address [prefix-length ] } as-number as-number

缺省情况下,设备上不存在任何BGP对等体和对等体组

进入BGP-VPN IPv6单播地址族视图

address-family ipv6 [ unicast ]

-

使能本地路由器与指定对等体交换IPv6单播路由信息的能力

peer { group-name | ipv6-address [prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息

引入站点内的VPN路由

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

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

(可选)配置对发布的路由信息进行过滤

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

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

(可选)配置对接收的路由信息进行过滤

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

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

 

2.5  IPv6 MCE显示和维护

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

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

操作

命令

显示指定VPN实例信息

display ip vpn-instance [ instance-name vpn-instance-name ]

显示VPN实例中BGP对等体组的信息

display bgp group ipv6 [ unicast ] vpn-instance vpn-instance-name [ group-name group-name ]

显示VPN实例中BGP对等体的信息

display bgp peer ipv6 [ unicast ] vpn-instance vpn-instance-name [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ [ ipv6-address ] verbose ] [ standby slot slot-number ] ]

 

说明

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

·     有关display bgp group命令和display bgp peer命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP命令”。

 

2.6  IPv6 MCE典型配置举例

1. 组网需求

·     MCE设备连接两个VPN:VPN 1和VPN 2,VPN 2内运行RIPng路由协议。MCE设备将两个VPN之间的路由隔离,并通过OSPFv3将各VPN的路由发布到PE 1。

2. 组网图

图2-1 配置IPv6 MCE组网图

 

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加入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实例,名称分别为VPN1和VPN2,RD分别取值为30:1和40:1,VPN Target取值分别为10:1和20:1,Export和Import均取此值。

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

 

Destinations : 6 Routes : 6

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

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

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

 

Destination: FF00::/8                                    Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

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

 

Destinations : 6 Routes : 6

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

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

NextHop    : ::                                          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::20C:29FF:FE40:701                     Preference: 100

Interface  : Vlan20                                      Cost      : 1

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

 

Destination: FF00::/8                                    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

# 配置MCE和PE 1的Loopback0接口,用于指定MCE和PE 1的Router ID,地址分别为101.101.10.1和100.100.10.1。配置步骤这里省略。

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

[MCE] ospfv3 10 vpn-instance vpn1

[MCE-ospfv3-10] router-id 101.101.10.1

[MCE-ospfv3-10] import-route static

[MCE-ospfv3-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-ospfv3-10] router-id 100.100.10.1

[PE1-ospfv3-10] quit

# 在Vlan-interface30中使能OSPFv3。

[PE1] interface vlan-interface 30

[PE1-Vlan-interface30] ospfv3 10 area 0.0.0.0

[PE1-Vlan-interface30] quit

# MCE与PE 1间配置OSPFv3进程20,引入VPN实例vpn2的路由信息的过程与上面介绍的配置基本一致,不同的是在MCE的OSPFv3中配置引入的是RIPng进程20的路由,这里不再赘述。

4. 验证配置

# 显示PE 1上的VPN 1路由信息。可以看到,PE 1通过OSPFv3学习到了VPN 1内的私网路由。

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

 

Destinations : 6 Routes : 6

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 30::/64                                     Protocol  : Direct

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

 

Destination: FF00::/8                                    Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

# 通过下面的显示信息可以看出,PE 1通过OSPFv3学习到了VPN 2内的私网路由。

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

 

Destinations : 6 Routes : 6

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 40::/64                                     Protocol  : Direct

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

 

Destination: FF00::/8                                    Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

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

 

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

新华三官网
联系我们