01-MCE配置
本章节下载: 01-MCE配置 (458.34 KB)
目 录
本章只涉及MCE的介绍和配置,涉及到的各种路由协议的介绍和配置请参见“三层技术-IP路由配置指导”中的相关内容。
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组网方案的示意图。
CE和PE的划分主要是根据服务提供商与用户的管理范围,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 Switching Router,标签交换路由器),出口PE做为Egress LSR,P路由器则做为Transit LSR。
在介绍VPN时经常会提到“Site”,Site(站点)的含义可以从下述几个方面理解:
· Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现;
· Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻;
· 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN;
· Site通过CE连接到服务提供商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
对于多个连接到同一服务提供商网络的Sites,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Sites之间才能通过服务提供商网络互访,这种集合就是VPN。
VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(Address Space)。
不同VPN的地址空间可能会在一定范围内重合,比如,VPN 1和VPN 2都使用了10.110.10.0/24网段的地址,这就发生了地址空间重叠(Overlapping Address Spaces)。
在MPLS VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。
PE为每个直接相连的Site建立并维护专门的VPN实例。VPN实例中包含对应Site的VPN成员关系和路由规则。如果一个Site中的用户同时属于多个VPN,则该Site的VPN实例中将包括所有这些VPN的信息。
为保证VPN数据的独立性和安全性,PE上每个VPN实例都有相对独立的路由表和LFIB(Label Forwarding Information Base,标签转发信息表)。
具体来说,VPN实例中的信息包括:标签转发表、IP路由表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。
传统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地址。
MPLS L3VPN使用BGP扩展团体属性——VPN Target(也称为Route Target)来控制VPN路由信息的发布。
PE路由器上的VPN实例有两类VPN Target属性:
· Export Target属性:在本地PE将从与自己直接相连的Site学到的VPN-IPv4路由发布给其它PE之前,为这些路由设置Export Target属性;
· Import Target属性:PE在接收到其它PE路由器发布的VPN-IPv4路由时,检查其Export Target属性,只有当此属性与PE上VPN实例的Import Target属性匹配时,才把路由加入到相应的VPN路由表中。
也就是说,VPN Target属性定义了一条VPN-IPv4路由可以为哪些Site所接收,PE路由器可以接收哪些Site发送来的路由。
与RD类似,VPN Target也有三种格式:
· 16bits自治系统号:32bits用户自定义数字,例如:100:1。
· 32bits IPv4地址:16bits用户自定义数字,例如:172.1.1.1:1。
· 32bits自治系统号:16bits用户自定义数字,其中的自治系统号最小值为65536。例如:65536:1。
BGP/MPLS VPN以隧道的方式解决了在公网中传送私网数据的问题,但传统的BGP/MPLS VPN架构要求每个VPN实例单独使用一个CE与PE相连,如图1-1所示。
随着用户业务的不断细化和安全需求的提高,很多情况下一个私有网络内的用户需要划分成多个VPN,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将加大用户的设备开支和维护成本;而多个VPN共用一台CE,使用同一个路由表项,又无法保证数据的安全性。
使用以太网交换机提供的MCE功能,可以有效解决多VPN网络带来的用户数据安全与网络成本之间的矛盾,它使用CE设备本身的VLAN接口编号与网络内的VPN进行绑定,并为每个VPN创建和维护独立的路由转发表(Multi-VRF)。这样不但能够隔离私网内不同VPN的报文转发路径,而且通过与PE间的配合,也能够将每个VPN的路由正确发布至对端PE,保证VPN报文在公网内的传输。
下面以图1-3为例介绍MCE对多个VPN的路由表项进行维护,并与PE交互VPN路由的过程。
图1-3 MCE工作原理示意图
如图1-3所示,左侧私网内有两个VPN站点:Site 1和Site 2,分别通过MCE设备接入MPLS骨干网,其中VPN 1和VPN 2的用户,需要分别与远端Site 2内的VPN 1用户和Site 1内的VPN 2用户建立VPN隧道。
通过配置MCE功能,可以在MCE设备上为VPN 1和VPN 2创建各自的路由转发表,并使用Vlan-interface2接口与VPN 1进行绑定、Vlan-interface3与VPN 2进行绑定。在接收路由信息时,MCE设备根据接收接口的编号,即可判断该路由信息的来源,并将其维护到对应VPN的路由转发表中。
同时,在PE 1上也需要将连接MCE的接口与VPN进行绑定,绑定的方式与MCE设备一致。MCE与PE 1之间通过Trunk链路连接,并允许VLAN 2和VLAN 3的报文携带VLAN Tag传输,从而使PE 1在接收时可以根据报文所属VLAN判别该报文属于哪一个VPN,将报文在指定的隧道内传输。
VPN实例用于将VPN私网路由与公网路由隔离,在所有MCE组网方案中,都需要配置VPN实例。
VPN实例不仅可以将VPN私网路由与公网路由隔离,不同VPN实例的路由之间也是相互隔离的,这一特点使得VPN实例的使用不限于MCE。
描述信息用于描述VPN实例,可以用来记录VPN实例与某个VPN的关系等信息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VPN实例,并进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
缺省情况下,无VPN实例 |
配置VPN实例的RD |
route-distinguisher route-distinguisher |
缺省情况下,没有指定VPN实例的RD |
(可选)配置VPN实例的描述信息 |
description text |
缺省情况下,未配置VPN实例的描述信息 |
当在MCE设备上配置基于VPN实例的BGP协议时,VPN实例需配置RD后才会生效。
VPN实例配置完成后,还需要与连接站点和PE的接口进行关联。
表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地址。
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实例的Route Target |
配置VPN实例支持的最大路由数 |
routing-table limit number { warn-threshold | simply-alert } |
缺省情况下,未配置VPN实例支持的最大路由数 |
可以配置一个VPN实例可以支持的最大路由数,以防止PE路由器的入接口有过多的路由。
MCE可以看作一种通过路由隔离实现业务隔离的组网方案。配置MCE的关键为:
· 配置MCE与站点之间的路由交换
· 配置MCE与PE之间的路由交换
在配置MCE之前,需完成以下任务:
· 配置VPN实例,在MCE上将连接站点和PE的接口与VPN实例绑定
· 配置相关接口的链路层协议和网络层协议,保证路由可达
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 |
一个OSPF进程只能属于一个VPN实例。如果在启动OSPF进程时不绑定到VPN实例,则该进程属于公网进程。
通过在MCE上将OSPF进程与VPN实例绑定,可以使不同VPN内的私网路由通过不同的OSPF进程在Site和MCE间进行交互,保证了私网路由的隔离和安全。
表1-5 配置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 [ cost cost | type type | tag tag ] * |
缺省情况下,没有引入其他协议的路由信息 |
配置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”。
MCE与站点间使用EBGP交换路由信息时,需要在MCE上为每个VPN实例配置BGP对等体,并在站点上引入相应VPN内的IGP路由信息。
(1) MCE上的配置
表1-6 配置MCE使用EBGP进行路由交换
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,并进入BGP视图 |
bgp as-number |
缺省情况下,系统没有运行BGP |
进入BGP-VPN视图 |
ip vpn-instance vpn-instance-name |
- |
配置EBGP对等体或对等体组 |
peer { group-name | ip-address } [ as-number as-number ] |
缺省情况下,设备上不存在任何BGP对等体和对等体组 |
进入BGP-VPN IPv4单播实例视图 |
ipv4-family [ unicast ] |
- |
使能本地路由器与指定对等体交换IPv4单播路由信息的能力 |
peer { group-name | ip-address } enable |
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息 |
配置对于从对等体/对等体组接收的路由,允许本地AS号在接收路由的AS_PATH属性中出现,并配置允许出现的次数 |
peer { group-name | ip-address } allow-as-loop [ number ] |
缺省情况下,不允许本地AS号在接收路由的AS_PATH属性中出现 |
引入由PE发布的远端站点的路由 |
import-route protocol [ process-id | all-processes ] |
缺省情况下,BGP不会引入IGP路由协议的路由信息 |
· 通常情况下,BGP通过AS号检测路由环路。如果在MCE和Site之间运行EBGP,当MCE将路由信息通告给Site时带上本自治系统的AS号,再从Site接收路由更新时,路由更新消息中会带有本自治系统的AS号,这样MCE就不能接收这条路由更新信息,此时需要配置允许路由环路。
· 将OSPF路由引入到BGP时,该路由的原OSPF属性将无法恢复,造成该路由与从其他域引入的路由无法区分。为了区分原属于不同OSPF域的路由,在OSPF视图下需要通过domain-id命令配置OSPF进程的域ID(Domain ID)。OSPF进程的域ID包含在此进程生成的路由中,在将OSPF路由引入BGP中时,域ID被附加到BGP VPN路由上,作为BGP的扩展团体属性传递。
· 配置BGP VPN实例后,VPN实例中的BGP路由交换与普通的BGP相同。BGP协议的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“BGP”。
(2) 站点上的配置
表1-1 站点上的配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,并进入BGP视图 |
bgp as-number |
缺省情况下,系统没有运行BGP |
将MCE配置为EBGP对等体 |
peer { group-name | ip-address } as-number as-number |
缺省情况下,设备上不存在任何BGP对等体和对等体组 |
进入BGP IPv4单播实例视图 |
ipv4-family [ unicast ] |
- |
使能本地路由器与指定对等体交换IPv4单播路由信息的能力 |
peer { group-name | ip-address } enable |
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息 |
配置引入VPN内的IGP路由 |
import-route protocol [ process-id | all-processes ] |
缺省情况下,BGP不会引入IGP路由协议的路由信息 站点需要将自己所能到达的VPN网段地址发布给接入的MCE |
由于在MCE设备上已经将站点内的私网路由信息与VPN实例进行了绑定,因此,只需要在MCE与PE之间将接口与VPN实例进行绑定、进行简单的路由配置、并将MCE上维护的站点内的VPN路由引入到MCE-PE间的路由协议中,便可以实现私网VPN路由信息的传播。
表1-2 配置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 |
表1-3 配置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 [ cost cost | type type | tag tag ] * |
缺省情况下,没有引入其他协议的路由信息 |
(可选)配置引入外部路由时的参数缺省值(开销、标记、类型)(该配置仅连接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功能处于关闭状态 |
OSPF的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“OSPF”。
表1-4 配置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 } as-number as-number |
缺省情况下,设备上不存在任何BGP对等体和对等体组 |
进入BGP-VPN IPv4单播实例视图 |
ipv4-family [ unicast ] |
- |
使能本地路由器与指定对等体交换IPv4单播路由信息的能力 |
peer { group-name | ip-address } enable |
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息 |
引入站点内的VPN路由 |
import-route protocol [ process-id | all-processes ] |
缺省情况下,BGP不引入且不通告其它协议的路由 |
BGP的介绍和详细配置,请参见“三层技术-IP路由配置指导”中的“BGP”。
当BGP配置变化后,可以通过软复位或复位BGP连接使新的配置生效。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。
请在用户视图下进行下列操作。
操作 |
命令 |
软复位指定VPN实例的BGP连接 |
refresh bgp vpn-instance vpn-instance-name { ip-address | all | external | group group-name | internal } { export | import } |
复位指定VPN实例的BGP连接 |
reset bgp vpn-instance vpn-instance-name { as-number | ip-address | all | external | group group-name | internal } |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MCE的运行情况,通过查看显示信息验证配置的效果。
表1-6 显示MCE的运行状态
操作 |
命令 |
显示BGP对等体组的信息 |
display bgp vpnv4 vpn-instance vpn-instance-name group [ group-name ] |
显示BGP VPNv4对等体的信息 |
display bgp vpnv4 vpn-instance vpn-instance-name peer [ group-name log-info | ip-address { log-info | verbose } | verbose ] |
显示指定VPN实例的路由信息 |
display bgp vpnv4 vpn-instance vpn-instance-name routing-table [ network-address [ mask | mask-length ] [ advertise-info ] ] |
显示指定VPN实例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
有关查看路由表的命令介绍请参见“三层技术-IP路由命令参考”中的“IP路由基础命令”。
· 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内运行OSPF路由协议。
· 要求MCE设备能够将VPN之间的路由隔离,并通过OSPF将各VPN的路由发布到PE 1。
图1-4 MCE和PE间使用OSPF引入VPN路由组网示意图
为区分设备,假设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,将端口Ten-GigabitEthernet 1/0/1加入VLAN10,并创建Vlan-interface10接口。
[MCE] vlan 10
[MCE-vlan10] port Ten-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,将端口Ten-GigabitEthernet 1/0/2加入VLAN20,配置接口与VPN实例vpn2绑定并配置IP地址。
[MCE-Vlan-interface10] quit
[MCE] vlan 20
[MCE-vlan20] port Ten-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分别取值为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内未使用路由协议,因此可以使用静态路由进行配置。
# 配置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使用Ten-GigabitEthernet 1/0/3端口连接到PE 1的Ten-GigabitEthernet 1/0/1端口,需要配置这两个端口为Trunk端口,并允许VLAN 30和VLAN 40的报文携带Tag通过。
[MCE] interface Ten-GigabitEthernet 1/0/3
[MCE-Ten-GigabitEthernet 1/0/3] port link-type trunk
[MCE-Ten-GigabitEthernet 1/0/3] port trunk permit vlan 30 40
[MCE-Ten-GigabitEthernet 1/0/3] quit
# 配置PE 1的Ten-GigabitEthernet 1/0/1端口。
[PE1] interface Ten-GigabitEthernet 1/0/1
[PE1-Ten-GigabitEthernet 1/0/1] port link-type trunk
[PE1-Ten-GigabitEthernet 1/0/1] port trunk permit vlan 30 40
[PE1-Ten-GigabitEthernet 1/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,域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
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
可以看到,VPN 1内的静态路由已经引入到MCE与PE 1间的OSPF路由表中。
MCE与PE 1间配置OSPF进程20,导入VPN实例vpn2的路由信息的过程与上面介绍的配置基本一致,不同的是在MCE的OSPF中配置导入的是OSPF进程20的路由,这里不再赘述,只以显示信息为例表示导入成功后的结果。
[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中,配置完成。
· 使用本系列交换机作为MCE设备,将VPN 1和VPN 2内的私网路由发布到PE 1,使MPLS骨干网络两端的VPN能够正常通信。
· VPN 1和 VPN 2内部均使用OSPF协议,MCE与PE 1间使用EBGP协议。
图1-5 MCE和PE间使用BGP引入VPN路由组网示意图
(1) VPN实例配置
# 在MCE和PE 1上创建VPN实例,并与接口绑定的配置与“1.5.1 MCE和PE间使用OSPF引入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端口进行连接,配置与“MCE和PE间使用OSPF引入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] ipv4-family
[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] ipv4-family
[PE1-bgp-ipv4-vpn1] peer 30.1.1.1 enable
[PE1-bgp-ipv4-vpn1] quit
[PE1-bgp-vpn1] quit
[PE1-bgp] quit
# 显示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
# 对于VPN 2,在MCE和PE 1上进行类似的配置,将VPN实例vpn2的OSPF路由信息引入到EBGP路由中。这里不再叙述配置过程,直接显示配置结果。
[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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!