MCE简介MCE(Multi-VPN-Instance CE)是指具备多VPN实例功能的CE。
BGP/MPLS IP VPN简介BGP/MPLS IP VPN是一种L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服务提供商骨干网上发布VPN路由,使用MPLS(Multiprotocol Label Switch)在服务提供商骨干网上转发VPN报文。这里的IP是指VPN承载的是IP报文。
BGP/MPLS IP VPN的基本模型如图7-1所示。
图7-1 BGP/MPLS IP VPN模型
BGP/MPLS IP VPN的基本模型由三部分组成:CE、PE和P。
CE(Customer Edge):用户网络边缘设备,有接口直接与服务提供商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE(Provider Edge):是服务提供商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高。
P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。
PE和P设备仅由服务提供商管理;CE设备仅由用户管理,除非用户把管理权委托给服务提供商。
一台PE设备可以接入多台CE设备。一台CE设备也可以连接属于相同或不同服务提供商的多台PE设备。
BGP/MPLS IP VPN基本概念- Site在介绍VPN时经常会提到“Site”,Site(站点)的含义可以从下述几个方面理解:
Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过运营商网络实现。
Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻。
一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN。
Site通过CE连接到运营商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
对于多个连接到同一运营商网络的Site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Site之间才能通过运营商网络互访,这种集合就是VPN。
地址空间重叠
VPN是一种私有网络,不同的VPN独立管理自己的地址范围,也称为地址空间(address space)。
不同VPN的地址空间可能会在一定范围内重合,例如,VPN1和VPN2都使用10.110.10.0/24网段地址,这就发生了地址空间的重叠(address spaces overlapping)。
VPN实例
在BGP/MPLS IP VPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。
PE为每个直接相连的Site建立并维护专门的VPN实例,VPN实例中包含对应Site的VPN成员关系和路由规则。具体来说,VPN实例中的信息包括:IP路由表、标签转发表、与VPN实例绑定的接口以及VPN实例的管理信息。VPN实例的管理信息包括RD(Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表等。
图7-2 VPN实例示意图
RD和VPN-IPv4地址
传统BGP无法正确处理地址空间重叠的VPN的路由。假设VPN1和VPN2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由。虽然本端PE通过不同的VPN实例可以区分地址空间重叠的VPN的路由,但是这些路由发往对端PE后,由于不同VPN的路由之间不进行负载分担,因此对端PE将根据BGP选路规则只选择其中一条VPN路由,从而导致去往另一个VPN的路由丢失。
PE之间使用MP-BGP来发布VPN路由,并使用VPN-IPv4地址来解决上述问题。
VPN-IPv4地址共有12个字节,包括8字节的路由标识符RD(Route Distinguisher)和4字节的IPv4地址前缀,如图7-3所示。
图7-3 VPN-IPv4地址结构
RD用于区分使用相同地址空间的IPv4前缀,增加了RD的IPv4地址称为VPN-IPv4地址(即VPNv4地址)。PE从CE接收到IPv4路由后,转换为全局唯一的VPN-IPv4路由,并在公网上发布。
RD的结构使得每个服务供应商可以独立地分配RD,但为了在CE双归属的情况下保证路由正常,必须保证PE上的RD全局唯一。
VPN Target
BGP/MPLS IP VPN使用32位的BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布。
每个VPN实例关联一个或多个VPN Target属性。有两类VPN Target属性:
- Export Target:本地PE从直接相连Site学到IPv4路由后,转换为VPN-IPv4路由,并为这些路由设置Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布。
- Import Target:PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例中。
在BGP/MPLS IP VPN网络中,通过VPN Target属性来控制VPN路由信息在各Site之间的发布和接收。VPN Export Target和Import Target的设置相互独立,并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。
例如:某VPN实例的Import Target包含100:1、200:1和300:1,当收到的路由信息的Export Target为100:1、200:1、300:1中的任意值时,都可以被注入到该VPN实例中。
MCE简介BGP/MPLS IP VPN以隧道的方式解决了在公网中传送私网数据的问题,但传统的BGP/MPLS IP VPN架构要求每个VPN实例单独使用一个CE与PE相连,如图7-1所示。
随着用户业务的不断细化和安全需求的提高,很多情况下一个私有网络内的用户需要划分成多个VPN,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将加大用户的设备开支和维护成本;而多个VPN共用一台CE,使用同一个路由转发表,又无法保证数据的安全性。
使用MCE技术,可以有效解决多VPN网络带来的数据安全与网络成本之间的矛盾。如图7-4所示。
图7-4 部署MCE后的组网
MCE将PE的部分功能扩展到CE设备,通过将不同的接口与VPN绑定,并为每个VPN创建和维护独立的路由转发表(Multi-VRF)。这样不但能够隔离私网内不同VPN的报文转发路径,而且通过与PE间的配合,也能够将每个VPN的路由正确发布至对端PE,保证VPN报文在公网内的传输。
配置VPN实例
背景信息在MCE设备上进行以下配置。
在PE设备上也需要进行类似配置,但由于设备厂家、型号不同,配置命令和方法可能不完全相同,具体的配置方法请参见对应产品的手册。
操作步骤- 创建VPN实例
- 执行命令system-view,进入系统视图。
- 执行命令ip vpn-instance vpn-instance-name,创建VPN实例,并进入VPN实例视图。
VPN实例的名字区分大小写。例如,“vpn1”和“VPN1”将被认为是不同的VPN实例。
- (可选)执行命令description description-information,配置VPN实例的描述信息。
描述信息的作用类似于主机名和接口描述信息,可以方便用户记忆VPN实例的创建信息。
- (可选)执行命令service-id service-id,配置VPN实例的业务标识值。
业务标识值用来区分不同的VPN服务,以方便网管查询,在同一台设备上具有唯一性。
- 执行命令ipv4-family,使能VPN实例IPv4地址族,并进入VPN实例IPv4地址族视图。
- 执行命令route-distinguisher route-distinguisher,配置VPN实例IPv4地址族的RD。
VPN实例IPv4地址族只有配置了RD后才生效。同一PE上的不同VPN实例IPv4地址族下的RD不能相同。
- (可选)执行命令vpn-target vpn-target &<1-8> [ both | export-extcommunity | import-extcommunity ],为VPN实例IPv4地址族配置VPN-target扩展团体属性。
VPN Target是BGP的扩展团体属性,用来控制VPN路由信息的接收和发布。一条vpn-target命令最多可以配置8个VPN Target。
当MCE连接的不同VPN站点有互访需求时,可以配置VPN Target实现私网路由的交叉。如果VPN站点间没有互访需求,则MCE上不需要配置VPN Target。
- (可选)限制VPN路由转发表规模。
为防止PE设备从CE和对端PE引入的路由数量过多,可以配置一个VPN实例能够支持的最大路由数或最大路由前缀数。建议二者只选其中之一配置。
缺省情况下无限制,路由数不超过设备支持的单播路由总数即可。
- 执行命令routing-table limit number { alert-percent | simply-alert },配置VPN实例IPv4地址族的最大路由数。
配置了routing-table limit命令,当注入到VPN实例IPv4地址族路由表的路由超限时,系统会给出提示信息。执行routing-table limit命令增大VPN实例IPv4地址族下支持的最大路由数或者执行undo routing-table limit命令取消路由表限制后,对于这些超限的路由,系统将重新从各个协议路由表接收路由,构建私网IP路由表。
- 执行命令prefix limit number { alert-percent [ route-unchanged ] | simply-alert },配置VPN实例IPv4地址族的最大路由前缀数。
配置了prefix limit命令,当注入到VPN实例IPv4地址族路由表的路由前缀超限时,系统会给出提示信息。执行prefix limit命令增大VPN实例IPv4地址族下支持的最大路由数或者执行undo prefix limit命令取消路由表限制后,对于这些超限的路由前缀,系统将重新从各个协议路由表接收路由,构建私网IP路由表。
当路由前缀超限时,直连路由和静态路由依然可以被添加到VPN实例IPv4地址族路由表中。
- (可选)执行命令limit-log-interval interval,配置VPN实例IPv4地址族的路由超出限制后输出日志的频率。
缺省值为5秒。
- (可选)配置VPN实例的路由策略。
在通过VPN Target属性控制VPN路由收发的同时,如果需要更精确地控制VPN路由,还可以配置VPN实例的路由策略。- 入方向路由策略可以过滤引入到VPN实例IPv4地址族的路由信息。
- 出方向路由策略则可以进一步过滤可发布给其他PE的路由。
为VPN实例配置路由策略之前必须已经创建了路由策略。有关路由策略的详细配置,请参见《Huawei AR系列物联网关 配置指南 IP路由》中的“路由策略配置”。
请根据需求,选择如下配置。- 执行命令import route-policy policy-name,配置VPN实例IPv4地址族入方向路由策略。
- 执行命令export route-policy policy-name,配置VPN实例IPv4地址族出方向路由策略。
- 配置VPN实例与接口绑定