05-MPLS L3VPN配置
本章节下载 (1.23 MB)
& 说明:
l 路由交换机在运行MPLS功能时,它将同时具备路由器的功能。文中所述的路由器代表了一般意义下的路由器以及运行了MPLS的三层以太网交换机。
l 本章只涉及MPLS L3VPN的介绍和配置,有关MPLS基本配置、BGP协议和VPN等的介绍和配置请参见相关分册。
l 对S9500系列路由交换机而言,只有后缀为C、CA、CB的接口板和VPLS业务处理板支持MPLS功能,其他单板不支持MPLS。如果用户需要启用S9500系列交换机的MPLS VPN功能,需要配置支持MPLS的接口板或VPLS业务处理板。单板后缀可以通过单板前面板右上角的丝印来辨别。如LSB1P4G8CA0单板的丝印为:P4G8CA,此单板后缀为CA。
MPLS L3VPN是服务提供商VPN解决方案中一种基于PE的L3VPN技术,它使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。
MPLS L3VPN组网方式灵活、可扩展性好,并能够方便地支持MPLS QoS和MPLS TE,因此得到越来越多的应用。
MPLS L3VPN模型由三部分组成:CE、PE和P。
l CE(Customer Edge)设备:用户网络边缘设备,有接口直接与SP(Service Provider,服务提供商)相连。CE可以是路由器或交换机,也可以是一台主机。CE“感知”不到VPN的存在,也不需要必须支持MPLS。
l PE(Provider Edge)设备:服务提供商边缘设备,与用户的CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上。
l P(Provider)设备:服务提供商网络中的骨干设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力。
图1-1是一个MPLS L3VPN组网方案的示意图。
CE和PE的划分主要是根据SP与用户的管理范围,CE和PE是两者管理范围的边界。
当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。
在介绍VPN时经常会提到“Site”,Site(站点)的含义可以从下述几个方面理解:
l Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现;
l Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻;
l 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN;
l Site通过CE连接到服务提供商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
对于多个连接到同一服务提供商网络的Sites,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Sites之间才能通过服务提供商网络互访,这种集合就是VPN。
VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(Address Space)。
不同VPN的地址空间可能会在一定范围内重合,比如,VPN1和VPN2都使用了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的路由。假设VPN1和VPN2都使用了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字段区分:
l Type为0时,Administrator子字段占2字节,Assigned number子字段占4字节,格式为:16bits自治系统号:32bits用户自定义数字,例如:100:1。
l Type为1时,Administrator子字段占4字节,Assigned number子字段占2字节,格式为:32bitsIPv4地址:16bits用户自定义数字,例如:172.1.1.1:1。
为保证RD的全局唯一性,建议不要将Administrator子字段的值设置为私有AS号或私有IP地址。
MPLS L3VPN使用BGP扩展团体属性——VPN Target(也称为Route Target)来控制VPN路由信息的发布。
PE设备上的VPN实例有两类VPN Target属性:
l Export Target属性:本地PE在把从与自己直接相连的Site学到的VPN-IPv4路由发布给其它PE前,为这些路由设置Export Target属性;
l Import Target属性:PE在接收到其它PE设备发布的VPN-IPv4路由时,检查其Export Target属性,只有当此属性与PE上VPN实例的Import Target属性匹配时,才把路由加入到相应的VPN路由表中。
也就是说,VPN Target属性定义了一条VPN-IPv4路由可以为哪些Site所接收,PE设备可以接收哪些Site发送来的路由。
与RD类似,VPN Target也有两种格式:
l 16bits自治系统号:32bits用户自定义数字,例如:100:1。
l 32bits IPv4地址:16bits用户自定义数字,例如:172.1.1.1:1。
MP-BGP(Multiprotocol extensions for BGP-4)在PE设备之间传播VPN组成信息和路由。MP-BGP向下兼容,既可以支持传统的IPv4地址族,又可以支持其他地址族(比如VPN-IPv4地址族)。使用MP-BGP确保VPN的私网路由只在VPN内发布,并实现MPLS VPN成员间的通信。
在通过入口、出口扩展团体来控制VPN路由发布的基础上,如果需要更精确地控制VPN路由的引入和发布,可以使用入方向或出方向路由策略。
入方向路由策略根据路由的VPN Target属性进一步过滤可引入到VPN实例的路由,它可以拒绝接收引入列表中的团体选定的路由,而出方向路由策略则可以拒绝发布输出列表中的团体选定的路由。
VPN实例创建完成后,可以选择是否需要配置入方向或出方向路由策略。
隧道策略用于选择给特定VPN实例的报文使用的隧道。
隧道策略是可选配的,VPN实例创建完成后,就可以配置隧道策略。缺省情况下,选择LSP做为隧道,不进行负载分担(负载分担条数为1)。另外,隧道策略只在同一AS域内生效。
在基本MPLS L3VPN应用中(不包括跨域的情况),VPN报文转发采用两层标签方式:
l 第一层(外层)标签在骨干网内部进行交换,指示从PE到对端PE的一条LSP。VPN报文利用这层标签,可以沿LSP到达对端PE;
l 第二层(内层)标签在从对端PE到达CE时使用,指示报文应被送到哪个Site,或者更具体一些,到达哪一个CE。这样,对端PE根据内层标签可以找到转发报文的接口。
特殊情况下,属于同一个VPN的两个Site连接到同一个PE,这种情况下只需要知道如何到达对端CE。
以图1-3为例,说明VPN报文的转发:
图1-3 VPN报文转发示意图
l Site1发出一个目的地址为1.1.1.2的IP报文,由CE1将报文发送至PE1。
l PE1根据报文到达的接口及目的地址查找VPN-instance表项,匹配后将报文转发出去,同时打上内层和外层两个标签。
l MPLS网络利用报文的外层标签,将报文传送到PE2(报文在到达PE2前一跳时已经被剥离外层标签,仅含内层标签)。
l PE2根据内层标签和目的地址查找VPN-instance表项,确定报文的出接口,将报文转发至CE2。
l CE2根据正常的IP转发过程将报文传送到目的地。
在MPLS L3VPN网络中,通过VPN Target属性来控制VPN路由信息在各Site之间的发布和接收。VPN Export Target和Import Target的设置相互独立,并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。
最简单的情况下,一个VPN中的所有用户形成闭合用户群,相互之间能够进行流量转发,VPN中的用户不能与任何本VPN以外的用户通信。
对于这种组网,需要为每个VPN分配一个VPN Target,作为该VPN的Export Target和Import Target,并且,此VPN Target不能被其他VPN使用。
图1-4 基本的VPN组网方案
在图1-4中,PE上为VPN1分配的VPN Target值为100:1,为VPN2分配的VPN Target值为200:1。VPN1的两个Site之间可以互访,VPN2的两个Site之间也可以互访,但VPN1和VPN2的Site之间不能互访。
如果希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,可以使用Hub&Spoke组网方案,从而实现中心设备对两端设备之间的互访进行监控和过滤等功能。
对于这种组网,需要设置两个VPN Target,一个表示“Hub”,另一个表示“Spoke”。
各Site在PE上的VPN实例的VPN Target设置规则为:
l 连接Spoke站点的(Site1和Site2):Export Target为“Spoke”,Import Target为“Hub”;
l 连接Hub站点的(Site3):Hub-PE上需要使用两个VLAN接口,一个用于接收Spoke-PE发来的路由,其VPN实例的Import Target为“Spoke”;另一个用于向Spoke-PE发布路由,其VPN实例的Export Target为“Hub”。
图1-5 Hub&Spoke组网方案
在图1-5中,Spoke站点之间的通信通过Hub站点进行(图中箭头所示为Site2的路由向Site1的发布过程):
l Hub-PE能够接收所有Spoke-PE发布的VPN-IPv4路由;
l Hub-PE发布的VPN-IPv4路由能够为所有Spoke-PE接收;
l Hub-PE将从Spoke-PE学到的路由发布给其他Spoke-PE,因此,Spoke站点之间可以通过Hub站点互访;
l 任意Spoke-PE的Import Target属性不与其它Spoke-PE的Export Target属性相同。因此,任意两个Spoke-PE之间不直接发布VPN-IPv4路由,Spoke站点之间不能直接互访。
如果一个VPN用户希望提供部分本VPN的站点资源给非本VPN的用户访问,可以使用Extranet组网方案。
对于这种组网,如果某个VPN需要访问共享站点,则该VPN的Export Target必须包含在共享站点的VPN实例的Import Target中,而其Import Target必须包含在共享站点VPN实例的Export Target中。
图1-6 Extranet组网方案
在图1-6中,VPN1的Site3能够被VPN1和VPN2访问:
l PE 3能够接受PE1和PE2发布的VPN-IPv4路由;
l PE 3发布的VPN-IPv4路由能够为PE 1和PE 2接受;
l 基于以上两点,VPN 1的Site 1和Site 3之间能够互访,VPN 2的Site 2和VPN 1的Site 3之间能够互访;
PE 3不把从PE 1接收的VPN-IPv4路由发布给PE 2,也不把从PE 2接收的VPN-IPv4路由发布给PE 1(IBGP邻居学来的条目是不会再发送给别的IBGP邻居),因此,VPN 1的Site 1和VPN 2的Site 2之间不能互访。
在基本MPLS L3VPN组网中,VPN路由信息的发布涉及CE和PE,P设备只维护骨干网的路由,不需要了解任何VPN路由信息。PE设备也只维护与它直接相连的VPN的路由信息,不维护所有VPN路由。因此,MPLS L3VPN网络具有良好的可扩展性。
VPN路由信息的发布过程包括三部分:本地CE到入口PE、入口PE到出口PE、出口PE到远端CE。完成这三部分后,本地CE与远端CE之间将建立可达路由,VPN私网路由信息能够在骨干网上发布。
下面分别对这三部分进行介绍。
CE与直接相连的PE建立邻接关系后,把本站点的VPN路由发布给PE。
CE与PE之间可以使用静态路由、RIP、OSPF、IS-IS或EBGP。无论使用哪种路由协议,CE发布给PE的都是标准的IPv4路由。
PE从CE学到VPN路由信息后,为这些标准IPv4路由增加RD和VPN Target属性,形成VPN-IPv4路由,存放到为CE创建的VPN实例中。
入口PE通过MP-BGP把VPN-IPv4路由发布给出口PE。出口PE根据VPN-IPv4路由的Export Target属性与自己维护的VPN实例的Import Target,决定是否将该路由加入到VPN实例的路由表。
PE之间通过IGP来保证内部的连通性。
远端CE有多种方式可以从出口PE学习VPN路由,包括静态路由、RIP、OSPF、IS-IS和EBGP,与本地CE到入口PE的路由信息交换相同。
MPLS L3VPN服务提供商的用户可能也是一个服务提供商。这种情况下,前者称为提供商运营商(Provider Carrier)或一级运营商(First Carrier),后者称为客户运营商(Customer Carrier)或二级运营商(Second Carrier)。这种组网模型称为运营商的运营商(Carriers’carriers),低级别的SP作为更高级别SP的CE。
为保持良好的可扩展性,一级运营商并不引入二级运营商的外部路由,只引入为不同站点的二级运营商交换报文的路由。二级运营商维护的外部路由通过在相关二级运营商设备间建立BGP会话交换。这可以大大减少一级运营商网络中需要维护的路由数量。
与普通MPLS L3VPN相比,配置运营商的运营商的主要区别在于一级运营商PE接入二级运营商CE这一部分:
l 如果一级运营商PE与二级运营商CE位于同一个AS内,则它们之间配置IGP和LDP;
l 如果一级运营商PE与二级运营商CE位于不同的AS,则它们之间配置MP-EBGP。MP-EBGP为PE与CE之间的交换路由分配标签。
无论哪种情况,CE上都需要使能MPLS。并且,CE上虽然有二级运营商的VPN路由,但它们并不把这些路由发布给一级运营商的PE,只在二级运营商PE之间交换。
二级运营商可能只是普通ISP,也可能是MPLS L3VPN服务提供商。
二级运营商是普通ISP时,其PE不需要运行MPLS,与CE之间运行IGP。PE 3和PE 4之间通过IBGP会话交换二级运营商的VPN路由。如图1-7所示。
二级运营商是MPLS L3VPN服务提供商时,其PE也需要运行MPLS,与CE之间运行IGP和LDP。PE 3和PE 4之间通过MP-IBGP会话交换二级运营商的VPN路由。如图1-8所示。
& 说明:
在S9500系列路由交换机上,后缀为C的接口板不支持运营商的运营商。
实际组网应用中,某用户一个VPN的多个Site可能会连接到使用不同AS号的多个服务提供商,或者连接到一个服务提供商的多个AS。这种VPN跨越多个自治系统的应用方式被称为跨域VPN(Multi-AS VPN)。
RFC 2547bis中提出了三种跨域VPN解决方案,分别是:
l VRF-to-VRF:ASBR间使用VLAN接口管理VPN路由,也称为Inter-Provider Option A;
l EBGP Redistribution of labeled VPN-IPv4 routes:ASBR间通过MP-EBGP发布标签VPN-IPv4路由,也称为Inter-Provider Option B;
l Multihop EBGP redistribution of labeled VPN-IPv4 routes:PE间通过MP-EBGP发布标签VPN-IPv4路由,也称为Inter-Provider Option C。
下面逐一对这些方案进行介绍。
这种方式下,两个AS的PE设备直接相连,PE设备同时也是各自所在自治系统的ASBR。
作为ASBR的PE之间通过多个VLAN接口相连,两个PE都把对方作为自己的CE设备对待,使用传统的EBGP方式向对端发布IPv4路由。报文在AS内部作为VPN报文,采用两层标签转发方式;在ASBR之间则采用普通IP转发方式。
理想情况下,每个跨域的VPN都有一对VLAN接口与之对应,用来交换VPN路由信息。
图1-9 ASBR间使用VLAN接口管理VPN路由组网图
使用VLAN接口实现跨域VPN的优点是实现简单:两个作为ASBR的PE之间不需要为跨域进行特殊配置。
缺点是可扩展性差:作为ASBR的PE需要管理所有VPN路由,为每个VPN创建VPN实例。这将导致PE上的VPN-IPv4路由数量过于庞大。并且,为每个VPN单独创建VLAN接口也提高了对PE设备的要求。
这种方式下,两个ASBR通过MP-EBGP交换它们从各自AS的PE设备接收的标签VPN-IPv4路由。
路由发布过程可分为以下步骤:
(1) AS100内的PE先通过MP-IBGP方式把标签VPN-IPv4路由发布给AS100的ASBR PE,或发布给为ASBR PE反射路由的路由反射器;
(2) 作为ASBR的PE通过MP-EBGP方式把标签VPN-IPv4路由发布给AS200的PE(也是AS200的ASBR);
(3) AS200的ASBR PE再通过MP-IBGP方式把标签VPN-IPv4路由发布给AS200内的PE,或发布给为PE反射路由的路由反射器。
这种方式的ASBR需要对标签VPN-IPv4路由进行特殊处理,因此也称为ASBR扩展方式。
图1-10 ASBR间通过MP-EBGP发布标签VPN-IPv4路由组网图
在可扩展性方面,通过MP-EBGP发布标签VPN-IPv4路由优于ASBR间通过VLAN接口管理VPN。
采用MP-EBGP方式时,需要注意:
l ASBR之间不对接收的VPN-IPv4路由进行VPN Target过滤,因此,交换VPN-IPv4路由的各AS服务提供商之间需要就这种路由交换达成信任协议;
l VPN-IPv4路由交换仅发生在私网对等点之间,不能与公网交换VPN-IPv4路由,也不能与没有达成信任协议的MP-EBGP对等体交换VPN-IPv4路由。
前面介绍的两种方式都能够满足跨域VPN的组网需求,但这两种方式也都需要ASBR参与VPN-IPv4路由的维护和发布。当每个AS都有大量的VPN路由需要交换时,ASBR就很可能成为阻碍网络进一步扩展的瓶颈。
解决上述可扩展性问题的方案是:ASBR不维护或发布VPN-IPv4路由,PE之间直接交换VPN-IPv4路由。
两个ASBR通过MP-IBGP向各自AS内的PE设备发布标签IPv4路由。
ASBR上不保存VPN-IPv4路由,相互之间也不通告VPN-IPv4路由。
ASBR保存AS内PE的带标签的IPv4路由,并通告给其它AS的对等体。自治系统中的ASBR也通告带标签的IPv4路由。这样,在入口PE和出口PE之间建立起一条LSP。
不同AS的PE之间建立Multihop方式的EBGP连接,交换VPN-IPv4路由。
图1-11 PE间通过Multi-hop MP-EBGP发布标签VPN-IPv4路由组网图
为提高可扩展性,可以在每个AS中指定一个路由反射器RR(Route Reflector),由RR保存所有VPN-IPv4路由,与AS的PE交换VPN-IPv4路由信息。两个AS的RR之间建立跨域VPNv4连接,通告VPN-IPv4路由。如图1-12所示。
图1-12 采用RR的跨域VPN OptionC方式组网图
(1) 分层模型与平面模型
在MPLS L3VPN解决方案中,PE设备最为关键,它完成两方面的功能:首先是为用户提供接入功能,这需要PE具有大量接口;然后是管理和发布VPN路由,处理用户报文,这需要PE设备具有大容量存储和高转发能力。
目前的网络设计大多采用经典的分层结构,例如,城域网的典型结构是三层模型:核心层、汇聚层、接入层。从核心层到接入层,对设备的性能要求依次下降,网络的规模则依次扩大。
而MPLS L3VPN是一种平面模型,对网络中所有PE设备的性能要求相同,当网络中某些PE在性能和可扩展性方面存在问题时,整个网络的性能和可扩展性将受到影响。
由于MPLS L3VPN的平面模型与典型的分层网络模型不相符,在每一个层次上部署PE都会遇到扩展性问题,不利于大规模部署VPN。
(2) HoVPN
为解决可扩展性问题,MPLS L3VPN必然要从平面模型转变为分层模型。
在MPLS L3VPN领域,分层VPN(Hierarchy of VPN,简称HoVPN)解决方案的提出,实现了将PE的功能分布到多个PE设备上,多个PE承担不同的角色,并形成层次结构,共同完成一个PE的功能。
HoVPN对处于较高层次的设备的路由能力和转发性能要求较高,而对处于较低层次的设备的相应要求也较低,符合典型的分层网络模型。
(1) HoVPN的基本结构
图1-13 HoVPN的基本结构
在图1-13中,直接连结用户的设备称为下层PE(Underlayer PE)或用户侧PE(User-end PE),简写为UPE;连结UPE并位于网络内部的设备称为上层PE(Superstratum PE)或运营商侧PE(Sevice Provider-end PE),简写为SPE。
多个UPE与SPE构成分层式PE,共同完成传统上一个PE的功能。
& 说明:
HoVPN把PE的功能分层实现,因此,这种解决方案有时也被称为分层PE(Hiberarchy of PE,HoPE)。
SPE与UPE的分工是:
l UPE主要完成用户接入功能。UPE维护其直接相连的VPN Site的路由,但不维护VPN中其它远程Site的路由或仅维护它们的聚合路由;UPE为其直接相连的Site的路由分配内层标签,并通过MP-BGP随VPN路由发布此标签给SPE;
l SPE主要完成VPN路由的管理和发布。SPE维护其通过UPE连接的VPN所有路由,包括本地和远程Site的路由,但SPE不发布远程Site的路由给UPE,只发布VPN实例的缺省路由(或聚合路由)给UPE,并携带标签。
由于分工的不同,对SPE和UPE的要求也不同:SPE的路由表容量大,转发性能强,但接口资源较少;UPE的路由容量和转发性能较低,但接入能力强。HoVPN充分利用了SPE的性能和UPE的接入能力。
需要说明的是,SPE和UPE是相对的概念。在多个层次的PE结构中,上层PE相对于下层就是SPE,下层PE相对于上层就是UPE。
分层式PE从外部来看同传统上的PE没有区别,可以同普通PE共存于一个MPLS网络。
(2) SPE-UPE
SPE和UPE之间运行MP-BGP,可以是MP-IBGP,也可以是MP-EBGP,这取决于UPE和SPE是否属于同一个AS。
采用MP-IBGP时,为了在IBGP对等体之间通告路由,SPE将作为路由反射器,把来自IBGP对等体UPE的VPN路由发布给IBGP对等体SPE,但SPE不作为其它PE的路由反射器。
(3) HoVPN的嵌套与扩展
HoVPN支持分层式PE的嵌套:
l 一个分层式PE可以作为UPE,同另一个SPE组成新的分层式PE;
l 一个分层式PE可以作为SPE,同多个UPE组成新的分层式PE;
l 以上这种嵌套可以多次进行。
通过分层式PE的嵌套,理论上可以将VPN无限扩展与延伸。
图1-14 分层式PE的嵌套
图1-14是一个三层的分层式PE,称中间的PE为MPE(Middle-level PE)。SPE和MPE之间,以及MPE和UPE之间,均运行MP-BGP。
& 说明:
“MPE”这种说法只是为了表述方便,在HoVPN模型中并没有MPE。
MP-BGP为上层PE发布下层PE上的所有VPN路由,但只为下层PE发布上层PE的VPN实例缺省路由。
SPE维护了这个分层式PE接入的所有Site的VPN路由,路由数目最多;UPE只维护它所直接连接的Site的VPN路由,路由数目最少;MPE的路由数目介于SPE和UPE之间。
& 说明:
本节重点介绍OSPF对VPN的扩展,如果需要了解OSPF的基本知识,请参见“OSPF配置”。
OSPF是应用广泛的一种IGP协议,很多情况下,VPN客户端通过BGP对等体连接,客户端内部则经常以OSPF作为内部路由协议。如果能够在PE-CE之间使用OSPF,则CE上就不需要再为到PE的连接支持其它路由协议,从而简化CE的管理和配置。并且,如果客户需要通过传统的OSPF骨干区域提供MPLS L3VPN服务,在PE和CE之间使用OSPF可以简化这种转换。
为了在PE-CE间运行OSPF,PE必须支持OSPF多实例,每个OSPF实例与一个VPN实例对应,使用自己的接口、路由表。
下面具体介绍在PE-CE间配置OSPF需要了解的知识。
(1) PE和CE间的OSPF区域配置
PE与CE之间的OSPF区域可以是非骨干区域,也可以是骨干区域。
在OSPF VPN扩展应用中,MPLS VPN骨干网被看作是骨干区域area 0。由于OSPF要求骨干区域连续,因此,所有VPN站点的area 0必须与MPLS VPN骨干网相连。
即:如果VPN站点存在OSPF area 0,则CE接入的PE必须通过area 0与这个VPN站点的骨干区域相连(可以通过Virtual-link实现逻辑上的连通)。
(2) BGP/OSPF交互
在PE-CE间运行OSPF后,PE与PE通过BGP发布VPN路由,PE通过OSPF向CE发布VPN路由。
对于普通OSPF,即使两个不同站点属于同一VPN,它们也会被看作属于不同的自治系统。这样,在一个站点学到的路由,将被作为外部路由传送给另一站点。这种处理方式导致了比较高的OSPF路由协议流量,并带来了一些原本可以避免的网络管理问题。
目前的OSPF可以解决上述问题。通过适当配置,运行OSPF的不同站点之间彼此看做是直接相连的。这样,PE设备交换OSPF路由信息时就好象是通过一条专线相连。改善了网络管理并使OSPF的应用更为有效。
以图1-15为例,PE 1和PE 2通过MPLS骨干网相连,CE 11、CE 21和CE 22都属于VPN 1。假设图中所有设备属于同一个域,即,CE 11、CE 21、CE 22属于同一个OSPF域(OSPF domain)。
VPN1路由的发布过程可以描述为:首先在PE 1上将CE 11的OSPF路由引入BGP;然后通过BGP将这些VPN路由发布给PE 2;在PE 2上将BGP的VPN路由引入到OSPF,再发布给CE 21和CE 22。
图1-15 OSPF在VPN中的使用
如果使用标准的BGP/OSPF交互过程,PE 2将把BGP VPN路由通过Type5 LSAs (ASE LSAs)发布给CE 21和CE 22。但CE 11与CE 21、CE 22是同一个OSPF域,它们之间的路由发布应该使用Type3 LSAs,即区域间路由。
为了解决上述问题,PE使用一种经过修改的BGP/OSPF交互过程(简称为BGP/OSPF互操作功能),发布从一个Site到另一个Site的路由,将这种路由与真正的AS-External路由进行区分。这一过程需要BGP使用扩展团体属性,携带可以标识OSPF属性的信息。
在实现中,要求每个OSPF域有一个可配置的域ID(Domain ID)。一般建议:与每个VPN实例相关的网络中的所有OSPF实例要么配置一个相同的域ID,要么都使用缺省的域ID。这样在收到BGP的VPN路由时,域ID相同的是来自同一VPN实例的路由。
(3) 路由环的检测
假设PE与CE之间通过OSPF骨干区域相连,且同一个VPN站点(Site)连接到多个不同PE。这种情况下,当一个PE通过LSA向VPN站点发布从MPLS/BGP学的BGP VPN路由时,LSA可能被另一个PE接收到,造成路由环。
为了防止产生路由环,对于从MPLS/BGP学到的BGP VPN路由,无论PE与CE间是否通过OSPF骨干区域相连,PE在生成Type3 LSA时,都会设置标志位DN。PE设备的OSPF进程在进行路由计算时,忽略DN置位的Type3 LSAs。
如果PE需要向CE发布一条来自其它OSPF域的路由,则PE应表明自己是ASBR,并将该路由作为Type5 LSA发布。
通常情况下,BGP对等体之间通过BGP扩展团体属性在MPLS VPN骨干网上承载路由信息。另一端PE上运行的OSPF可利用这些信息来生成PE到CE的Type3 summary LSA,这些路由是区域间路由。
如图1-16所示:在OSPF的PE-CE连接中,同一个OSPF区域中有两个Site连接到不同的PE,两个Site属于同一个VPN,它们之间存在一条区域内OSPF链路(backdoor link)。这种情况下,通过PE连接两个Site的路由将作为区域间路由(Inter-Area Route),由于其优先级低于经过backdoor链路的区域内路由(Intra-Area Route),不会被OSPF优选。
图1-16 Sham-link应用示意图
上述情况导致VPN流量总是通过后门路由转发,而不走骨干网。为了避免这一问题,可以在PE设备之间建立OSPF伪连接(Sham-link),使经过MPLS VPN骨干网的路由也成为OSPF区域内路由。
Sham-link作为区域内的一条点到点链路,包含在Type1 LSA中发布。用户可以通过调整度量值在Sham-link和backdoor之间进行选路。
Sham-link被看成是两个VPN实例之间的链路,每个VPN实例中必须有一个Sham-link的端点地址,它是PE设备上VPN地址空间中的一个有32位掩码的Loopback接口地址。同一个OSPF进程的Sham-link可以共用端点地址,但不同OSPF进程不能拥有两条端点地址完全相同的Sham-link。
Sham-link的端点地址被BGP作为VPN-IPv4地址发布。如果路由经过了Sham-link,它就不能再以VPN-IPv4路由的形式被引入到BGP。
Sham-link可以在任何区域配置。Sham-link需要手工配置。并且,本端VPN实例中必须有到Sham-link目的地址的路由。
OSPF多实例通常运行在PE设备上,在局域网内部运行OSPF多实例的路由设备称为Multi-VPN-Instance CE,即多实例CE。与PE上的OSPF多实例相比,Multi-VPN-Instance CE不需要支持BGP/OSPF互操作功能。
Multi-VPN-Instance CE主要用于以较低的成本解决局域网的安全问题。
单纯使用传统路由设备很难实现局域网中不同业务的完全隔离。目前,一台设备上可以运行多个OSPF进程,这些OSPF进程可以是公网进程,也可以是某个VPN实例的进程。因此,可以在一台路由设备上可以运行多个OSPF进程,将不同的进程绑定到不同的VPN实例。
在实际应用中,通过为不同的业务建立各自的OSPF实例,可以实现不同业务的隔离,保证各自的安全性。
在MPLS L3VPN中,如果PE和CE之间运行EBGP,由于BGP使用AS号检测路由环路,为保证路由信息的正确发送,需要为物理位置不同的站点分配不同的AS号。
如果物理分散的CE复用相同的AS号,就应该在PE上配置BGP的AS号替换功能。此功能是BGP的出口策略,在发布路由时有效。
使能了BGP的AS号替换功能后,当PE向指定对等体中的CE发布路由时,如果路由的AS_PATH中有与CE相同的AS号,将被替换成PE的AS号后再发布。
& 说明:
使能BGP的AS号替换功能后,PE向对等体组中所有已建立连接的CE重新发送所有路由,并对发送路由中的AS_PATH属性按上述规则替换。
图1-17 BGP AS号替换应用示意图
在图1-17中,CE 1和CE 2都使用AS号800,在PE 2上使能针对CE 2的AS号替换功能。当CE 1发来的Update信息从PE 2发布给CE 2时,PE 2发现AS_PATH中存在与CE 2相同的AS号800,就把它替换为自己的AS号100,这样,CE 2就可以正确接收CE 1的路由信息。
对于PE使用不同接口连接多个CE的情况,如上图中的CE 2和CE 3,也可以使用BGP的AS号替换功能。
& 说明:
对于CE连接到多个PE的情况(Multi-homed CE),单独使用BGP的AS号替换功能将可能导致路由环路,需要配合SOO(Site-of-Origin)特性一起使用。
表1-1 MPLS L3VPN配置任务简介
配置任务 |
说明 |
详细配置 |
配置VPN实例 |
必选 |
|
配置基本MPLS L3VPN |
必选 |
|
配置跨域VPN |
可选 根据组网的需要选择是否配置 |
|
配置HoVPN |
可选 根据组网的需要选择是否配置 |
|
配置OSPF伪连接 |
可选 根据组网的需要选择是否配置 |
|
配置Multi-VPN-Instance CE |
可选 根据组网的需要选择是否配置 |
|
配置BGP的AS号替换 |
可选 根据组网的需要选择是否配置 |
VPN实例用于将VPN私网路由与公网路由隔离,在所有MPLS L3VPN组网方案中,都需要配置VPN实例。
VPN实例不仅可以将VPN私网路由与公网路由隔离,不同VPN实例的路由之间也是相互隔离的,这一特点使得VPN实例的使用不限于MPLS L3VPN。
配置VPN实例的操作是在PE设备上。
VPN实例在实现中与Site关联。VPN实例不是直接对应于VPN,一个VPN实例综合了和它所对应Site的VPN成员关系和路由规则。
一个VPN实例只有配置了RD后才生效。在配置RD之前,除了描述信息外,不能配置VPN实例的其他任何参数。
描述信息用于描述VPN实例,可以用来记录VPN实例与某个VPN的关系等信息。
表1-2 创建VPN实例
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VPN实例,并进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
必选 缺省情况下,没有定义VPN实例 |
配置VPN实例的RD |
route-distinguisher route-distinguisher |
必选 |
配置VPN实例的描述信息 |
description text |
可选 缺省情况下,VPN实例没有描述信息 |
VPN实例配置完成后,还需要与连接CE的接口进行关联。
表1-3 配置VPN实例与接口关联
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入要关联接口的接口视图 |
interface interface-type interface-number |
- |
将当前接口与VPN实例关联 |
ip binding vpn-instance vpn-instance-name |
必选 缺省情况下,接口不关联任何VPN实例 |
& 说明:
执行ip binding vpn-instance命令将删除接口上已经配置的IP地址,因此需要重新配置接口的IP地址。
VPN路由的发布控制过程如下:
l 当从CE学习到的一条VPN路由引入BGP时,BGP为它关联一个VPN Target扩展团体属性列表,通常这个列表是与CE相关联的VPN实例的输出路由属性列表。
l VPN实例根据VPN Target中import-extcommunity决定可被接受并引入此VPN实例的路由。
l VPN实例根据VPN Target中的export-extcommunity对向外发布的路由进行VPN Target属性的修改。
表1-4 配置VPN实例的路由相关属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
- |
为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属性匹配的路由通过 |
& 说明:
l 命令vpn-target最多可以配置8个VPN Target;一个VPN实例最多可以配置20个VPN Target。
l 为VPN实例配置路由策略之前必须已经创建了路由策略,否则将采用缺省路由策略。
l routing-table limit number { warn-threshold | simply-alert }改变VPN-instance的路由数目限制,不会影响已存在的路由表,如果需要新配置的路由限制立即生效,应重建相应的路由协议,或对相关接口进行shutdown/undo shutdown的操作。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建隧道策略,并进入隧道策略视图 |
tunnel-policy tunnel-policy-name |
必选 |
配置隧道的优先级顺序和负载分担条数 |
tunnel select-seq { cr-lsp | lsp }* load-balance-number number |
必选 缺省情况下,选择的策略是LSP隧道,负载分担条数为1 |
在配置隧道优先级顺序时,隧道类型越靠近关键字select-seq的,其优先级越高。
表1-6 配置VPN实例的隧道策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
必选 |
配置VPN实例的隧道策略 |
tnl-policy tunnel-policy-name |
必选 缺省情况下,选择的策略是LSP隧道,负载分担条数为1 |
& 说明:
为VPN实例配置隧道策略之前必须先创建隧道策略,否则将采用缺省策略。
本节介绍比较简单的MPLS L3VPN组网配置:只包括一个运营商,MPLS骨干网不跨域,PE、P、CE设备都不兼具其它功能(没有一台设备既是PE,又是CE)。
如果需要部署一些特殊的MPLS L3VPN组网方案,例如HoVPN、多角色主机、跨域VPN等,则还需要另外进行相关的配置。请参考本章中相应小节的介绍。
配置MPLS L3VPN的关键在于管理VPN私网路由在MPLS骨干网上的发布,包括PE-CE间的路由发布管理以及PE-PE间的路由发布管理。
PE-CE间的路由交换可以采用静态路由、RIP、OSPF、IS-IS,也可以采用BGP。根据实际组网情况选择一种进行配置即可。
在配置基本MPLS L3VPN之前,需完成以下任务:
l 对MPLS骨干网(PE、P)配置IGP,实现骨干网的IP连通性
l 对MPLS骨干网(PE、P)配置MPLS基本能力
l 对MPLS骨干网(PE、P)配置MPLS LDP,建立LDP LSP
l 在CE上配置接入PE的接口的IP地址
表1-7 配置VPN实例
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VPN实例,并进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
必选 缺省情况下,无VPN实例 |
配置VPN实例的RD |
route-distinguisher route-distinguisher |
必选 |
将当前VPN实例与一个或多个VPN Target相关联 |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
必选 |
退回到系统视图 |
quit |
- |
进入要关联接口的接口视图 |
interface interface-type interface-number |
- |
将当前接口与VPN实例关联 |
ip binding vpn-instance vpn-instance-name |
必选 缺省情况下,无接口关联到任何VPN实例 |
配置PE-CE间路由交换可以使用静态路由、RIP、OSPF、IS-IS和EBGP路由协议。具体采用哪种协议请根据配置的实际需要。
表1-8 配置PE-CE间使用静态路由
操作 |
命令 |
说明 |
进入系统视图 |
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 ] |
必选 该配置在PE上进行,CE上的配置方法与普通静态路由相同 |
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 ] |
一个RIP进程只能属于一个VPN实例。如果在启动RIP进程时不绑定到VPN实例,则该进程属于公网进程。
表1-9 配置PE-CE间使用RIP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建PE-CE间的RIP实例,并进入RIP视图 |
rip [ process-id ] vpn-instance vpn-instance-name |
必选 该配置在PE上进行,CE上配置普通RIP即可 |
& 说明:
有关RIP的介绍和详细配置,请参见“IP路由分册”中的“RIP配置”。
VPN实例绑定的OSPF进程中不使用系统视图下配置的公网Router ID,因此用户需要在启动进程时手工配置Router ID,或者所要绑定的VPN实例中至少有一个接口配置了IP地址。
一个OSPF进程只能属于一个VPN实例。如果在启动OSPF进程时不绑定到VPN实例,则该进程属于公网进程。
表1-10 配置PE-CE间使用OSPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建PE-CE间的OSPF实例,并进入OSPF视图 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
必选 该配置在PE上进行,CE上配置普通OSPF即可 |
配置OSPF域标识符 |
domain-id domain-id [ secondary ] |
可选 缺省情况下,OSPF域标识符为0 该配置在PE上进行,CE上配置普通OSPF即可 |
& 说明:
删除VPN实例后,相关的所有OSPF进程也将全部被删除。
每个OSPF进程只能配置一个域ID,不同进程的域ID相互没有影响。不同VPN的PE的OSPF进程域ID配置没有限制。但同一VPN的所有OSPF进程应配置相同的域ID,以保证路由发布的正确性。
OSPF进程的域ID包含在此进程生成的路由中,在将OSPF路由引入BGP中时, 域ID被附加到BGP VPN路由上,作为BGP的扩展团体属性传递。
& 说明:
l 有关OSPF的介绍和详细配置,请参见“IP路由分册”中的“OSPF配置”。
l 执行domain-id domain-id [ secondary ]命令后,不会马上起作用,只有在reset ospf后才会起作用。
一个IS-IS进程只能属于一个VPN实例。如果在启动IS-IS进程时不绑定到VPN实例,则该进程属于公网进程。
表1-11 配置PE-CE间使用IS-IS
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建PE-CE间的IS-IS实例,并进入IS-IS视图 |
isis [ process-id ] vpn-instance vpn-instance-name |
必选 该配置在PE上进行,CE上配置普通IS-IS即可 |
& 说明:
l 配置IS-IS实例后,需要启动IS-IS,具体配置与普通的IS-IS相同。
l 有关IS-IS的介绍和详细配置,请参见“IP路由分册”中的“IS-IS配置”。
(1) PE上的配置
表1-12 PE上的配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入BGP-VPN实例视图 |
ipv4-family vpn-instance vpn-instance-name |
必选 |
将CE配置为VPN私网对等体 |
peer { group-name | ip-address } as-number as-number |
必选 |
引入本端CE路由 |
import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] * |
必选 PE需要将到本端CE的路由引入VPN路由表中,以发布给对端PE |
配置对发布的路由信息进行过滤 |
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 |
可选 缺省情况下不对接收的路由信息进行过滤 |
配置允许本地AS号在所接收的路由的AS_PATH属性中出现,并可同时配置允许重复的次数 |
peer { group-name | ip-address } allow-as-loop [ number ] |
可选 用于Hub&Spoke组网方案 |
& 说明:
通常情况下,BGP通过AS号检测路由环路。但在Hub&Spoke组网方式下,如果在PE和CE之间运行EBGP,当PE将路由信息通告给CE时带上本自治系统的AS号,再从CE接收路由更新时,路由更新消息中会带有本自治系统的AS号,这样PE就不能接收这条路由更新信息,此时需要配置允许路由环路。
(2) CE上的配置
表1-13 CE上的配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
将PE配置为对等体 |
peer { group-name | ip-address } as-number as-number |
必选 |
配置路由引入 |
import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] * |
可选 CE需要将自己所能到达的VPN网段地址发布给接入的PE,通过PE发布给对端CE |
& 说明:
l 配置BGP VPN实例后,VPN实例中的BGP路由交换与普通的BGP相同。
l BGP实例视图下配置任务与BGP视图下的相同,有关介绍和详细配置,请参见“IP路由分册”中的“BGP配置”和“BGP命令”。
l BGP的配置中有对等体和对等体组的配置,有关介绍和详细说明请参见“IP路由分册”中的“BGP配置”和“BGP命令”。本章中不将对等体和对等体组加以区分。
表1-14 配置PE-PE间的路由交换
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
将对端PE配置为对等体 |
peer { group-name | ip-address } as-number as-number |
必选 |
指定路由更新报文的源接口 |
peer { group-name | ip-address } connect-interface interface-type interface-number |
必选 缺省情况下,BGP使用最佳路由更新报文的源接口 |
进入BGP-VPNv4子地址族视图 |
ipv4-family vpnv4 |
必选 |
使能对等体交换BGP-VPNv4路由信息 |
peer { group-name | ip-address } enable |
必选 缺省情况下,BGP对等体之间只能交换IPv4路由信息 |
BGP-VPNv4子地址族下路由的很多特性都与BGP IPv4单播路由的特性相同。这些特性根据组网的需求来决定是否选择。
对于VPN的应用,BGP的地址族包括:BGP-VPNv4子地址族、BGP-L2VPN地址族和VPLS地址族。对于下面的命令在各地址族中的作用都是相同的,相应地址族中的BGP路由起作用。
表1-15 配置各种地址族通用路由特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
将对端PE配置为对等体 |
peer ip-address as-number as-number |
必选 |
指定建立TCP连接的接口 |
peer ip-address connect-interface interface-type interface-number |
必选 |
进入地址族视图 |
ipv4-family vpnv4 |
必选 根据不同的组网情况选择地址族 |
l2vpn-family |
||
vpls-family |
||
配置允许本地AS号在所接收的路由的AS_PATH属性中出现,并可同时配置允许重复的次数 |
peer { group-name | ip-address } allow-as-loop [ number ] |
可选 |
在指定的地址族下使能对等体,并使能交换对应地址族的BGP路由信息的能力 |
peer { group-name | ip-address } enable |
必选 缺省情况下,BGP对等体之间只能交换IPv4路由信息 |
将对等体加入已存在的对等体组 |
peer ip-address group group-name |
可选 |
向对等体或对等体组发布路由时,将自身地址作为下一跳 |
peer { group-name | ip-address } next-hop-local |
可选 |
配置将本机作为路由反射器,并将对等体或对等体组作为路由反射器的客户 |
peer { group-name | ip-address } reflect-client |
可选 缺省情况下,没有配置路由反射器及其客户 |
对接收到的相应地址族下BGP路由使能VPN-Target过滤功能 |
policy vpn-target |
可选 缺省情况下,对接收到的相应地址族的BGP路由使能VPN-Target过滤功能 |
允许客户到客户的路由反射 |
reflect between-clients |
可选 缺省情况下,允许客户到客户的路由反射 |
为路由反射器配置群ID |
reflector cluster-id { cluster-id | ip-address } |
可选 缺省情况下,群ID是群中某个路由反射器的Router ID |
创建路由反射器的反射策略 |
rr-filter extended-community-list-number |
可选 |
& 说明:
有关BGP-L2VPN地址族和VPLS地址族的介绍请参见“MPLS分册”中的“MPLS L2VPN命令”和“VPLS命令”。
表1-16 配置BGP-VPNv4子地址族的特有路由特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
将对端PE配置为对等体 |
peer ip-address as-number as-number |
必选 |
指定建立TCP连接的接口 |
peer ip-address connect-interface interface-type interface-number |
必选 |
进入BGP-VPNv4子地址族视图 |
ipv4-family vpnv4 |
- |
配置本地优先级的缺省值 |
default local-preference value |
可选 缺省情况下,本地优先级的值为100 |
配置缺省的系统度量 |
default med med-value |
可选 缺省情况下,缺省的系统度量为0 |
配置对发布的路由信息进行过滤 |
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 |
可选 缺省情况下,不对接收的路由信息进行过滤 |
配置将团体属性通告给对等体或对等体组 |
peer { group-name | ip-address } advertise-community |
可选 缺省情况下,不将团体属性传给任何对等体或对等体组 |
为指定对等体或对等体组配置基于AS路径列表的路由过滤 |
peer { group-name | ip-address } as-path-acl aspath-filter-number { import | export } |
可选 缺省情况下,对等体及对等体组没有应用AS过滤列表 |
配置向对等体或对等体组发布与指定VPN实例相关的所有缺省路由 |
peer { group-name | ip-address } default-route-advertise vpn-instance vpn-instance-name |
缺省情况下,不向对等体或对等体组发布缺省路由 |
配置为指定对等体或对等体组应用过滤策略 |
peer { group-name | ip-address } filter-policy acl-number { export | import } |
可选 缺省情况下,没有为对等体或对等体组应用过滤策略 |
为指定对等体或对等体组应用基于IP前缀列表的路由过滤策略 |
peer { group-name | ip-address } ip-prefix prefix-name { export | import } |
可选 缺省情况下,对等体或对等体组上不应用基于IP前缀列表的路由过滤策略 |
配置向EBGP对等体发布路由时不改变下一跳 |
peer { group-name | ip-address } next-hop-invariable |
可选 缺省情况下,向EBGP对等体发布路由时会将下一跳改为自己的地址 |
配置发送BGP更新报文时不携带私有自治系统号 |
peer { group-name | ip-address } public-as-only |
可选 缺省情况下,发送BGP更新报文时,携带私有自治系统号 |
为指定对等体或对等体组配置路由策略 |
peer { group-name | ip-address } route-policy route-policy-name { export | import } |
可选 缺省情况下,对等体及对等体组没有应用路由策略 |
& 说明:
有关BGP的路由特性请参见“IP路由分册”中的“BGP配置”。
如果承载VPN路由的MPLS骨干网跨越多个AS,就需要配置跨域VPN。
跨域VPN有三种解决方案,详细描述请参考“1.1.7 跨域VPN”。
在配置跨域VPN之前,需完成以下任务:
l 为各AS的MPLS骨干网分别配置IGP,实现同一AS内骨干网的IP连通性
l 为各AS的MPLS骨干网分别配置MPLS基本能力
l 为各AS的MPLS骨干网分别配置MPLS LDP,建立LDP LSP
l 为各AS分别进行基本MPLS L3VPN配置
在对各AS分别进行基本MPLS L3VPN配置时,根据所选择的跨域VPN方式,PE和ASBR-PE上还需要进行专门的配置。
& 说明:
请根据实际应用的跨域VPN方式,选择下述配置任务中的对应项。
跨域VPN-OptionA的实现比较简单,当PE上的VPN数量及VPN路由数量都比较少时可以采用这种方案。
跨域VPN-OptionA的配置可以描述为:对各AS分别进行基本MPLS L3VPN配置,对于ASBR-PE,将对端ASBR-PE看作自己的CE配置即可。
即:跨域VPN-OptionA方式需要在PE和ASBR-PE上分别配置VPN实例,前者用于接入CE,后者用于接入对端ASBR-PE。
请参考“1.4 配置基本MPLS L3VPN”。
& 说明:
在跨域VPN-OptionA方式中,对于同一个VPN,同一AS内的ASBR-PE与PE的VPN实例的VPN-Target应能匹配,不同AS的PE的VPN实例的VPN-Target则不需要匹配。
以下配置是在作为ASBR-PE的设备上进行配置的。
表1-17 配置跨域VPN-OptionB的ASBR-PE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入连接对端ASBR-PE接口的接口视图 |
interface interface-type interface-number |
必选 |
配置接口IP地址 |
ip address ip-address { mask | mask-length } |
必选 |
退回系统视图 |
quit |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入BGP-VPNv4子地址族视图 |
ipv4-family vpnv4 |
必选 |
不对VPNv4路由进行VPN-Target过滤 |
undo policy vpn-target |
必选 缺省情况下,PE对收到的VPNv4路由进行VPN-target过滤 通过过滤的路由会被加入到路由表中,没有通过过滤的路由将被丢弃 |
在跨域VPN-OptionB方式中,ASBR-PE需要保存所有VPNv4路由信息,以通告给对端ASBR-PE。这种情况下,ASBR-PE应接收所有的VPNv4路由信息,不对它们进行VPN-target过滤。
& 说明:
在跨域VPN-OptionB方式中,对于同一个VPN,同一AS内的ASBR-PE与PE的VPN实例的VPN-Target应能匹配,不同AS的PE的VPN实例的VPN-Target也需要匹配。
注意:
对于跨域VPN-OptionB,存在两种配置方式,
l 一种是在ASBR不改下一跳的方式,在这种方式下ASBR间仍然需要配置MPLS LDP
l 另一种在ASBR上需要修改下一跳,这种组网下ASBR间不需要起LDP。
目前我们的实现只支持在ASBR上修改下一跳的方式,因此在实现上,默认情况下对于MP-EBGP路由,在发往MP-IBGP时是修改下一跳的。而在普通的BGP上,对于发往IBGP的EBGP路由,默认情况下是不改下一跳的,如果需要将下一跳改为本地地址,需要配置peer ip-address next-hop-local命令。
同一AS内的PE和ASBR-PE之间建立普通的IBGP对等体关系,不同AS的PE之间建立MP-EBGP对等体关系。
同一AS内的PE和ASBR-PE之间应能够交换标签IPv4路由。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
配置本AS的ASBR-PE为IBGP对等体 |
peer peer-address as-number as-number |
必选 |
配置与本AS的ASBR-PE之间能够交换带标签的IPv4路由 |
peer peer-address label-route-capability |
必选 |
将另一AS的PE配置为EBGP对等体 |
peer peer-address as-number as-number |
必选 |
进入BGP-VPNv4子地址族视图 |
ipv4-family vpnv4 |
必选 |
使能对等体交换BGP-VPNv4路由信息 |
peer peer-address enable |
必选 |
配置向EBGP对等体发送路由时不改变下一跳 |
peer peer-address next-hop-invariable |
可选 该步骤用于使用路由反射器RR(Route Reflector)通告VPNv4路由的情况:RR之间通告VPNv4路由时,路由的下一跳不能被改变。通常情况不需要配置该步骤。 |
在跨域VPN-OptionC方式中,需要建立一条跨域的VPN LSP,相关PE、ASBR之间发布公网路由时携带MPLS标签信息。
ASBR-PE与本AS的PE建立普通IBGP对等体关系,与对端ASBR-PE建立普通EBGP对等体关系。都能够交换标签IPv4路由。
携带MPLS标签的公网路由通过MP-BGP发布。根据RFC 3107(Carrying Label Information in BGP-4)中的描述,一条路由的标签映射信息可以通过发布这条路由的BGP Update消息捎带(piggyback)。这种能力使用BGP的扩展属性实现,要求BGP对等体能够处理标签IPv4路由。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
配置本AS的PE为IBGP对等体 |
peer peer-address as-number as-number |
必选 |
配置与本AS的PE之间能够交换带标签的IPv4路由 |
peer peer-address label-route-capability |
必选 缺省情况下,不向IPv4对等体发送标签路由。 |
向本AS的PE发布路由时将下一跳改为自己 |
peer peer-address next-hop-local |
必选 缺省情况下,BGP发言者在向EBGP对等体发布路由时会将下一跳改为自己的地址。 |
将对端ASBR-PE配置为EBGP对等体 |
peer peer-address as-number as-number |
必选 |
配置与对端ASBR-PE之间能够交换带标签的IPv4路由 |
peer peer-address label-route-capability |
必选 缺省情况下,不向IPv4对等体发送标签路由。 |
对对端ASBR-PE发布来的路由应用路由策略 |
peer peer-address route-policy policy-name export |
必选 缺省情况下,对等体及对等体组没有应用Route-policy。 |
配置路由策略应用在ASBR-PE上:
l 对于从本AS的PE接收的路由,在向对端ASBR-PE发布时,分配MPLS标签;
l 对于向本AS的PE发布的路由,如果是带标签的IPv4路由,为其分配新的MPLS标签;
l 如果匹配路由策略的路由在分配MPLS标签时失败,则该路由不会作为普通路由发出。
对IPv4路由分配MPLS标签是通过路由策略控制的,只对满足某些条件的路由分配标签,其它路由还是普通IPv4路由。
表1-20 配置跨域VPN-OptionC的路由策略(ASBR之间)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入路由策略视图 |
route-policy policy-name permit node seq-number |
必选 |
配置路由信息的目的IP地址范围的匹配条件 |
if-match acl acl-number |
可选 |
为IPv4路由分配标签 |
apply mpls-label |
必选 缺省情况下,IPv4路由不带标签 |
表1-21 配置跨域VPN-OptionC的路由策略(ASBR到PE方向)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入路由策略视图 |
route-policy policy-name permit node seq-number |
必选 |
配置路由信息的目的IP地址范围的匹配条件 |
if-match acl acl-number |
可选 |
匹配带标签的IPv4路由 |
if-match mpls-label |
可选,建议用户在ASBR到PE方向上通过BGP扩展发布IPv4标签路由时不要省略此配置 |
为IPv4路由分配标签 |
apply mpls-label |
必选 缺省情况下,IPv4路由不带标签 |
& 说明:
l 在配置跨域VPN-OptionC的路由策略时,推荐用户使用if-match acl命令配置路由信息的目的IP地址范围的匹配条件,以避免与普通IPv4地址簇功能冲突。
l 建议用户在ASBR到PE方向上通过BGP扩展发布IPv4标签路由时使用if-match mpls-label命令匹配带标签的IPv4路由。
l 有关路由策略的配置请参见“IP路由分册”中的“路由策略配置”。
对于层次化比较明显的VPN网络,可以采用HoVPN方案,以降低对PE设备的性能要求。
在配置HoVPN之前,需完成以下任务:
l 配置基本MPLS L3VPN
表1-22 配置HoVPN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入BGP-VPNv4子地址族视图 |
ipv4-family vpnv4 |
必选 |
使能对等体交换BGP-VPNv4路由信息 |
peer { group-name | ip-address } enable |
必选 |
配置BGP对等体或对等体组为UPE |
peer { group-name | ip-address } upe |
必选 |
向UPE发送指定VPN实例的缺省路由 |
peer { group-name | ip-address } default-route-advertise vpn-instance vpn-instance-name |
可选 缺省情况下,不向对等体发布缺省路由 |
执行peer default-route-advertise vpn-instance命令后,不论本地路由表中是否存在缺省路由,SPE都会向UPE发布一条下一跳地址为本地地址的缺省路由。
& 说明:
l 向BGP对等体或对等体组发布VPN实例缺省路由的前提是:此BGP对等体或对等体组必须是UPE。
l 建议SPE不直接同CE连接,如必须连接,则SPE上VPN实例和UPE上VPN实例必须配置不同的RD。
在VPN PE间配置伪连接Sham-link后,Sham-link将被视为OSPF区域内路由。这一特性用于使经过MPLS VPN骨干网的路由成为OSPF区域内路由,避免VPN流量经后门路由转发。
Sham-link的源地址和目的地址应使用32位掩码的Loopback接口地址,且该loopback接口需要绑定到VPN实例中,并通过BGP发布。
在配置OSPF伪连接之前,需完成以下任务:
l 配置基本MPLS L3VPN(PE-CE间使用OSPF)
l 配置用户CE所在局域网的OSPF
表1-23 配置Loopback接口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Loopback接口并进入Loopback接口视图 |
interface loopback interface-number |
必选 |
将Loopback接口绑定到VPN实例 |
ip binding vpn-instance vpn-instance-name |
必选 缺省情况下,接口不关联到任何VPN实例,属于公网接口 |
配置Loopback接口的地址 |
ip address ip-address { mask | mask-length } |
必选 |
表1-24 发布Loopback接口的路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入BGP-VPN实例视图 |
ipv4-family vpn-instance vpn-instance-name |
必选 |
引入直连路由(将Loopback主机路由引入BGP) |
import-route direct |
必选 |
表1-25 配置伪连接
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPF视图 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
必选 建议手工配置router-id |
配置route tag |
route-tag tag-id |
必选 |
进入OSPF区域视图 |
area area-id |
必选 |
配置伪连接 |
sham-link source-ip-address destination-ip-address [ cost cost | dead dead-interval | hello hello-interval | retransmit retrans-interval | trans-delay delay | simple [ cipher | plain ] password1 | { md5 | hmac-md5 } key-id [ cipher | plain ] password2 ] * |
必选 缺省情况下,未配置伪连接 |
& 说明:
l 启动OSPF而不手工配置Router ID时,系统会自动选取出一个Router ID。选举规则请参见“OSPF配置”。需要注意的是,由于选举规则相同会得到相同的Router ID。建议用户启动OSPF进程时手工配置Router ID。
l 配置OSPF的VPN多实例而不配置route tag时,系统会根据配置的BGP自治系统号生成一个tag值,如果没有配置BGP则tag为0。需要注意的是,在BGP的自治系统号相同的PE或同一台PE上,因为计算规则相同会得到相同的tag值。建议用户配置OSPF的VPN多实例时手工配置tag值。
Multi-VPN-Instance CE在局域网内使用,通过在CE设备上使用OSPF多实例实现不同业务的隔离。
一个OSPF进程只能属于一个VPN实例;一个VPN实例可以运行多个OSPF进程。
在配置Multi-VPN-Instance CE之前,需完成以下任务:
l 配置VPN实例
l 配置相关接口的链路层协议和网络层协议保证路由可达
Multi-VPN-Instance CE可以看作一种通过路由隔离实现业务隔离的组网方案,配置上传统的CE接入方式相比并没有特殊之处,但需要使能多VPN实例CE功能。
配置该功能后,路由计算时关闭PE路由上的路由环路检测功能,防止路由丢失;同时禁止BGP/OSPF互操作功能,节省系统资源。
表1-26 配置Multi-VPN-Instance CE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPF多实例视图 |
ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name ] * |
必选 |
使能多VPN实例CE功能 |
vpn-instance-capability simple |
必选 缺省情况下,多VPN实例CE功能是不使能的 |
在配置BGP的AS号替换之前,需完成以下任务:
l 配置基本MPLS L3VPN
l 不同Site的CE具有相同的AS号
不同Site的CE具有相同的AS号时,PE上需要开启BGP的AS号替换功能,从而避免路由被丢弃。
表1-27 配置BGP的AS号替换
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入BGP-VPN实例视图 |
ipv4-family vpn-instance vpn-instance-name |
必选 |
使能BGP的AS号替换功能 |
peer { ip-address | group-name } substitute-as |
必选 缺省情况下, BGP的AS号替换功能是被禁止的 |
当BGP配置变化后,可以通过软复位或复位BGP连接使新的配置生效。软复位需要BGP对等体具备路由刷新能力(支持ROUTE-REFRESH消息)。
请在用户视图下进行下列操作。
操作 |
命令 |
软复位指定VPN实例的BGP连接 |
refresh bgp vpn-instance vpn-instance-name { ip-address | all | external | group group-name } { export | import } |
软复位BGP的VPNv4连接 |
refresh bgp vpnv4 { 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 } |
复位BGP的VPNv4连接 |
reset bgp vpnv4 { as-number | ip-address | all | external | internal | group group-name } |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS L3VPN的运行情况,通过查看显示信息验证配置的效果。
表1-29 显示MPLS L3VPN的运行状态
操作 |
命令 |
显示与VPN实例相关联的IP路由表 |
display ip routing-table vpn-instance vpn-instance-name [ verbose ] |
显示指定VPN实例信息 |
display ip vpn-instance [ instance-name vpn-instance-name ] |
显示指定VPN实例的转发表信息 |
display fib vpn-instance vpn-instance-name [ include text ] |
显示VPN实例转发表的统计信息 |
display fib statistics vpn-instance |
显示BGP路由表中的标签路由信息 |
display bgp vpnv4 { all | vpn-instance vpn-instance-name } routing-table label |
显示BGP VPNv4对等体组信息 |
display bgp vpnv4 { all | vpn-instance vpn-instance-name } group [ group-name ] |
显示引入的BGP VPNv4路由信息 |
display bgp vpnv4 { all | vpn-instance vpn-instance-name } network |
显示BGP VPNv4的AS路径信息 |
display bgp vpnv4 { all | vpn-instance vpn-instance-name } paths [ as-regular-expression ] |
显示BGP VPNv4对等体信息 |
display bgp vpnv4 { all | vpn-instance vpn-instance-name } peer [ group-name log-info | ip-address { log-info | verbose } | verbose ] |
显示所有BGP VPNv4路由信息 |
display bgp vpnv4 all routing-table [ network-address [ { mask | mask-length } [ longer-prefixes ] ] | as-path-acl as-path-acl-number | cidr | community [ aa:nn ]&<1-13> [ no-export-subconfed | no-advertise | no-export ]* [ whole-match ] | community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> | different-origin-as | regular-expression as-regular-expression | statistic ] |
显示指定路由标识符的BGP VPNv4路由信息 |
display bgp vpnv4 route-distinguisher route-distinguisher routing-table [ network-address [ { mask | mask-length } [ longer-prefixes ] ] | as-path-acl as-path-acl-number | cidr | community [ aa:nn ]&<1-13> [ no-export-subconfed | no-advertise | no-export ]* [ whole-match ] | community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> | different-origin-as | regular-expression as-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-export-subconfed | no-advertise | no-export ]* [ whole-match ] | community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> | dampened | dampening parameter | different-origin-as | flap-info [ as-path-acl as-path-acl-number | network-address [ mask [ longer-match ] | mask-length [ longer-match ] ] | regular-expression as-regular-expression ] | peer ip-address { advertised-routes | received-routes } | regular-expression as-regular-expression | statistic ] |
显示OSPF伪连接信息 |
display ospf [ process-id ] sham-link [ area area-id ] |
显示所有或指定隧道策略的信息 |
display tunnel-policy { all | policy-name tunnel-policy-name } |
清除指定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 ] |
l CE 1、CE 3属于VPN A,CE 2、CE 4属于VPN B;
l VPN A使用的VPN-target属性为111:1,VPN B使用的VPN-target属性为222:2。不同VPN用户之间不能互相访问;
l PE、P为支持MPLS的交换机,CE为一般的三层交换机。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int1 |
10.1.1.1/24 |
P |
Loop0 |
2.2.2.9/32 |
PE 1 |
Loop0 |
1.1.1.9/32 |
|
Vlan-int1 |
172.2.1.1/24 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
172.1.1.2/24 |
|
Vlan-int3 |
172.1.1.1/24 |
PE 2 |
Loop0 |
3.3.3.9/32 |
|
Vlan-int2 |
10.2.1.2/24 |
|
Vlan-int1 |
172.2.1.2/24 |
CE 2 |
Vlan-int1 |
10.2.1.1/24 |
|
Vlan-int2 |
10.3.1.2/24 |
CE 3 |
Vlan-int1 |
10.3.1.1/24 |
|
Vlan-int3 |
10.4.1.2/24 |
CE 4 |
Vlan-int1 |
10.4.1.1/24 |
|
|
|
(1) 在MPLS骨干网上配置IGP协议,实现骨干网PE和P的互通
# 配置PE 1。
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] interface Vlan-interface 3
[PE1-Vlan-interface3] ip address 172.1.1.1 24
[PE1- Vlan-interface3] quit
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 172.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置P。
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] interface Vlan-interface 3
[P-Vlan-interface3] ip address 172.1.1.2 24
[P- Vlan-interface3] quit
[P] interface Vlan-interface 1
[P-Vlan-interface1] ip address 172.2.1.1 24
[P-Vlan-interface1] quit
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 172.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 172.2.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
# 配置PE 2。
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] ip address 172.2.1.2 24
[PE2-Vlan-interface1] quit
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 172.2.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
配置完成后,PE 1、P、PE 2之间应能建立OSPF邻居,执行display ospf peer命令可以看到邻居达到FULL状态。执行display ip routing-table命令可以看到PE之间学习到对方的Loopback路由。
以PE 1为例:
[PE1] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 OSPF 10 1 172.1.1.2 Vlan3
3.3.3.9/32 OSPF 10 2 172.1.1.2 Vlan3
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
172.1.1.0/24 Direct 0 0 172.1.1.1 Vlan3
172.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
172.2.1.0/24 OSPF 10 1 172.1.1.2 Vlan3
[PE1] display ospf peer
OSPF Process 1 with Router ID 1.1.1.9
Neighbor Brief Information
Area: 0.0.0.0
Router ID Address Pri Dead-Time Interface State
172.1.1.2 172.1.1.2 1 38 Vlan3 Full/DR
(2) 在MPLS骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP
# 配置PE 1。
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] interface Vlan-interface 3
[PE1-Vlan-interface3] mpls
[PE1-Vlan-interface3] mpls ldp
[PE1-Vlan-interface3] quit
# 配置P。
[P] mpls lsr-id 2.2.2.9
[P] mpls
[P-mpls] quit
[P] mpls ldp
[P-mpls-ldp] quit
[P] interface Vlan-interface 3
[P-Vlan-interface3] mpls
[P-Vlan-interface3] mpls ldp
[P-Vlan-interface3] quit
[P] interface Vlan-interface 1
[P-Vlan-interface1] mpls
[P-Vlan0interface1] mpls ldp
[P-Vlan-interface1] quit
# 配置PE 2。
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
[PE2-mpls] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] mpls
[PE2-Vlan-interface1] mpls ldp
[PE2-Vlan-interface1] quit
上述配置完成后,PE 1、P、PE 2之间应能建立LDP会话,执行display mpls ldp session命令可以看到显示结果中Session State项为Operational。执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。
以PE 1为例:
[PE1] display mpls ldp session
LDP Session(s) in Public Network
Total number of sessions: 1
----------------------------------------------------------------
Peer-ID Status LAM SsnRole FT MD5 KA-Sent/Rcv
---------------------------------------------------------------
2.2.2.9:0 Operational DU Passive Off Off 5/5
---------------------------------------------------------------
LAM : Label Advertisement Mode FT : Fault Tolerance
[PE1] display mpls ldp lsp
LDP LSP Information
------------------------------------------------------------------
SN DestAddress/Mask In/OutLabel Next-Hop In/Out-Interface
------------------------------------------------------------------
1 1.1.1.9/32 3/NULL 127.0.0.1 Vlan3/InLoop0
2 2.2.2.9/32 NULL/3 172.1.1.2 -------/Vlan3
3 3.3.3.9/32 NULL/1024 172.1.1.2 -------/Vlan3
------------------------------------------------------------------
A '*' before an LSP means the LSP is not established
A '*' before a Label means the USCB or DSCB is stale
(3) 在PE设备上配置VPN实例,将CE接入PE
# 配置PE 1。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] route-distinguisher 100:1
[PE1-vpn-instance-vpna] vpn-target 111:1
[PE1-vpn-instance-vpna] quit
[PE1] ip vpn-instance vpnb
[PE1-vpn-instance-vpnb] route-distinguisher 100:2
[PE1-vpn-instance-vpnb] vpn-target 222:2
[PE1-vpn-instance-vpnb] quit
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpna
[PE1-Vlan-interface1] ip address 10.1.1.2 24
[PE1-Vlan-interface1] quit
[PE1] interface Vlan-interface 2
[PE1-Vlan-interface2] ip binding vpn-instance vpnb
[PE1-Vlan-interface2] ip address 10.2.1.2 24
[PE1-Vlan-interface2] quit
# 配置PE 2。
[PE2] ip vpn-instance vpna
[PE2-vpn-instance-vpna] route-distinguisher 200:1
[PE2-vpn-instance-vpna] vpn-target 111:1
[PE2-vpn-instance-vpna] quit
[PE2] ip vpn-instance vpnb
[PE2-vpn-instance-vpnb] route-distinguisher 200:2
[PE2-vpn-instance-vpnb] vpn-target 222:2
[PE2-vpn-instance-vpnb] quit
[PE2] interface Vlan-interface 2
[PE2-Vlan-interface2] ip binding vpn-instance vpna
[PE2-Vlan-interface2] ip address 10.3.1.2 24
[PE2-Vlan-interface2] quit
[PE2] interface Vlan-interface3
[PE2-Vlan-interface3] ip binding vpn-instance vpnb
[PE2-Vlan-interface3] ip address 10.4.1.2 24
[PE2-Vlan-interface3] quit
# 按图1-18配置各CE的接口IP地址,配置过程略。
配置完成后,在PE设备上执行display ip vpn-instance命令可以看到VPN实例的配置情况。各PE能ping通自己接入的CE。
以PE 1和CE 1为例:
[PE1] display ip vpn-instance
Total VPN-Instances configured : 2
VPN-Instance Name RD Create Time
vpna 100:1 2006/08/13 09:32:45
vpnb 100:2 2006/08/13 09:42:59
[PE1] ping -vpn-instance vpna 10.1.1.1
PING 10.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=56 ms
Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=4 ms
Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=4 ms
Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=52 ms
Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=3 ms
--- 10.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 3/23/56 ms
(4) 在PE与CE之间建立EBGP对等体,引入VPN路由
# 配置CE 1。
[CE1] bgp 65410
[CE1-bgp] peer 10.1.1.2 as-number 100
[CE1-bgp] import-route direct
[CE1-bgp] quit
& 说明:
另外3个CE设备(CE2~CE4)配置与CE1设备配置类似,配置过程省略。
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpna
[PE1-bgp-vpna] peer 10.1.1.1 as-number 65410
[PE1-bgp-vpna] import-route direct
[PE1-bgp-vpna] quit
[PE1-bgp] ipv4-family vpn-instance vpnb
[PE1-bgp-vpnb] peer 10.2.1.1 as-number 65420
[PE1-bgp-vpnb] import-route direct
[PE1-bgp-vpnb] quit
& 说明:
PE 2的配置与PE 1类似,配置过程省略。
配置完成后,在PE设备上执行display bgp vpnv4 vpn-instance peer命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。
以PE 1与CE 1的对等体关系为例:
[PE1] display bgp vpnv4 vpn-instance vpna peer
BGP local router ID : 1.1.1.9
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10.1.1.1 4 65410 11 9 0 1 00:06:37 Established
(5) 在PE之间建立MP-IBGP对等体
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface Loopback 0
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 3.3.3.9 enable
[PE1-bgp-af-vpnv4] quit
# 配置PE 2。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 0
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 1.1.1.9 enable
[PE2-bgp-af-vpnv4] quit
配置完成后,在PE设备上执行display bgp peer或display bgp vpnv4 all peer命令,可以看到PE之间的BGP对等体关系已建立,并达到Established状态。
[PE1] display bgp peer
BGP local router ID : 1.1.1.9
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
3.3.3.9 4 100 2 6 0 0 00:00:12 Established
(6) 配置后的检验
在PE设备上执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由。
以PE 1为例:
[PE1] display ip routing-table vpn-instance vpna
Routing Tables: vpna
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 Direct 0 0 10.1.1.2 Vlan1
10.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 BGP 255 0 3.3.3.9 NULL0
[PE1] display ip routing-table vpn-instance vpnb
Routing Tables: vpnb
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.2 Vlan2
10.2.1.2/32 Direct 0 0 127.0.0.1 InLoop0
10.4.1.0/24 BGP 255 0 3.3.3.9 NULL0
同一VPN的CE能够相互Ping通,不同VPN的CE不能相互Ping通。
例如:CE 1能够Ping通CE 3(10.3.1.1),但不能Ping通CE 4(10.4.1.1)。
[CE1] ping 10.3.1.1
PING 10.3.1.1: 56 data bytes, press CTRL_C to break
Reply from 10.3.1.1: bytes=56 Sequence=1 ttl=253 time=72 ms
Reply from 10.3.1.1: bytes=56 Sequence=2 ttl=253 time=34 ms
Reply from 10.3.1.1: bytes=56 Sequence=3 ttl=253 time=50 ms
Reply from 10.3.1.1: bytes=56 Sequence=4 ttl=253 time=50 ms
Reply from 10.3.1.1: bytes=56 Sequence=5 ttl=253 time=34 ms
--- 10.3.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 34/48/72 ms
[CE1] ping 10.4.1.1
PING 10.4.1.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 10.4.1.1 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
l CE 1和CE 2属于同一个VPN。
l CE 1通过AS100的PE 1接入,CE 2通过AS200的PE 2接入。
l 采用OptionA方式实现跨域的MPLS L3VPN,即,采用VRF-to-VRF方式管理VPN路由。
l 同一个AS内部的MPLS骨干网使用OSPF作为IGP。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int1 |
10.1.1.1/24 |
CE 2 |
Vlan-int1 |
10.2.1.1/24 |
PE 1 |
Loop0 |
1.1.1.9/32 |
PE 2 |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int1 |
10.2.1.2/24 |
|
Vlan-int2 |
172.1.1.2/24 |
|
Vlan-int2 |
162.1.1.2/24 |
ASBR-PE 1 |
Loop0 |
2.2.2.9/32 |
ASBR-PE 2 |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
172.1.1.1/24 |
|
Vlan-int1 |
162.1.1.1/24 |
|
Vlan-int2 |
192.1.1.1/24 |
|
Vlan-int2 |
192.1.1.2/24 |
图1-19 跨域VPN-OptionA方式组网图
(1) 在MPLS骨干网上配置IGP协议,实现骨干网PE和P的互通
本例中采用OSPF,具体配置步骤略。
& 说明:
需要将作为LSR ID的LoopBack接口的32位地址通过OSPF发布出去。
配置完成后,ASBR-PE与本AS的PE之间应能建立OSPF邻居,执行display ospf peer命令可以看到邻居达到FULL状态,PE之间能学习到对方的Loopback地址。
ASBR-PE与本AS的PE之间能够互相ping通。
(2) 在MPLS骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP
# 配置PE 1的MPLS基本能力,并在与ASBR-PE 1相连的接口上使能LDP。
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] interface Vlan-interface 2
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] quit
# 配置ASBR-PE 1的MPLS基本能力,并在与PE 1相连的接口上使能LDP。
[ASBR-PE1] mpls lsr-id 2.2.2.9
[ASBR-PE1] mpls
[ASBR-PE1-mpls] quit
[ASBR-PE1] mpls ldp
[ASBR-PE1-mpls-ldp] quit
[ASBR-PE1] interface Vlan-interface 1
[ASBR-PE1-Vlan-interface1] mpls
[ASBR-PE1-Vlan-interface1] mpls ldp
[ASBR-PE1-Vlan-interface1] quit
# 配置ASBR-PE 2的MPLS基本能力,并在与PE 2相连的接口上使能LDP。
[ASBR-PE2] mpls lsr-id 3.3.3.9
[ASBR-PE2] mpls
[ASBR-PE2-mpls] quit
[ASBR-PE2] mpls ldp
[ASBR-PE2-mpls-ldp] quit
[ASBR-PE2] interface Vlan-interface 1
[ASBR-PE2-Vlan-interface1] mpls
[ASBR-PE2-Vlan-interface1] mpls ldp
[ASBR-PE2-Vlan-interface1] quit
# 配置PE 2的MPLS基本能力,并在与ASBR-PE 2相连的接口上使能LDP。
[PE2] mpls lsr-id 4.4.4.9
[PE2] mpls
[PE2-mpls] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
[PE2] interface vlna-interface 2
[PE2-Vlan-interface2] mpls
[PE2-Vlan-interface2] mpls ldp
[PE2-Vlan-interface2] quit
上述配置完成后,同一AS的PE和ASBR-PE之间应该建立起LDP邻居,在各交换机上执行display mpls ldp session命令可以看到显示结果中Session State项为“Operational”。
(3) 在PE交换机上配置VPN实例,将CE接入PE
& 说明:
同一AS内的ASBR-PE与PE的VPN实例的VPN-Target应能匹配,不同AS的PE的VPN实例的VPN-Target则不需要匹配。
# 配置CE 1。
[CE1] interface Vlan-interface 1
[CE1-Vlan-interface1] ip address 10.1.1.1 24
[CE1-Vlan-interface1] quit
# 配置PE 1。
[PE1] ip vpn-instance vpna
[PE1-vpn-instance-vpna] route-distinguisher 100:1
[PE1-vpn-instance-vpna] vpn-target 100:1 both
[PE1-vpn-instance-vpna] quit
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpna
[PE1-Vlan-interface1] ip address 10.1.1.2 24
[PE1-Vlan-interface1] quit
# 配置CE 2。
[CE2] interface Vlan-interface 1
[CE2-Vlan-interface1] ip address 10.2.1.1 24
[CE2-Vlan-interface1] quit
# 配置PE 2。
[PE2] ip vpn-instance vpna
[PE2-vpn-instance] route-distinguisher 200:2
[PE2-vpn-instance] vpn-target 100:1 both
[PE2-vpn-instance] quit
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] ip binding vpn-instance vpna
[PE2-Vlan-interface1] ip address 10.2.1.2 24
[PE2-Vlan-interface1] quit
# 配置ASBR-PE 1:创建VPN实例,并将此实例绑定到连接ASBR-PE 2的接口(ASBR-PE 1认为ASBR-PE 2是自己的CE)。
[ASBR-PE1] ip vpn-instance vpna
[ASBR-PE1-vpn-instance-vpna] route-distinguisher 100:1
[ASBR-PE1-vpn-instance-vpna] vpn-target 100:1 both
[ASBR-PE1-vpn-instance-vpna] quit
[ASBR-PE1] interface Vlan-interface 2
[ASBR-PE1-Vlan-interface2] ip binding vpn-instance vpna
[ASBR-PE1-Vlan-interface2] ip address 192.1.1.1 24
[ASBR-PE1-Vlan-interface2] quit
# 配置ASBR-PE 2:创建VPN实例,并将此实例绑定到连接ASBR-PE 1的接口(ASBR-PE 2认为ASBR-PE 1是自己的CE)。
[ASBR-PE2] ip vpn-instance vpna
[ASBR-PE2-vpn-vpn-vpna] route-distinguisher 200:1
[ASBR-PE2-vpn-vpn-vpna] vpn-target 100:1 both
[ASBR-PE2-vpn-vpn-vpna] quit
[ASBR-PE2] interface Vlan-interface 2
[ASBR-PE2-Vlan-interface2] ip binding vpn-instance vpna
[ASBR-PE2-Vlan-interface2] ip address 192.1.1.2 24
[ASBR-PE2-Vlan-interface2] quit
上述配置完成后,在各PE交换机上执行display ip vpn-instance命令能正确显示VPN实例配置。
各PE并能ping通CE。ASBR-PE之间也能互相ping通。
(4) 在PE与CE之间建立EBGP对等体,引入VPN路由
# 配置CE 1。
[CE1] bgp 65001
[CE1-bgp] peer 10.1.1.2 as-number 100
[CE1-bgp] import-route direct
[CE1-bgp] import-route static
[CE1-bgp] quit
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpna
[PE1-bgp-vpna] peer 10.1.1.1 as-number 65001
[PE1-bgp-vpna] import-route direct
[PE1-bgp-vpna] quit
[PE1-bgp] quit
# 配置CE 2。
[CE2] bgp 65002
[CE2-bgp] peer 10.2.1.2 as-number 200
[CE2-bgp] import-route direct
[CE2-bgp] import-route static
[CE2-bgp] quit
# 配置PE 2。
[PE2] bgp 200
[PE2-bgp] ipv4-family vpn-instance vpna
[PE2-bgp-vpna] peer 10.2.1.1 as-number 65002
[PE2-bgp-vpna] import-route direct
[PE2-bgp-vpna] quit
[PE2-bgp] quit
(5) PE与本AS的ASBR-PE之间建立IBGP对等体,ASBR-PE之间建立EBGP对等体
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp] peer 2.2.2.9 as-number 100
[PE1-bgp] peer 2.2.2.9 connect-interface loopback 0
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 2.2.2.9 enable
[PE1-bgp-af-vpnv4] peer 2.2.2.9 next-hop-local
[PE1-bgp-af-vpnv4] quit
[PE1-bgp] quit
# 配置ASBR-PE 1。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp] ipv4-family vpn-instance vpna
[ASBR-PE1-bgp-vpna] peer 192.1.1.2 as-number 200
[ASBR-PE1-bgp-vpna] quit
[ASBR-PE1-bgp] peer 1.1.1.9 as-number 100
[ASBR-PE1-bgp] peer 1.1.1.9 connect-interface loopback 0
[ASBR-PE1-bgp] ipv4-family vpnv4
[ASBR-PE1-bgp-af-vpnv4] peer 1.1.1.9 enable
[ASBR-PE1-bgp-af-vpnv4] peer 1.1.1.9 next-hop-local
[ASBR-PE1-bgp-af-vpnv4] quit
[ASBR-PE1-bgp] quit
# 配置ASBR-PE 2。
[ASBR-PE2] bgp 200
[ASBR-PE2-bgp] ipv4-family vpn-instance vpna
[ASBR-PE2-bgp-vpna] peer 192.1.1.1 as-number 100
[ASBR-PE2-bgp-vpna] quit
[ASBR-PE2-bgp] peer 4.4.4.9 as-number 200
[ASBR-PE2-bgp] peer 4.4.4.9 connect-interface loopback 0
[ASBR-PE2-bgp] ipv4-family vpnv4
[ASBR-PE2-bgp-af-vpnv4] peer 4.4.4.9 enable
[ASBR-PE2-bgp-af-vpnv4] peer 4.4.4.9 next-hop-local
[ASBR-PE2-bgp-af-vpnv4] quit
[ASBR-PE2-bgp] quit
# 配置PE 2。
[PE2] bgp 200
[PE2-bgp] peer 3.3.3.9 as-number 200
[PE2-bgp] peer 3.3.3.9 connect-interface loopback 0
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 3.3.3.9 enable
[PE2-bgp-af-vpnv4] peer 3.3.3.9 next-hop-local
[PE2-bgp-af-vpnv4] quit
[PE2-bgp] quit
(6) 配置后的检验
上述配置完成后,CE之间能学习到对方的接口路由,CE1和CE2能够相互ping通。
l Site 1和Site 2属于同一个VPN,Site 1的CE 1通过AS 100的PE 1接入,Site2的CE 2通过AS 600的PE 2接入;
l 同一自治系统内的PE设备之间运行IS-IS作为IGP;
l PE 1与ASBR-PE 1间通过MP-IBGP交换标签IPv4路由;
l PE 2与ASBR-PE 2间通过MP-IBGP交换标签IPv4路由;
l ASBR-PE 1与ASBR-PE 2间通过MP-EBGP交换标签IPv4路由;
l ASBR-PE上不对接收的VPN-IPv4路由进行VPN-Target过滤。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop1 |
2.2.2.9/32 |
PE 2 |
Loop1 |
5.5.5.9/32 |
|
Vlan-int1 |
30.0.0.1/8 |
|
Vlan-int1 |
20.0.0.1/8 |
|
Vlan-int2 |
1.1.1.2/8 |
|
Vlan-int2 |
9.1.1.2/8 |
ASBR-PE 1 |
Loop1 |
3.3.3.9/32 |
ASBR-PE 2 |
Loop1 |
4.4.4.9/32 |
|
Vlan-int1 |
1.1.1.1/8 |
|
Vlan-int1 |
9.1.1.1/8 |
|
Vlan-int2 |
11.0.0.2/8 |
|
Vlan-int2 |
11.0.0.1/8 |
图1-20 ASBR间通过MP-EBGP发布标签VPN-IPv4路由
(1) 配置PE 1
<Sysname> system-view
[Sysname] sysname PE1
# 在PE 1上运行IS-IS。
[PE1] isis 1
[PE1-isis-1] network-entity 10.111.111.111.111.00
[PE1-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[PE1] mpls lsr-id 2.2.2.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 配置VLAN接口2,在接口上运行IS-IS,并使能MPLS和LDP。
[PE1] interface Vlan-interface 2
[PE1-Vlan-interface2] ip address 1.1.1.2 255.0.0.0
[PE1-Vlan-interface2] isis enable 1
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 2.2.2.9 32
[PE1-LoopBack1] isis enable 1
[PE1-LoopBack1] quit
# 创建一个VPN实例,名为vpn1,配置RD和VPN-target属性。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 11:11
[PE1-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE1-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE1-vpn-instance-vpn1] quit
# 将连接CE 1的接口绑定到创建的VPN实例。
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpn1
[PE1-Vlan-interface1] ip address 30.0.0.1 8
[PE1-Vlan-interface1] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置IBGP对等体3.3.3.9为VPNv4对等体。
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface LoopBack 1
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 3.3.3.9 enable
[PE1-bgp-af-vpnv4] quit
# 将直连路由引入VPN1的VPN路由表。
[PE1] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] import-route direct
[PE1-bgp-vpn1] quit
(2) 配置ASBR-PE 1
<Sysname> system-view
[Sysname] sysname ASBR-PE1
# 在ASBR-PE 1上运行IS-IS。
[ASBR-PE1] isis 1
[ASBR-PE1-isis-1] network-entity 10.222.222.222.222.00
[ASBR-PE1-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[ASBR-PE1] mpls lsr-id 3.3.3.9
[ASBR-PE1] mpls
[ASBR-PE1-mpls] quit
[ASBR-PE1] mpls ldp
[ASBR-PE1-mpls-ldp] quit
# 配置接口Vlan-interface1,在接口上运行IS-IS,并使能MPLS和LDP。
[ASBR-PE1] interface Vlan-interface 1
[ASBR-PE1-Vlan-interface1] ip address 1.1.1.1 255.0.0.0
[ASBR-PE1-Vlan-interface1] isis enable 1
[ASBR-PE1-Vlan-interface1] mpls
[ASBR-PE1-Vlan-interface1] mpls ldp
[ASBR-PE1-Vlan-interface1] quit
# 配置接口Vlan-interface2,使能MPLS。
[ASBR-PE1] interface Vlan-interface 2
[ASBR-PE1-Vlan-interface2] ip address 11.0.0.2 255.0.0.0
[ASBR-PE1-Vlan-interface2] mpls
[ASBR-PE1-Vlan-interface2] quit
# 创建Loopback接口1,并运行IS-IS。
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ip address 3.3.3.9 32
[ASBR-PE1-LoopBack1] isis enable 1
[ASBR-PE1-LoopBack1] quit
# 在ASBR-PE 1上运行BGP。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp] peer 2.2.2.9 as-number 100
[ASBR-PE1-bgp] peer 2.2.2.9 connect-interface LoopBack 1
[ASBR-PE1-bgp] peer 11.0.0.1 as-number 600
[ASBR-PE1-bgp] peer 11.0.0.1 connect-interface vlan-interface 2
# 不对接收的VPNv4路由进行Import VPN-target过滤。
[ASBR-PE1-bgp] ipv4-family vpnv4
[ASBR-PE1-bgp-af-vpnv4] undo policy vpn-target
# 将IBGP对等体2.2.2.9和EBGP对等体11.0.0.1都配置为VPNv4对等体。
[ASBR-PE1-bgp-af-vpnv4] peer 11.0.0.1 enable
[ASBR-PE1-bgp-af-vpnv4] peer 2.2.2.9 enable
[ASBR-PE1-bgp-af-vpnv4] quit
(3) 配置ASBR-PE 2
<Sysname> system-view
[Sysname] sysname ASBR-PE2
# 在ASBR-PE 2上运行IS-IS。
[ASBR-PE2] isis 1
[ASBR-PE2-isis-1] network-entity 10.222.222.222.222.00
[ASBR-PE2-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[ASBR-PE2] mpls lsr-id 4.4.4.9
[ASBR-PE2] mpls
[ASBR-PE2-mpls] quit
[ASBR-PE2] mpls ldp
[ASBR-PE2-mpls-ldp] quit
# 配置接口Vlan-interface1,在接口上运行IS-IS,并使能MPLS和LDP。
[ASBR-PE2] interface Vlan-interface 1
[ASBR-PE2-Vlan-interface1] ip address 9.1.1.1 255.0.0.0
[ASBR-PE2-Vlan-interface1] isis enable 1
[ASBR-PE2-Vlan-interface1] mpls
[ASBR-PE2-Vlan-interface1] mpls ldp
[ASBR-PE2-Vlan-interface1] quit
# 配置接口Vlan-interface 2,使能MPLS。
[ASBR-PE2] interface Vlan-interface 2
[ASBR-PE2-Vlan-interface2] ip address 11.0.0.1 255.0.0.0
[ASBR-PE2-Vlan-interface2] mpls
[ASBR-PE2-Vlan-interface2] quit
# 创建Loopback接口1,并运行IS-IS。
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ip address 4.4.4.9 32
[ASBR-PE2-LoopBack1] isis enable 1
[ASBR-PE2-LoopBack1] quit
# 在ASBR-PE 2上运行BGP。
[ASBR-PE2] bgp 600
[ASBR-PE2-bgp] peer 11.0.0.2 as-number 100
[ASBR-PE2-bgp] peer 11.0.0.2 connect-interface vlan-interface 2
[ASBR-PE2-bgp] peer 5.5.5.9 as-number 600
[ASBR-PE2-bgp] peer 5.5.5.9 connect-interface LoopBack 1
# 不对接收的VPNv4路由进行Import VPN-target过滤。
[ASBR-PE2-bgp] ipv4-family vpnv4
[ASBR-PE2-bgp-af-vpnv4] undo policy vpn-target
# 将IBGP对等体5.5.5.9和EBGP对等体11.0.0.2都配置为VPNv4对等体。
[ASBR-PE2-bgp-af-vpnv4] peer 11.0.0.2 enable
[ASBR-PE2-bgp-af-vpnv4] peer 5.5.5.9 enable
[ASBR-PE2-bgp-af-vpnv4] quit
(4) 配置PE 2
<Sysname> system-view
[Sysname] sysname PE2
# 在PE 2上运行IS-IS。
[PE2] isis 1
[PE2-isis-1] network-entity 10.111.111.111.111.00
[PE2-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[PE2] mpls lsr-id 5.5.5.9
[PE2] mpls
[PE2-mpls] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 配置接口Vlan-interface 2,在接口上运行IS-IS,并使能MPLS和LDP。
[PE2] interface Vlan-interface 2
[PE2-Vlan-interface2] ip address 9.1.1.2 255.0.0.0
[PE2-Vlan-interface2] isis enable 1
[PE2-Vlan-interface2] mpls
[PE2-Vlan-interface2] mpls ldp
[PE2-Vlan-interface2] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 5.5.5.9 32
[PE2-LoopBack1] isis enable 1
[PE2-LoopBack1] quit
# 创建一个VPN实例,名为vpn1,配置RD和VPN-target属性。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 12:12
[PE2-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE2-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE2-vpn-instance-vpn1] quit
# 将连接CE 2的接口绑定到创建的VPN实例。
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] ip binding vpn-instance vpn1
[PE2-Vlan-interface1] ip address 20.0.0.1 8
[PE2-Vlan-interface1] quit
# 在PE 2上运行BGP。
[PE2] bgp 600
# 配置IBGP对等体4.4.4.9为VPNv4对等体。
[PE2-bgp] peer 4.4.4.9 as-number 600
[PE2-bgp] peer 4.4.4.9 connect-interface LoopBack 1
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 4.4.4.9 enable
[PE2-bgp-af-vpnv4] quit
# 将直连路由引入VPN1的VPN路由表。
[PE2] bgp 600
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] import-route direct
[PE2-bgp-vpn1] quit
(5) 配置后的检验
配置完成后,在PE 2上对PE 1进行Ping操作,可以Ping通:
[PE2] ping –vpn-instance vpn1 30.0.0.1
在PE 1上对PE 2进行Ping操作,也可以Ping通:
[PE1] ping –vpn-instance vpn1 20.0.0.1
l Site 1和Site 2属于同一个VPN,Site 1通过AS 100的PE 1接入,Site 2通过AS 600的PE 2接入;
l 同一自治系统内的PE设备之间运行IS-IS作为IGP;
l PE 1与ASBR-PE 1间通过MP-IBGP交换标签IPv4路由;
l PE 2与ASBR-PE 2间通过MP-IBGP交换标签IPv4路由;
l PE 1与PE 2建立MP-EBGP对等体;
l ASBR-PE 1和ASBR-PE 2上分别配置路由策略,对从对方接收的路由压入标签;
l ASBR-PE 1与ASBR-PE 2间通过MP-EBGP交换标签IPv4路由。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop1 |
2.2.2.9/32 |
PE 2 |
Loop1 |
5.5.5.9/32 |
|
Loop6 |
30.0.0.1/32 |
|
Loop6 |
20.0.0.1/32 |
|
Vlan-int1 |
1.1.1.2/8 |
|
Vlan-int1 |
9.1.1.2/8 |
ASBR-PE 1 |
Loop1 |
3.3.3.9/32 |
ASBR-PE 2 |
Loop1 |
4.4.4.9/32 |
|
Vlan-int1 |
1.1.1.1/8 |
|
Vlan-int1 |
9.1.1.1/8 |
|
Vlan-int2 |
11.0.0.2/8 |
|
Vlan-int2 |
11.0.0.1/8 |
图1-21 PE间通过Multi-hop MP-EBGP发布标签VPN-IPv4路由
(1) 配置PE 1
<Sysname> system-view
[Sysname] sysname PE1
# 在PE 1上运行IS-IS。
[PE1] isis 1
[PE1-isis-1] network-entity 10.111.111.111.111.00
[PE1-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[PE1] mpls lsr-id 2.2.2.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 配置接口Vlan-interface1,在接口上运行IS-IS,并使能MPLS和LDP。
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip address 1.1.1.2 255.0.0.0
[PE1-Vlan-interface1] isis enable 1
[PE1-Vlan-interface1] mpls
[PE1-Vlan-interface1] mpls ldp
[PE1-Vlan-interface1] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 2.2.2.9 32
[PE1-LoopBack1] isis enable 1
[PE1-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置VPN-target属性。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 11:11
[PE1-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE1-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE1-vpn-instance-vpn1] quit
# 创建Loopback接口6,并将此接口绑定到vpn1。
[PE1] interface loopback 6
[PE1-LoopBack6] ip binding vpn-instance vpn1
[PE1-LoopBack6] ip address 30.0.0.1 32
[PE1-LoopBack6] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置PE 1向IBGP对等体3.3.3.9发布标签路由及从3.3.3.9接收标签路由的能力。
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface LoopBack 1
[PE1-bgp] peer 3.3.3.9 label-route-capability
# 配置PE 1到EBGP对等体5.5.5.9的最大跳数为10。
[PE1-bgp] peer 5.5.5.9 as-number 600
[PE1-bgp] peer 5.5.5.9 connect-interface LoopBack 1
[PE1-bgp] peer 5.5.5.9 ebgp-max-hop 10
# 配置对等体5.5.5.9作为VPNv4对等体。
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 5.5.5.9 enable
[PE1-bgp-af-vpnv4] quit
# 将直连路由引入vpn1的路由表。
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] import-route direct
[PE1-bgp-vpn1] quit
(2) 配置ASBR-PE 1
<Sysname> system-view
[Sysname] sysname ASBR-PE1
# 在ASBR-PE1上运行IS-IS。
[ASBR-PE1] isis 1
[ASBR-PE1-isis-1] network-entity 10.222.222.222.222.00
[ASBR-PE1-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[ASBR-PE1] mpls lsr-id 3.3.3.9
[ASBR-PE1] mpls
[ASBR-PE1-mpls] quit
[ASBR-PE1] mpls ldp
[ASBR-PE1-mpls-ldp] quit
# 配置接口Vlan-interface1,在接口上运行IS-IS,并使能MPLS和LDP。
[ASBR-PE1] interface Vlan-interface 1
[ASBR-PE1-Vlan-interface1] ip address 1.1.1.1 255.0.0.0
[ASBR-PE1-Vlan-interface1] isis enable 1
[ASBR-PE1-Vlan-interface1] mpls
[ASBR-PE1-Vlan-interface1] mpls ldp
[ASBR-PE1-Vlan-interface1] quit
# 配置接口Vlan-interface2,并在接口上使能MPLS。
[ASBR-PE1] interface Vlan-interface 2
[ASBR-PE1-Vlan-interface2] ip address 11.0.0.2 255.0.0.0
[ASBR-PE1-Vlan-interface2] mpls
[ASBR-PE1-Vlan-interface2] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ip address 3.3.3.9 32
[ASBR-PE1-LoopBack1] isis enable 1
[ASBR-PE1-LoopBack1] quit
# 创建路由策略。
[ASBR-PE1] route-policy policy1 permit node 1
New Sequence of this List
[ASBR-PE1-route-policy] apply mpls-label
[ASBR-PE1-route-policy] quit
[ASBR-PE1] route-policy policy2 permit node 1
New Sequence of this List
[ASBR-PE1-route-policy] if-match mpls-label
[ASBR-PE1-route-policy] apply mpls-label
[ASBR-PE1-route-policy] quit
# 在ASBR-PE 1上运行BGP,引入IS-IS进程1的路由。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp] import-route isis 1
# 向IBGP对等体2.2.2.9发布标签路由及从2.2.2.9接收标签路由的能力。
[ASBR-PE1-bgp] peer 2.2.2.9 as-number 100
[ASBR-PE1-bgp] peer 2.2.2.9 connect-interface LoopBack 1
[ASBR-PE1-bgp] peer 2.2.2.9 label-route-capability
# 对IBGP对等体2.2.2.9发布来的路由应用已配置的路由策略policy2。
[ASBR-PE1-bgp] peer 2.2.2.9 route-policy policy2 export
# 对EBGP对等体11.0.0.1发布来的路由应用已配置的路由策略policy1。
[ASBR-PE1-bgp] peer 11.0.0.1 as-number 600
[ASBR-PE1-bgp] peer 11.0.0.1 route-policy policy1 export
# 向EBGP对等体11.0.0.1发布标签路由及从11.0.0.1接收标签路由的能力。
[ASBR-PE1-bgp] peer 11.0.0.1 label-route-capability
(3) 配置ASBR-PE 2
<Sysname> system-view
[Sysname] sysname ASBR-PE2
# 在ASBR-PE 2上运行IS-IS。
[ASBR-PE2] isis 1
[ASBR-PE2-isis-1] network-entity 10.222.222.222.222.00
[ASBR-PE2-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[ASBR-PE2] mpls lsr-id 4.4.4.9
[ASBR-PE2] mpls
[ASBR-PE2-mpls] quit
[ASBR-PE2] mpls ldp
[ASBR-PE2-mpls-ldp] quit
# 配置接口Vlan-interface 1,在接口上运行IS-IS,并在接口上使能MPLS和LDP。
[ASBR-PE2] interface Vlan-interface 1
[ASBR-PE2-Vlan-interface1] ip address 9.1.1.1 255.0.0.0
[ASBR-PE2-Vlan-interface1] isis enable 1
[ASBR-PE2-Vlan-interface1] mpls
[ASBR-PE2-Vlan-interface1] mpls ldp
[ASBR-PE2-Vlan-interface1] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ip address 4.4.4.9 32
[ASBR-PE2-LoopBack1] isis enable 1
[ASBR-PE2-LoopBack1] quit
# 配置接口Vlan-interface 2,在接口上使能MPLS。
[ASBR-PE2] interface Vlan-interface 2
[ASBR-PE2-Vlan-interface2] ip address 11.0.0.1 255.0.0.0
[ASBR-PE2-Vlan-interface2] mpls
[ASBR-PE2-Vlan-interface2] quit
# 创建路由策略。
[ASBR-PE2] route-policy policy1 permit node 1
New Sequence of this List
[ASBR-PE2-route-policy] apply mpls-label
[ASBR-PE2-route-policy] quit
[ASBR-PE2] route-policy policy2 permit node 1
New Sequence of this List
[ASBR-PE2-route-policy] if-match mpls-label
[ASBR-PE2-route-policy] apply mpls-label
[ASBR-PE2-route-policy] quit
# 在ASBR-PE 2上运行BGP,引入IS-IS进程1的路由。
[ASBR-PE2] bgp 600
[ASBR-PE2-bgp] import-route isis 1
# 向IBGP对等体5.5.5.9发布标签路由及从5.5.5.9接收标签路由的能力。
[ASBR-PE2-bgp] peer 5.5.5.9 as-number 600
[ASBR-PE2-bgp] peer 5.5.5.9 connect-interface LoopBack 1
[ASBR-PE2-bgp] peer 5.5.5.9 label-route-capability
# 对IBGP对等体5.5.5.9发布来的路由应用已配置的路由策略policy2。
[ASBR-PE2-bgp] peer 5.5.5.9 route-policy policy2 export
# 对EBGP对等体11.0.0.2发布来的路由应用已配置的路由策略policy1。
[ASBR-PE2-bgp] peer 11.0.0.2 as-number 100
[ASBR-PE2-bgp] peer 11.0.0.2 route-policy policy1 export
# 向EBGP对等体11.0.0.2发布标签路由及从11.0.0.2接收标签路由的能力。
[ASBR-PE2-bgp] peer 11.0.0.2 label-route-capability
[ASBR-PE2-bgp] quit
(4) 配置PE 2
<Sysname> system-view
[Sysname] sysname PE2
# 在PE 2上运行IS-IS。
[PE2] isis 1
[PE2-isis-1] network-entity 10.111.111.111.111.00
[PE2-isis-1] quit
# 配置LSR ID,使能MPLS和LDP。
[PE2] mpls lsr-id 5.5.5.9
[PE2] mpls
[PE2-mpls] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 配置接口Vlan-interface 1,在接口上运行IS-IS,并使能MPLS和LDP。
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] ip address 9.1.1.2 255.0.0.0
[PE2-Vlan-interface1] isis enable 1
[PE2-Vlan-interface1] mpls
[PE2-Vlan-interface1] mpls ldp
[PE2-Vlan-interface1] quit
# 创建Loopback接口1,在接口上运行IS-IS。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 5.5.5.9 32
[PE2-LoopBack1] isis enable 1
[PE2-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置VPN-target属性。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 11:11
[PE2-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE2-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE2-vpn-instance-vpn1] quit
# 创建Loopback接口6,并将此接口绑定到vpn1。
[PE2] interface loopback 6
[PE2-LoopBack6] ip binding vpn-instance vpn1
[PE2-LoopBack6] ip address 20.0.0.1 32
[PE2-LoopBack6] quit
# 在PE 2上运行BGP。
[PE2] bgp 600
# 配置PE2向IBGP对等体4.4.4.9发布标签路由及从4.4.4.9接收标签路由的能力。
[PE2-bgp] peer 4.4.4.9 as-number 600
[PE2-bgp] peer 4.4.4.9 connect-interface LoopBack 1
[PE2-bgp] peer 4.4.4.9 label-route-capability
# 配置PE 2到EBGP对等体2.2.2.9的最大跳数为10。
[PE2-bgp] peer 2.2.2.9 as-number 100
[PE2-bgp] peer 2.2.2.9 connect-interface LoopBack 1
[PE2-bgp] peer 2.2.2.9 ebgp-max-hop 10
# 配置对等体2.2.2.9作为VPNv4对等体。
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 2.2.2.9 enable
[PE2-bgp-af-vpnv4] quit
# 将直连路由引入vpn1的路由表。
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] import-route direct
[PE2-bgp-vpn1] quit
配置完成后,在PE 2上对PE 1进行Ping操作,可以Ping通:
[PE2] ping –vpn-instance vpn1 30.0.0.1
在PE 1上对PE 2进行Ping操作,也可以Ping通:
[PE1] ping –vpn-instance vpn1 20.0.0.1
二级运营商向自己的客户提供MPLS L3VPN服务。
在表1-27中:
l PE 1和PE 2是一级运营商骨干网的PE设备;
l CE 1和CE 2是二级运营商的设备,作为CE接入一级运营商的骨干网;
l PE 3和PE 4是二级运营商的设备,为二级运营商的客户提供接入;
l CE 3和CE 4是二级运营商的客户。
运营商的运营商的配置关键在于理解两类路由的交换过程,即:
l 二级运营商VPN内部路由在一级运营商骨干网上的交换:一级运营商将二级运营商作为自己的CE接入;
l 二级运营商本身客户的VPN路由在二级运营商PE设备间的交换:需要在二级运营商PE设备(PE 3和PE 4)间建立MP-IBGP对等体关系。
& 说明:
在S9500系列路由交换机上,后缀为C的接口板不支持运营商的运营商。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 3 |
Vlan-int1 |
100.1.1.1/24 |
CE 4 |
Vlan-int1 |
120.1.1.1/24 |
PE 3 |
Loop1 |
1.1.1.9/32 |
PE 4 |
Loop1 |
6.6.6.9/32 |
|
Vlan-int1 |
100.1.1.2/24 |
|
Vlan-int1 |
120.1.1.2/24 |
|
Vlan-int2 |
10.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
CE 1 |
Loop1 |
2.2.2.9/32 |
CE 2 |
Loop1 |
5.5.5.9/32 |
|
Vlan-int2 |
10.1.1.2/24 |
|
Vlan-int1 |
21.1.1.2/24 |
|
Vlan-int1 |
11.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
PE 1 |
Loop1 |
3.3.3.9/32 |
PE 2 |
Loop1 |
4.4.4.9/32 |
|
Vlan-int1 |
11.1.1.2/24 |
|
Vlan-int2 |
30.1.1.2/24 |
|
Vlan-int2 |
30.1.1.1/24 |
|
Vlan-int1 |
21.1.1.1/24 |
(1) 配置一级运营商骨干网的MPLS L3VPN,使用IS-IS作为骨干网的IGP协议,PE 1和PE 2之间使能LDP,并建立MP-IBGP对等体关系
# 配置PE 1。
<Sysname> system-view
[Sysname] sysname PE1
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 3.3.3.9 32
[PE1-LoopBack1] quit
[PE1] mpls lsr-id 3.3.3.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] isis 1
[PE1-isis-1] network-entity 10.0000.0000.0000.0004.00
[PE1-isis-1] quit
[PE1] interface loopback 1
[PE1-LoopBack1] isis enable 1
[PE1-LoopBack1] quit
[PE1] interface Vlan-interface 2
[PE1-Vlan-interface2] ip address 30.1.1.1 24
[PE1-Vlan-interface2] isis enable 1
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] mpls ldp transport-address interface
[PE1-Vlan-interface2] quit
[PE1] bgp 100
[PE1-bgp] peer 4.4.4.9 as-number 100
[PE1-bgp] peer 4.4.4.9 connect-interface loopback 1
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 4.4.4.9 enable
[PE1-bgp-af-vpnv4] quit
[PE1-bgp] quit
& 说明:
PE 2的配置与PE 1类似,配置过程省略。
配置完成后,在PE 1或PE 2上执行display mpls ldp session命令可以看到LDP会话建立成功;执行display bgp peer命令可以看到BGP对等体关系已建立,并达到Established状态;执行display isis peer命令可以看到IS-IS邻居关系已建立,状态为UP。
以PE 1为例:
[PE1] display mpls ldp session
LDP Session(s) in Public Network
Total number of sessions: 1
----------------------------------------------------------------
Peer-ID Status LAM SsnRole FT MD5 KA-Sent/Rcv
----------------------------------------------------------------
4.4.4.9:0 Operational DU Active Off Off 378/378
----------------------------------------------------------------
LAM : Label Advertisement Mode FT : Fault Tolerance
[PE1] display bgp peer
BGP local router ID : 3.3.3.9
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
4.4.4.9 4 100 162 145 0 0 02:12:47 Established
[PE1] display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0005
Interface: Vlan-interface44 Circuit Id: 0000.0000.0004.02
State: Up HoldTime: 29s Type: L1(L1L2) PRI: 64
System Id: 0000.0000.0005
Interface: Vlan-interface44 Circuit Id: 0000.0000.0004.02
State: Up HoldTime: 30s Type: L2(L1L2) PRI: 64
(2) 配置二级运营商网络:使用IS-IS作为IGP协议,PE 3和CE 1、PE 4和CE 2之间分别使能LDP
# 配置PE 3。
<Sysname> system-view
[Sysname] sysname PE3
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.9 32
[PE3-LoopBack1] quit
[PE3] mpls lsr-id 1.1.1.9
[PE3] mpls
[PE3-mpls] quit
[PE3] mpls ldp
[PE3-mpls-ldp] quit
[PE3] isis 2
[PE3-isis-2] network-entity 10.0000.0000.0000.0001.00
[PE3-isis-2] quit
[PE3] interface loopback 1
[PE3-LoopBack1] isis enable 2
[PE3-LoopBack1] quit
[PE3] interface Vlan-interface 2
[PE3-Vlan-interface2] ip address 10.1.1.1 24
[PE3-Vlan-interface2] isis enable 2
[PE3-Vlan-interface2] mpls
[PE3-Vlan-interface2] mpls ldp
[PE3-Vlan-interface2] mpls ldp transport-address interface
[PE3-Vlan-interface2] quit
# 配置CE 1。
<Sysname> system-view
[Sysname] sysname CE1
[CE1] interface loopback 1
[CE1-LoopBack1] ip address 2.2.2.9 32
[CE1-LoopBack1] quit
[CE1] mpls lsr-id 2.2.2.9
[CE1] mpls
[CE1-mpls] quit
[CE1] mpls ldp
[CE1-mpls-ldp] quit
[CE1] isis 2
[CE1-isis-2] network-entity 10.0000.0000.0000.0002.00
[CE1-isis-2] quit
[CE1] interface loopback 1
[CE1-LoopBack1] isis enable 2
[CE1-LoopBack1] quit
[CE1] interface Vlan-interface 2
[CE1-Vlan-interface2] ip address 10.1.1.2 24
[CE1-Vlan-interface2] isis enable 2
[CE1-Vlan-interface2] mpls
[CE1-Vlan-interface2] mpls ldp
[CE1-Vlan-interface2] mpls ldp transport-address interface
[CE1-Vlan-interface2] quit
配置完成后,PE 3和CE 1之间应能建立LDP和IS-IS邻居关系。
& 说明:
PE 4和CE 2之间的配置与PE 3和CE 1之间的配置类似,配置过程省略。
(3) 配置二级运营商CE接入到一级运营商的PE
# 配置PE 1。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 200:1
[PE1-vpn-instance-vpn1] vpn-target 1:1
[PE1-vpn-instance-vpn1] quit
[PE1] mpls ldp vpn-instance vpn1
[PE1-mpls-ldp-vpn-instance-vpn1] quit
[PE1] isis 2 vpn-instance vpn1
[PE1-isis-2] network-entity 10.0000.0000.0000.0003.00
[PE1-isis-2] import-route bgp
[PE1-isis-2] quit
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpn1
[PE1-Vlan-interface1] ip address 11.1.1.2 24
[PE1-Vlan-interface1] isis enable 2
[PE1-Vlan-interface1] mpls
[PE1-Vlan-interface1] mpls ldp
[PE1-Vlan-interface1] mpls ldp transport-address interface
# 配置CE 1。
[CE1] interface Vlan-interface 1
[CE1-Vlan-interface1] ip address 11.1.1.1 24
[CE1-Vlan-interface1] isis enable 2
[CE1-Vlan-interface1] mpls
[CE1-Vlan-interface1] mpls ldp
[CE1-Vlan-interface1] mpls ldp transport-address interface
[CE1-Vlan-interface1] quit
配置完成后,PE 1和CE 1之间应能建立LDP和IS-IS邻居关系。
& 说明:
PE 2和CE 2之间的配置与PE 1和CE 1之间的配置类似,配置过程省略。
(4) 配置二级运营商的客户接入PE
# 配置CE 3。
<Sysname> system-view
[Sysname] sysname CE3
[CE3] interface Vlan-interface 1
[CE3-Vlan-interface1] ip address 100.1.1.1 24
[CE3-Vlan-interface1] quit
[CE3] bgp 65410
[CE3-bgp] peer 100.1.1.2 as-number 100
[CE3-bgp] import-route direct
[CE3-bgp] quit
# 配置PE 3。
[PE3] ip vpn-instance vpn1
[PE3-vpn-instance-vpn1] route-distinguisher 100:1
[PE3-vpn-instance-vpn1] vpn-target 1:1
[PE3-vpn-instance-vpn1] quit
[PE3] interface Vlan-interface 1
[PE3-Vlan-interface1] ip binding vpn-instance vpn1
[PE3-Vlan-interface1] ip address 100.1.1.2 24
[PE3-Vlan-interface1] quit
[PE3] bgp 100
[PE3-bgp] ipv4-family vpn-instance vpn1
[PE3-bgp-vpn1] peer 100.1.1.1 as-number 65410
[PE3-bgp-vpn1] import-route direct
[PE3-bgp-vpn1] quit
[PE3-bgp] quit
& 说明:
PE 4和CE 4之间的配置与PE 3和CE 3之间的配置类似,配置过程省略。
(5) 在二级运营商的PE之间建立MP-IBGP对等体关系,交换二级运营商的客户的VPN路由
# 配置PE 3。
[PE3] bgp 100
[PE3-bgp] peer 6.6.6.9 as-number 100
[PE3-bgp] peer 6.6.6.9 connect-interface loopback 1
[PE3-bgp] ipv4-family vpnv4
[PE3-bgp-af-vpnv4] peer 6.6.6.9 enable
[PE3-bgp-af-vpnv4] quit
[PE3-bgp] quit
& 说明:
PE 4的配置与PE 3类似,配置过程省略。
(6) 配置后的检验
所有配置完成后,在PE 1和PE 2上执行display ip routing-table命令,可以看到PE 1和PE 2的公网路由表中只有一级运营商网络的路由。以PE 1为例:
[PE1] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
3.3.3.9/32 Direct 0 0 127.0.0.1 InLoop0
4.4.4.9/32 ISIS 15 10 30.1.1.2 Vlan2
30.1.1.0/24 Direct 0 0 30.1.1.1 Vlan2
30.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.2/32 Direct 0 0 30.1.1.2 Vlan2
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
在PE 1和PE 2上执行display ip routing-table vpn-instance命令,可以看到VPN路由表中有二级运营商网络的内部路由,但没有二级运营商维护的VPN路由。以PE 1为例:
[PE1] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 ISIS 15 20 11.1.1.1 Vlan1
2.2.2.9/32 ISIS 15 10 11.1.1.1 Vlan1
5.5.5.9/32 BGP 255 0 4.4.4.9 NULL0
6.6.6.9/32 BGP 255 0 4.4.4.9 NULL0
10.1.1.0/24 ISIS 15 20 11.1.1.1 Vlan1
11.1.1.0/24 Direct 0 0 11.1.1.1 Vlan1
11.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
11.1.1.2/32 Direct 0 0 11.1.1.2 Vlan1
20.1.1.0/24 BGP 255 0 4.4.4.9 NULL0
21.1.1.0/24 BGP 255 0 4.4.4.9 NULL0
21.1.1.2/32 BGP 255 0 4.4.4.9 NULL0
在CE 1和CE 2上执行display ip routing-table命令,可以看到公网路由表中有二级运营商网络的内部路由,但没有二级运营商维护的VPN路由。以CE 1为例:
[CE1] display ip routing-table
Routing Tables: Public
Destinations : 16 Routes : 16
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 ISIS 15 10 10.1.1.2 Vlan2
2.2.2.9/32 Direct 0 0 127.0.0.1 InLoop0
5.5.5.9/32 ISIS 15 74 11.1.1.2 Vlan1
6.6.6.9/32 ISIS 15 74 11.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.2 Vlan2
10.1.1.1/32 Direct 0 0 10.1.1.1 Vlan2
10.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
11.1.1.0/24 Direct 0 0 11.1.1.1 Vlan1
11.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
11.1.1.2/32 Direct 0 0 11.1.1.2 Vlan1
20.1.1.0/24 ISIS 15 74 11.1.1.2 Vlan1
21.1.1.0/24 ISIS 15 74 11.1.1.2 Vlan1
21.1.1.2/32 ISIS 15 74 11.1.1.2 Vlan1
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
在PE 3和PE 4上执行display ip routing-table命令,可以看到公网路由表中有二级运营商网络的内部路由。以PE 3为例:
[PE3] display ip routing-table
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 ISIS 15 10 10.1.1.2 Vlan2
5.5.5.9/32 ISIS 15 84 10.1.1.2 Vlan2
6.6.6.9/32 ISIS 15 84 10.1.1.2 Vlan2
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan2
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.2/32 Direct 0 0 10.1.1.2 Vlan2
11.1.1.0/24 ISIS 15 20 10.1.1.2 Vlan2
20.1.1.0/24 ISIS 15 84 10.1.1.2 Vlan2
21.1.1.0/24 ISIS 15 84 10.1.1.2 Vlan2
21.1.1.2/32 ISIS 15 84 10.1.1.2 Vlan2
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
在PE 3和PE 4上执行display ip routing-table vpn-instance命令,可以看到VPN路由表中有远端VPN客户的路由。以PE3为例:
[PE3] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost NextHop Interface
100.1.1.0/24 Direct 0 0 100.1.1.2 Vlan1
100.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
120.1.1.0/24 BGP 255 0 6.6.6.9 NULL0
PE 3和PE 4可以相互Ping通:
[PE3] ping 20.1.1.2
PING 20.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.2: bytes=56 Sequence=1 ttl=252 time=127 ms
Reply from 20.1.1.2: bytes=56 Sequence=2 ttl=252 time=97 ms
Reply from 20.1.1.2: bytes=56 Sequence=3 ttl=252 time=83 ms
Reply from 20.1.1.2: bytes=56 Sequence=4 ttl=252 time=70 ms
Reply from 20.1.1.2: bytes=56 Sequence=5 ttl=252 time=60 ms
--- 20.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 60/87/127 ms
CE 3和CE 4可以互相Ping通。
[CE3] ping 120.1.1.1
PING 120.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 120.1.1.1: bytes=56 Sequence=1 ttl=252 time=102 ms
Reply from 120.1.1.1: bytes=56 Sequence=2 ttl=252 time=69 ms
Reply from 120.1.1.1: bytes=56 Sequence=3 ttl=252 time=105 ms
Reply from 120.1.1.1: bytes=56 Sequence=4 ttl=252 time=88 ms
Reply from 120.1.1.1: bytes=56 Sequence=5 ttl=252 time=87 ms
--- 120.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 69/90/105 ms
以一个包括省骨干和地市的MPLS VPN网络为例:
l SPE作为省网的PE设备,接入地市的MPLS VPN网络;
l UPE作为下层地市网络的PE设备,最终接入VPN客户。对UPE的性能要求低于对SPE的性能要求。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int1 |
10.2.1.1/24 |
CE 3 |
Vlan-int1 |
10.1.1.1/24 |
CE 2 |
Vlan-int1 |
10.4.1.1/24 |
CE 4 |
Vlan-int1 |
10.3.1.1/24 |
UPE 1 |
Loop1 |
1.1.1.9/32 |
UPE 2 |
Loop1 |
4.4.4.9/32 |
|
Vlan-int1 |
172.1.1.1/24 |
|
Vlan-int1 |
172.2.1.1/24 |
|
Vlan-int2 |
10.2.1.2/24 |
|
Vlan-int2 |
10.1.1.2/24 |
|
Vlan-int3 |
10.4.1.2/24 |
|
Vlan-int3 |
10.3.1.2/24 |
SPE 1 |
Loop1 |
2.2.2.9/32 |
SPE 2 |
Loop1 |
3.3.3.9/32 |
|
Vlan-int1 |
172.1.1.2/24 |
|
Vlan-int1 |
172.2.1.2/24 |
|
Vlan-int2 |
180.1.1.1/24 |
|
Vlan-int2 |
180.1.1.2/24 |
图1-23 配置HoVPN组网图
(1) 配置UPE1
<Sysname> system-view
[Sysname] sysname UPE1
[UPE1] interface loopback 1
[UPE1-LoopBack1] ip address 1.1.1.9 32
[UPE1-LoopBack1] quit
[UPE1] mpls lsr-id 1.1.1.9
[UPE1] mpls
[UPE1-mpls] quit
[UPE1] mpls ldp
[UPE1-mpls-ldp] quit
[UPE1] interface Vlan-interface 1
[UPE1-Vlan-interface1] ip address 172.1.1.1 24
[UPE1-Vlan-interface1] mpls
[UPE1-Vlan-interface1] mpls ldp
[UPE1-Vlan-interface1] quit
[UPE1] ospf
[UPE1-ospf-1] area 0
[UPE1-ospf-1-area-0.0.0.0] network 172.1.1.0 0.0.0.255
[UPE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[UPE1-ospf-1-area-0.0.0.0] quit
[UPE1-ospf-1] quit
[UPE1] ip vpn-instance vpn1
[UPE1-vpn-instance-vpn1] route-distinguisher 100:1
[UPE1-vpn-instance-vpn1] vpn-target 100:1 both
[UPE1-vpn-instance-vpn1] quit
[UPE1] ip vpn-instance vpn2
[UPE1-vpn-instance-vpn2] route-distinguisher 100:2
[UPE1-vpn-instance-vpn2] vpn-target 100:2 both
[UPE1-vpn-instance-vpn2] quit
[UPE1] interface Vlan-interface 2
[UPE1-Vlan-interface2] ip binding vpn-instance vpn1
[UPE1-Vlan-interface2] ip address 10.2.1.2 24
[UPE1-Vlan-interface2] quit
[UPE1] interface Vlan-interface 3
[UPE1-Vlan-interface3] ip binding vpn-instance vpn2
[UPE1-Vlan-interface3] ip address 10.4.1.2 24
[UPE1-Vlan-interface3] quit
[UPE1] bgp 100
[UPE1-bgp] peer 2.2.2.9 as-number 100
[UPE1-bgp] import-route direct
[UPE1-bgp] ipv4-family vpnv4
[UPE1-bgp-af-vpnv4] peer 2.2.2.9 enable
[UPE1-bgp-af-vpnv4] quit
[UPE1-bgp] ipv4-family vpn-instance vpn1
[UPE1-bgp-vpn1] peer 10.2.1.1 as-number 65410
[UPE1-bgp-vpn1] import-route direct
[UPE1-bgp-vpn1] quit
[UPE1-bgp] ipv4-family vpn-instance vpn2
[UPE1-bgp-vpn1] peer 10.4.1.1 as-number 65420
[UPE1-bgp-vpn1] import-route direct
[UPE1-bgp-vpn1] quit
[UPE1-bgp] quit
(2) 配置CE 1
<Sysname> system-view
[Sysname] sysname CE1
[CE1] interface Vlan-interface 1
[CE1-Vlan-interface1] ip address 10.2.1.1 255.255.255.0
[CE1-Vlan-interface1] quit
[CE1] bgp 65410
[CE1-bgp] peer 10.2.1.2 as-number 100
[CE1-bgp] import-route direct
[CE1] quit
(3) 配置CE 2
<Sysname> system-view
[Sysname] sysname CE2
[CE2] interface Vlan-interface 1
[CE2-Vlan-interface1] ip address 10.4.1.1 255.255.255.0
[CE2-Vlan-interface1] quit
[CE2] bgp 65420
[CE2-bgp] peer 10.4.1.2 as-number 100
[CE2-bgp] import-route direct
[CE2] quit
(4) 配置UPE 2
<Sysname> system-view
[Sysname] sysname UPE2
[UPE2] interface loopback 1
[UPE2-LoopBack1] ip address 4.4.4.9 32
[UPE2-LoopBack1] quit
[UPE2] mpls lsr-id 4.4.4.9
[UPE2] mpls
[UPE2-mpls] quit
[UPE2] mpls ldp
[UPE2-mpls-ldp] quit
[UPE2] interface Vlan-interface 1
[UPE2-Vlan-interface1] ip address 172.2.1.1 24
[UPE2-Vlan-interface1] mpls
[UPE2-Vlan-interface1] mpls ldp
[UPE2-Vlan-interface1] quit
[UPE2] ospf
[UPE2-ospf-1] area 0
[UPE2-ospf-1-area-0.0.0.0] network 172.2.1.0 0.0.0.255
[UPE2-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[UPE2-ospf-1-area-0.0.0.0] quit
[UPE2-ospf-1] quit
[UPE2] ip vpn-instance vpn1
[UPE2-vpn-instance-vpn1] route-distinguisher 300:1
[UPE2-vpn-instance-vpn1] vpn-target 100:1 both
[UPE2-vpn-instance-vpn1] quit
[UPE2] ip vpn-instance vpn2
[UPE2-vpn-instance-vpn2] route-distinguisher 400:2
[UPE2-vpn-instance-vpn2] vpn-target 100:2 both
[UPE2-vpn-instance-vpn2] quit
[UPE2] interface Vlan-interface 2
[UPE2-Vlan-interface2] ip binding vpn-instance vpn1
[UPE2-Vlan-interface2] ip address 10.1.1.2 24
[UPE2-Vlan-interface2] quit
[UPE2] interface Vlan-interface 3
[UPE2-Vlan-interface3] ip binding vpn-instance vpn2
[UPE2-Vlan-interface3] ip address 10.3.1.2 24
[UPE2-Vlan-interface3] quit
[UPE2] bgp 100
[UPE2-bgp] peer 3.3.3.9 as-number 100
[UPE2-bgp] import-route direct
[UPE2-bgp] ipv4-family vpnv4
[UPE2-bgp-af-vpnv4] peer 3.3.3.9 enable
[UPE2-bgp-af-vpnv4] quit
[UPE2-bgp] ipv4-family vpn-instance vpn1
[UPE2-bgp-vpn1] peer 10.1.1.1 as-number 65430
[UPE2-bgp-vpn1] import-route direct
[UPE2-bgp-vpn1] quit
[UPE2-bgp] ipv4-family vpn-instance vpn2
[UPE2-bgp-vpn1] peer 10.3.1.1 as-number 65440
[UPE2-bgp-vpn1] import-route direct
[UPE2-bgp-vpn1] quit
[UPE2-bgp] quit
(5) 配置CE 3
<Sysname> system-view
[Sysname] sysname CE3
[CE3] interface Vlan-interface 1
[CE3-Vlan-interface1] ip address 10.1.1.1 255.255.255.0
[CE3-Vlan-interface1] quit
[CE3] bgp 65430
[CE3-bgp] peer 10.1.1.2 as-number 100
[CE3-bgp] import-route direct
[CE3] quit
(6) 配置CE 4
<Sysname> system-view
[Sysname] sysname CE1
[CE4] interface Vlan-interface 1
[CE4-Vlan-interface1] ip address 10.3.1.1 255.255.255.0
[CE4-Vlan-interface1] quit
[CE4] bgp 65440
[CE4-bgp] peer 10.3.1.2 as-number 100
[CE4-bgp] import-route direct
[CE4] quit
(7) 配置SPE 1
<Sysname> system-view
[Sysname] sysname SPE1
[SPE1] interface loopback 1
[SPE1-LoopBack1] ip address 2.2.2.9 32
[SPE1-LoopBack1] quit
[SPE1] mpls lsr-id 2.2.2.9
[SPE1] mpls
[SPE1-mpls] quit
[SPE1] mpls ldp
[SPE1-mpls-ldp] quit
[SPE1] interface Vlan-interface 1
[SPE1-Vlan-interface1] ip address 172.1.1.2 24
[SPE1-Vlan-interface1] mpls
[SPE1-Vlan-interface1] mpls ldp
[SPE1-Vlan-interface1] quit
[SPE1] interface Vlan-interface 2
[SPE1-Vlan-interface2] ip address 180.1.1.1 24
[SPE1-Vlan-interface2] mpls
[SPE1-Vlan-interface2] mpls ldp
[SPE1-Vlan-interface2] quit
[SPE1] ospf
[SPE1-ospf-1] area 0
[SPE1-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[SPE1-ospf-1-area-0.0.0.0] network 172.1.1.0 0.0.0.255
[SPE1-ospf-1-area-0.0.0.0] network 180.1.1.0 0.0.0.255
[SPE1-ospf-1-area-0.0.0.0] quit
[SPE1-ospf-1] quit
[SPE1] ip vpn-instance vpna
[SPE1-vpn-instance-vpna] route-distinguisher 500:1
[SPE1-vpn-instance-vpna ] vpn-target 100:1 both
[SPE1-vpn-instance-vpna] quit
[SPE1] ip vpn-instance vpnb
[SPE1-vpn-instance-vpnb] route-distinguisher 700:1
[SPE1-vpn-instance-vpnb] vpn-target 100:2 both
[SPE1-vpn-instance-vpnb] quit
[SPE1] bgp 100
[SPE1-bgp] peer 1.1.1.9 as-number 100
[SPE1-bgp] peer 1.1.1.9 connect-interface LoopBack1
[SPE1-bgp] peer 1.1.1.9 next-hop-local
[SPE1-bgp] peer 3.3.3.9 as-number 100
[SPE1-bgp] peer 3.3.3.9 connect-interface LoopBack1
[SPE1-bgp] ipv4-family vpnv4
[SPE1-bgp-af-vpnv4] peer 3.3.3.9 enable
[SPE1-bgp-af-vpnv4] peer 1.1.1.9 enable
[SPE1-bgp-af-vpnv4] peer 1.1.1.9 upe
[SPE1-bgp-af-vpnv4] peer 1.1.1.9 default-route-advertise vpn-instance vpna
[SPE1-bgp-af-vpnv4] peer 1.1.1.9 default-route-advertise vpn-instance vpnb
[SPE1-bgp-af-vpnv4] quit
[SPE1-bgp]ipv4-family vpn-instance vpna
[SPE1-bgp-vpna] quit
[SPE1-bgp]ipv4-family vpn-instance vpnb
[SPE1-bgp-vpnb] quit
[SPE1-bgp] quit
(8) 配置SPE 2
<Sysname> system-view
[Sysname] sysname SPE2
[SPE2] interface loopback 1
[SPE2-LoopBack1] ip address 3.3.3.9 32
[SPE2-LoopBack1] quit
[SPE2] mpls lsr-id 3.3.3.9
[SPE2] mpls
[SPE2-mpls] quit
[SPE2] mpls ldp
[SPE2-mpls-ldp] quit
[SPE2] interface Vlan-interface 2
[SPE2-Vlan-interface2] ip address 180.1.1.2 24
[SPE2-Vlan-interface2] mpls
[SPE2-Vlan-interface2] mpls ldp
[SPE2-Vlan-interface2] quit
[SPE2] interface Vlan-interface 1
[SPE2-Vlan-interface1] ip address 172.2.1.2 24
[SPE2-Vlan-interface1] mpls
[SPE2-Vlan-interface1] mpls ldp
[SPE2-Vlan-interface1] quit
[SPE2] ospf
[SPE2-ospf-1] area 0
[SPE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[SPE2-ospf-1-area-0.0.0.0] network 172.2.1.0 0.0.0.255
[SPE2-ospf-1-area-0.0.0.0] network 180.1.1.0 0.0.0.255
[SPE2-ospf-1-area-0.0.0.0] quit
[SPE2-ospf-1] quit
[SPE2] ip vpn-instance vpna
[SPE2-vpn-instance-vpna] route-distinguisher 600:1
[SPE2-vpn-instance-vpna ] vpn-target 100:1 both
[SPE2-vpn-instance-vpna] quit
[SPE2] ip vpn-instance vpnb
[SPE2-vpn-instance-vpnb] route-distinguisher 800:1
[SPE2-vpn-instance-vpnb] vpn-target 100:2 both
[SPE2-vpn-instance-vpnb] quit
[SPE2] bgp 100
[SPE2-bgp] peer 4.4.4.9 as-number 100
[SPE2-bgp] peer 4.4.4.9 connect-interface LoopBack1
[SPE2-bgp] peer 4.4.4.9 next-hop-local
[SPE2-bgp] peer 2.2.2.9 as-number 100
[SPE2-bgp] peer 2.2.2.9 connect-interface LoopBack1
[SPE2-bgp] ipv4-family vpnv4
[SPE2-bgp-af-vpnv4] peer 2.2.2.9 enable
[SPE2-bgp-af-vpnv4] peer 4.4.4.9 enable
[SPE2-bgp-af-vpnv4] peer 4.4.4.9 upe
[SPE2-bgp-af-vpnv4] peer 4.4.4.9 default-route-advertise vpn-instance vpna
[SPE2-bgp-af-vpnv4] peer 4.4.4.9 default-route-advertise vpn-instance vpnb
[SPE2-bgp-af-vpnv4] quit
[SPE2-bgp]ipv4-family vpn-instance vpna
[SPE2-bgp-vpna] quit
[SPE2-bgp]ipv4-family vpn-instance vpnb
[SPE2-bgp-vpnb] quit
[SPE2-bgp] quit
l CE 1和CE 2都属于VPN 1,它们分别接入PE 1和PE 2;
l CE 1和CE 2在同一个OSPF区域中;
l CE 1与CE 2之间的VPN流量通过MPLS骨干网转发,不使用OSPF的区域内路由。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int1 |
100.1.1.1/24 |
CE 2 |
Vlan-int1 |
120.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
30.1.1.2/24 |
PE 1 |
Loop1 |
1.1.1.9/32 |
PE 2 |
Loop1 |
2.2.2.9/32 |
|
Loop10 |
3.3.3.3/32 |
|
Loop10 |
5.5.5.5/32 |
|
Vlan-int1 |
100.1.1.2/24 |
|
Vlan-int1 |
120.1.1.2/24 |
|
Vlan-int2 |
10.1.1.1/24 |
|
Vlan-int2 |
10.1.1.2/24 |
Switch A |
Vlan-int1 |
20.1.1.2/24 |
|
|
|
|
Vlan-int2 |
30.1.1.1/24 |
|
|
|
图1-24 OSPF伪连接配置组网图
(1) 配置用户网络上的OSPF
在CE 1、CE 2上配置普通OSPF,发布图1-24中所示各接口的网段地址。具体配置过程略。
配置完成后,CE 1和CE 2应学到到对端Vlan-interface 1接口的OSPF路由。
以CE 1为例:
[CE1] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan2
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.2/32 Direct 0 0 20.1.1.2 Vlan2
30.1.1.0/24 OSPF 10 3124 20.1.1.2 Vlan2
100.1.1.0/24 Direct 0 0 100.1.1.1 Vlan1
100.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
120.1.1.0/24 OSPF 10 3125 20.1.1.2 Vlan2
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
(2) 在骨干网上配置MPLS L3VPN
# 配置PE 1。
# 配置PE 1的MPLS基本能力和MPLS LDP能力,建立LDP LSP。
<Sysname> system-view
[Sysname] sysname PE1
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.9 32
[PE1-LoopBack1] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
[PE1-mpls] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] interface Vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] quit
# 配置PE 1的MP-IBGP对等体为PE 2。
[PE1] bgp 100
[PE1-bgp] peer 2.2.2.9 as-number 100
[PE1-bgp] peer 2.2.2.9 connect-interface loopback 1
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 2.2.2.9 enable
[PE1-bgp-af-vpnv4] quit
[PE1-bgp] quit
# 配置PE 1的OSPF。
[PE1]ospf 1
[PE1-ospf-1]area 0
[PE1-ospf-1-area-0.0.0.0]network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0]quit
[PE1-ospf-1]quit
# 配置PE 2的MPLS基本能力和MPLS LDP能力,建立LDP LSP。
<Sysname> system-view
[Sysname] sysname PE2
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 2.2.2.9 32
[PE2-LoopBack1] quit
[PE2] mpls lsr-id 2.2.2.9
[PE2] mpls
[PE2-mpls] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
[PE2] interface Vlan-interface 2
[PE2-Vlan-interface2] ip address 10.1.1.2 24
[PE2-Vlan-interface2] mpls
[PE2-Vlan-interface2] mpls ldp
[PE2-Vlan-interface2] quit
# 配置PE 2的MP-IBGP对等体为PE 1。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 1
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 1.1.1.9 enable
[PE2-bgp-af-vpnv4] quit
[PE2-bgp] quit
# 配置PE 2的OSPF。
[PE2]ospf 1
[PE2-ospf-1]area 0
[PE2-ospf-1-area-0.0.0.0]network 2.2.2.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0]quit
[PE2-ospf-1]quit
(3) 配置PE接入CE
# 配置PE 1接入CE 1。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 100:1
[PE1-vpn-instance-vpn1] vpn-target 1:1
[PE1-vpn-instance-vpn1] quit
[PE1] interface Vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpn1
[PE1-Vlan-interface1] ip address 100.1.1.2 24
[PE1-Vlan-interface1] quit
[PE1] ospf 100 vpn-instance vpn1
[PE1-ospf-100] domain-id 10
[PE1-ospf-100] area 1
[PE1-ospf-100-area-0.0.0.1] network 100.1.1.0 0.0.0.255
[PE1-ospf-100-area-0.0.0.1] quit
[PE1-ospf-100] quit
[PE2] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] import-route direct
[PE1-bgp-vpn1] quit
[PE1-bgp] quit
# 配置PE 2接入CE 2。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 100:2
[PE2-vpn-instance-vpn1] vpn-target 1:1
[PE2-vpn-instance-vpn1] quit
[PE2] interface Vlan-interface 1
[PE2-Vlan-interface1] ip binding vpn-instance vpn1
[PE2-Vlan-interface1] ip address 120.1.1.2 24
[PE2-Vlan-interface1] quit
[PE2] ospf 100 vpn-instance vpn1
[PE2-ospf-100] domain-id 10
[PE2-ospf-100] area 1
[PE2-ospf-100-area-0.0.0.1] network 120.1.1.0 0.0.0.255
[PE2-ospf-100-area-0.0.0.1] quit
[PE2-ospf-100] quit
[PE2] bgp 100
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] import-route direct
[PE2-bgp-vpn1] quit
[PE2-bgp] quit
完成上述配置后,在PE交换机上执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由是通过用户网络的OSPF路由,不是通过骨干网的BGP路由。
以PE 1为例:
[PE1] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost NextHop Interface
20.1.1.0/24 OSPF 10 1563 100.1.1.1 Vlan1
30.1.1.0/24 OSPF 10 3125 100.1.1.1 Vlan1
100.1.1.0/24 Direct 0 0 100.1.1.2 Vlan1
100.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
120.1.1.0/24 OSPF 10 3126 100.1.1.1 Vlan1
(4) 配置sham-link
# 配置PE 1。
[PE1] interface LoopBack 10
[PE1-LoopBack10] ip binding vpn-instance vpn1
[PE1-LoopBack10] ip address 3.3.3.3 32
[PE1-LoopBack10] quit
[PE1] ospf 100
[PE1-ospf-100] area 1
[PE1-ospf-100-area-0.0.0.1] sham-link 3.3.3.3 5.5.5.5 cost 10
[PE1-ospf-100-area-0.0.0.1] quit
[PE1-ospf-100] quit
# 配置PE 2。
[PE2] interface LoopBack 10
[PE2-LoopBack10] ip binding vpn-instance vpn1
[PE2-LoopBack10] ip address 5.5.5.5 32
[PE2-LoopBack10] quit
[PE2] ospf 100
[PE2-ospf-100] area 1
[PE2-ospf-100-area-0.0.0.1] sham-link 5.5.5.5 3.3.3.3 cost 10
[PE2-ospf-100-area-0.0.0.1] quit
[PE2-ospf-100] quit
完成上述配置后,在PE交换机上再次执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由变成了通过骨干网的BGP路由,并且有去往sham-link目的地址的路由。
以PE 1为例:
[PE1] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
3.3.3.3/32 Direct 0 0 127.0.0.1 InLoop0
5.5.5.5/32 BGP 255 0 2.2.2.9 NULL0
20.1.1.0/24 OSPF 10 1563 100.1.1.1 Vlan1
100.1.1.0/24 Direct 0 0 100.1.1.2 Vlan1
100.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
120.1.1.0/24 BGP 255 0 2.2.2.9 NULL0
在CE交换机上执行display ip routing-table命令,可以看到去往对端CE的OSPF路由开销变为10(为sham-link配置的开销),下一跳变为接入PE的Vlan-interface1接口,即,去往对端的VPN流量将通过骨干网转发。
以CE 1为例:
[CE1] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan2
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.2/32 Direct 0 0 20.1.1.2 Vlan2
30.1.1.0/24 OSPF 10 1574 100.1.1.2 Vlan1
100.1.1.0/24 Direct 0 0 100.1.1.1 Vlan1
100.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
120.1.1.0/24 OSPF 10 12 100.1.1.2 Vlan1
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
在PE上执行display ospf sham-link命令可以看到sham-link的建立情况:
以PE 1为例:
[PE1] display ospf sham-link
OSPF Process 100 with Router ID 100.1.1.2
Sham Link:
Area RouterId Source-IP Destination-IP State Cost
0.0.0.1 100.1.1.2 3.3.3.3 5.5.5.5 P-2-P 10
执行display ospf sham-link area命令可以看到对端状态为Full。
[PE1] display ospf sham-link area 1
OSPF Process 100 with Router ID 100.1.1.2
Sham-Link: 3.3.3.3 --> 5.5.5.5
Neighbour State: Full
Area: 0.0.0.1
Cost: 10 State: P-2-P, Type: Sham
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
如图所示,CE 1和CE 2同属于VPN1,分别接入PE 1和PE 2,并且CE 1和CE 2复用AS号600。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int1 |
10.1.1.1/24 |
P |
Loop1 |
2.2.2.9/32 |
|
Vlan-int2 |
100.1.1.1/24 |
|
Vlan-int1 |
30.1.1.1/24 |
PE 1 |
Loop1 |
1.1.1.9/32 |
|
Vlan-int2 |
20.1.1.2/24 |
|
Vlan-int1 |
10.1.1.2/24 |
PE 2 |
Loop1 |
3.3.3.9/32 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int1 |
30.1.1.2/24 |
CE 2 |
Vlan-int1 |
10.2.1.1/24 |
|
Vlan-int2 |
10.2.1.2/24 |
|
Vlan-int2 |
200.1.1.1/24 |
|
|
|
图1-25 BGP的AS号替换组网图
(1) 配置基本MPLS L3VPN
l 在MPLS骨干网上配置OSPF,PE和P之间能够学到对方Loopback接口的路由;
l 在MPLS骨干网上配置MPLS基本能力和MPLS LDP,建立LDP LSP;
l PE之间建立MP-IBGP邻居,发布VPN-IPv4路由;
l 在PE 2上配置VPN 2的VPN实例,接入CE 2;
l 在PE 1上配置VPN 1的VPN实例,接入CE 1;
l PE 1和CE 1、PE 2和CE 2之间配置BGP,将CE的路由引入PE。
完成上述配置后,在CE上执行display ip routing-table命令,可以看到CE 2能够学到CE 1接入PE 1的接口所在网段(10.1.1.0/24)的路由,但没有到达CE 1内部VPN(100.1.1.0/24)的路由。CE 1上也存在同样的现象。
[CE2] display ip routing-table
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 10.2.1.2 Vlan1
10.1.1.1/32 BGP 255 0 10.2.1.2 Vlan1
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan1
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.2/32 Direct 0 0 10.2.1.2 Vlan1
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
200.1.1.0/24 Direct 0 0 200.1.1.1 InLoop0
200.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
在PE上执行display ip routing-table vpn-instance命令,可以看到PE的VPN实例中有到达对端CE内部VPN的路由。
以PE 2为例:
[PE2] display ip routing-table vpn-instance vpn1
Routing Tables: vpn1
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 1.1.1.9 NULL0
10.1.1.1/32 BGP 255 0 1.1.1.9 NULL0
10.2.1.0/24 Direct 0 0 10.2.1.2 Vlan1
10.2.1.1/32 Direct 0 0 10.2.1.1 Vlan1
10.2.1.2/32 Direct 0 0 127.0.0.1 InLoopBack0
100.1.1.1/32 BGP 255 0 1.1.1.9 NULL0
200.1.1.1/32 BGP 255 0 10.2.1.1 Vlan1
在PE 2上打开BGP的Update报文调试信息开关,可以看到PE 2发布了去往100.1.1.1/32的路由,AS路径信息为“100 600”。
<PE2> terminal monitor
<PE2> terminal debugging
<PE2> debugging bgp update vpn-instance vpn1 verbose
<PE2> refresh bgp vpn-instance vpn1 all export
*Jan 30 17:21:11:363 2007 PE2 RM/7/RMDEBUG:
BGP.vpn1: Send UPDATE to 10.2.1.1 for following destinations :
Origin : Incomplete
AS Path : 100 600
Next Hop : 10.2.1.2
100.1.1.1/32,
在CE 2上执行display bgp routing-table peer received-routes命令,可以看到CE 2没有接收100.1.1.1/32的路由。
[CE2] display bgp routing-table peer 10.2.1.2 received-routes
Total Number of Routes: 4
BGP Local router ID is 10.2.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 10.1.1.0/24 10.2.1.2 0 100?
*> 10.1.1.1/32 10.2.1.2 0 100?
* 10.2.1.0/24 10.2.1.2 0 0 100?
* 10.2.1.1/32 10.2.1.2 0 0 100?
(2) 配置BGP的AS号替换功能
# 在PE 2上配置BGP的AS号替换功能:
[PE2] bgp 100
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] peer 10.2.1.1 substitute-as
可以看到PE 2向CE 2发布的路由中,100.1.1.1/32的AS路径信息由“100 600”变为“100 100”:
*Jan 30 17:11:30:362 2007 PE2 RM/7/RMDEBUG:
BGP.vpn1: Send UPDATE to 10.2.1.1 for following destinations :
Origin : Incomplete
AS Path : 100 100
Next Hop : 10.2.1.2
100.1.1.1/32
再次查看CE 2接收的路由信息和路由表:
[CE2] display bgp routing-table peer 10.2.1.2 received-routes
Total Number of Routes: 5
BGP Local router ID is 10.2.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 10.1.1.0/24 10.2.1.2 0 100?
*> 10.1.1.1/32 10.2.1.2 0 100?
* 10.2.1.0/24 10.2.1.2 0 0 100?
* 10.2.1.1/32 10.2.1.2 0 0 100?
*> 100.1.1.1/32 10.2.1.2 0 100 100?
[CE2] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 BGP 255 0 10.2.1.2 Vlan1
10.1.1.1/32 BGP 255 0 10.2.1.2 Vlan1
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan1
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.2.1.2/32 Direct 0 0 10.2.1.2 Vlan1
100.1.1.1/32 BGP 255 0 10.2.1.2 Vlan1
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
200.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
在PE 1上也配置BGP的AS号替换功能后,CE 1和CE 2的接口能够相互Ping通。
[CE1] ping –a 100.1.1.1 200.1.1.1
PING 200.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 200.1.1.1: bytes=56 Sequence=1 ttl=253 time=109 ms
Reply from 200.1.1.1: bytes=56 Sequence=2 ttl=253 time=67 ms
Reply from 200.1.1.1: bytes=56 Sequence=3 ttl=253 time=66 ms
Reply from 200.1.1.1: bytes=56 Sequence=4 ttl=253 time=85 ms
Reply from 200.1.1.1: bytes=56 Sequence=5 ttl=253 time=70 ms
--- 200.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 66/79/109 ms
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!