【高级】思科BGP-MPLS-VPN在城域网中的部署实战

实验拓扑:(GNS3-镜像文件:c3725-adventerprisek9-mz.124-15.T5

需求:

1.  AS65001通过OSPF通告直接和环回口网段,通过BGP协议通告公网业务路由。

2.  通过BGP MPLS-VPN技术使R9和R10模拟的总公司、分公司中的私网之间可以互相通信

步骤:

1.ip地址规划


R9接口ip地址


Fa0/0


192.168.90.2/24


R10接口ip地址


Fa0/0


192.168.100.2/24


Loopback  0


172.16.90.1/32


Loopback  0


172.16.100.1/32


R1接口ip地址


Fa1/0


192.168.90.1/24


R5接口ip地址


Fa1/0


192.168.100.1/24


Fa0/1


16.0.0.1/24


Fa0/1


25.0.0.5/24


Fa0/0


12.0.0.1/24


Fa0/0


56.0.0.5/24


Loopback  0


1.1.1.1/32


Loopback  0


5.5.5.5/32


R2接口ip地址


Fa0/0


12.0.0.2/24


R6接口ip地址


Fa0/1


56.0.0.6/24


Fa0/1


25.0.0.2/24


Fa0/0


16.0.0.6/24


Fa1/0


26.0.0.2/24


Fa1/0


26.0.0.6/24


Fa1/1


23.0.0.2/24


Fa1/1


67.0.0.6/24


Loopback  0


2.2.2.2/32


Loopback  0


6.6.6.6/32


R3接口ip地址


Fa0/0


23.0.0.3/24


R7接口ip地址


Fa0/0


67.0.0.7/24


Fa0/1


37.0.0.3/24


Fa0/1


37.0.0.7/24


Fa1/0


34.0.0.3/24


Fa1/0


78.0.0.7/24


Loopback  0


3.3.3.3/32


Loopback  0


7.7.7.7/32


R4接口ip地址


Fa0/0


34.0.0.4/24


R8接口ip地址


Fa0/0


78.0.0.8/24


Fa0/1


48.0.0.4/24


Fa0/1


48.0.0.8/24


Loopback  0


4.4.4.4/32


Loopback  0


8.8.8.8/32

2.使用ospf协议将AS65001自治系统中的路由器链路网段互通

#R1配置如下

--------------------------------------------以下是配置ip地址-------------------------------

Router>en                                                       //进入en命令进入特权模式

Router#configt                                            //通过config terminal命令进入全局配置模式

Router(config)#hostnameR1         //更改路由的名称,便于查看

R1(config)#interfacefa0/0                //进入fa0/0接口模式

R1(config-if)#ipaddress 12.0.0.1 255.255.255.0             //配置ip地址

R1(config-if)#noshut                          //通过 no shutdown激活ip地址

R1(config-if)#interfacefa0/1

R1(config-if)#ipaddress 16.0.0.1 255.255.255.0

R1(config-if)#noshut

--------------------------------------------以下是配置OSPF---------------------------------

R1(config)#R1ospf 110                      //启用ospf协议,并制定ospf的进程为110

R1(config-R1)#R1-id1.1.1.1           //指定路由id号为1.1.1.1

R1(config-R1)#network12.0.0.1 0.0.0.255 area 1           //通告R1所有链路网段和loopback0,并指定所在区域

R1(config-R1)#network16.0.0.1 0.0.0.255 area 1

R1(config-R1)#network1.1.1.1 0.0.0.0 area 1

#R2配置如下

R2的ip地址和R1的配置相同此处略

--------------------------------------------以下是配置OSPF---------------------------------

Router(config)#hostnameR2                              //更改路由器的主机名为R2

R2(config)#R2ospf 110

R2(config-R2)#R2-id2.2.2.2

R2(config-R2)#network12.0.0.2 0.0.0.255 area 1

R2(config-R2)#network26.0.0.2 0.0.0.255 area 1

R2(config-R2)#network25.0.0.2 0.0.0.255 area 1

R2(config-R2)#network2.2.2.2 0.0.0.0 area 1

R2(config-R2)#network23.0.0.2 0.0.0.255 area 0

#R3配置如下

R3的ip地址和R1的配置相同此处略

--------------------------------------------以下是配置OSPF---------------------------------

R3(config)#routerospf 110

R3(config-router)#router-id3.3.3.3

R3(config-router)#network23.0.0.3 0.0.0.255 area 0

R3(config-router)#network37.0.0.3 0.0.0.255 area 0

R3(config-router)#network3.3.3.3 0.0.0.0 area 0

#R5配置如下

R5的ip地址和R1的配置相同此处略

--------------------------------------------以下是配置OSPF---------------------------------

R5(config)#routerospf 110

R5(config-router)#router-id5.5.5.5

R5(config-router)#network25.0.0.5 0.0.0.255 area 1

R5(config-router)#network56.0.0.5 0.0.0.255 area 1

R5(config-router)#network5.5.5.5 0.0.0.0 area 1

#R6配置如下

R6的ip地址和R1的配置相同此处略

--------------------------------------------以下是配置OSPF---------------------------------

R6(config)#routerospf 100               //100为ospf的进程号只对本地有效可以不同

R6(config-router)#router-id6.6.6.6

R6(config-router)#network56.0.0.6 0.0.0.255 area 1

R6(config-router)#network16.0.0.6 0.0.0.255 area 1

R6(config-router)#network26.0.0.6 0.0.0.255 area 1

R6(config-router)#network67.0.0.6 0.0.0.255 area 0

R6(config-router)#network6.6.6.6 0.0.0.0 area 1

#R7配置如下

R7的ip地址和R1的配置相同此处略

-------------------------------------------以下是配置OSPF----------------------------------

R7(config)#routerospf 110

R7(config-router)#router-id7.7.7.7

R7(config-router)#network67.0.0.7 0.0.0.255 area 0

R7(config-router)#network37.0.0.7 0.0.0.255 area 0

R7(config-router)#network7.7.7.7 0.0.0.0 area 0

通过show ip route 查看是否学到所有的链路网段路由

通过在R7上面查看ospf路由表说明AS65001自治系统内IGP协议已经都运行了

3.给R9和R10配置ip地址,静态路由

#R9配置如下

R9的ip地址和R1的配置相同此处略

R9(config)#iproute 0.0.0.0 0.0.0.0 192.168.90.1                     //所有的数据包将通过默认路由转发出去

#R10配置如下

R10的ip地址和R1的配置相同此处略

R10(config)#iproute 0.0.0.0 0.0.0.0 192.168.100.1

4.在R1和R5路由上面配置vrf,并配置一条基于vrf的静态路由指向CR。

#R1配置如下

--------------------------------------------以下是配置vrf----------------------------------

R1(config)#ipvrf vpna                                  //创建一个vrf名称为vpna,vrf为R1独立出来的一个路由表单独存储

R1(config-vrf)#route-target100:1            //指定route-target,默认import和export的标示是一样的。当两端的route-target一样时才可以建立连接。

R1(config-vrf)#rd100:1                               //PE为了区分不同vrf传递的相同路由,一般rd的值和route-target的值一样

R1(config-if)#interfacefa1/0

R1(config-if)#ipvrf forwarding vpna         //将对应的接口放入到vpna

R1(config-if)#ipaddress 192.168.90.1 255.255.255.0 //配置该接口的ip地址

注意:在将接口放入到vpna时,会将之前配置的ip地址删除掉。所以在加入到vrf时必须要重新配置ip地址。

R1(config-if)#noshut                                             //激活该接口

R1(config)#iproute vrf vpna 172.16.90.0 255.255.255.0 192.168.90.2   //在vrf模拟下配置静态路由

#R5配置如下

--------------------------------------------以下是配置vrf----------------------------------

R5(config)#ipvrf vpna

R5(config-vrf)#route-target100:1                     //由于R5与R1需要建立连接,所以他们的import和export需要对应

R5(config-vrf)#rd100:1

R5(config-vrf)#interfacefa1/0

R5(config-if)#ipvrf forwarding vpna

%Interface FastEthernet1/0 IP address 192.168.100.1 removed due to enabling VRFvpna  //提示原有的ip地址将被移除

R5(config-if)#ipaddress 192.168.100.1 255.255.255.0

R5(config-if)#noshut

R5(config-if)#iproute vrf vpna 172.16.100.0 255.255.255.0 192.168.100.2

说明:

Vrf(vpnroute-forwarding)虚拟专用网路由转发表,用于存储业务网段。由于业务网段都是私有网段所以里面有可能重复,为了避免重复需要创建一个独立的路由表这就是vrf的功能。Route-target可以设置impot和export、输出和输入接口,当自己的输出接口对应对方的输入接口,自己的输入接口对应对方的输出接口则就可以建立。

5.在R1、R3、R5、R7上面做MP-BGP,使他们建立ibgp邻居关系

#R1配置如下

--------------------------------------------以下是配置MP-BGP-------------------------------

R1(config)#routerbgp 65001                                                          //创建bgp,并指定进程为65001

R1(config-router)#neighbor3.3.3.3 remote-as 65001             //手动指定邻居关系,并指定远程AS自治系统号

R1(config-router)#neighbor3.3.3.3 update-source loopback 0      //指定做通过自己的环回口和对方建立邻居关系

R1(config-router)#neighbor7.7.7.7 remote-as 65001

R1(config-router)#neighbor7.7.7.7 update-source loopback 0

R1(config-router)#address-familyvpnv4          //进入vpnv4地址簇模式

R1(config-router-af)#neighbor3.3.3.3 activate   //在地址簇模式中激活邻居关系

R1(config-router-af)#neighbor3.3.3.3 send-community extended         //开启MP-BGP路由器的发送标签的功能

R1(config-router-af)#neighbor7.7.7.7 activate

R1(config-router-af)#neighbor7.7.7.7 send-community extended

说明:

Bgp通过TCP协议传输路由,只要指定的邻居能够到达则业务数据就会送达,因此R1中的vrf私用网段就可以被转发到R5,则在R1和R5上面就可以指导数据转发了,由于开启了community功能所以当在转发路由时会携带源路由器所分配的标签号。

#R5的配置如下

--------------------------------------------以下是配置MP-BGP-------------------------------

R5(config)#routerbgp 65001

R5(config-router)#no synchronization

R5(config-router)#bgp log-neighbor-changes

R5(config-router)#neighbor 3.3.3.3 remote-as 65001

R5(config-router)#neighbor 3.3.3.3 update-source Loopback0

R5(config-router)#neighbor 7.7.7.7 update-source Loopback0

R5(config-router)#address-familyvpnv4

R5(config-router-af)#neighbor3.3.3.3 activate

R5(config-router-af)#neighbor3.3.3.3 send-community extended

R5(config-router-af)#neighbor7.7.7.7 activate

R5(config-router-af)#neighbor7.7.7.7 send-community extended

#R3的配置如下

--------------------------------------------以下是配置MP-BGP-------------------------------

R3(config-router)#routerbgp 65001

R3(config-router)#neighbor1.1.1.1 remote-as 65001

R3(config-router)#neighbor1.1.1.1 update-source loopback 0

R3(config-router)#neighbor1.1.1.1 route-reflector-client

R3(config-router)#neighbor5.5.5.5 remote-as 65001

R3(config-router)#neighbor5.5.5.5 update-source loopback 0

R3(config-router)#neighbor5.5.5.5 route-reflector-client     //设置R5为自己的路由转发客户端

R3(config-router)#neighbor7.7.7.7 remote-as 65001

R3(config-router)#neighbor7.7.7.7 update-source loopback 0

R3(config-router)#bgpcluster-id 1                                                //设置群集号,防止环路

R3(config-router)#address-familyvpnv4

R3(config-router-af)#neighbor1.1.1.1 activate

R3(config-router-af)#neighbor1.1.1.1 send-community extended

R3(config-router-af)#neighbor1.1.1.1 route-reflector-client

R3(config-router-af)#neighbor5.5.5.5 activate

R3(config-router-af)#neighbor5.5.5.5 send-community extended

R3(config-router-af)#neighbor5.5.5.5 route-reflector-client

R3(config-router-af)#neighbor7.7.7.7 activate

R3(config-router-af)#neighbor7.7.7.7 send-community extended

#R3的配置如下

--------------------------------------------以下是配置MP-BGP-------------------------------

R7(config-if)#routerbgp 65001

R7(config-router)#neighbor1.1.1.1 remote-as 65001

R7(config-router)#neighbor1.1.1.1 update-source loopback 0

R7(config-router)#neighbor1.1.1.1 route-reflector-client

R7(config-router)#neighbor5.5.5.5 remote-as 65001

R7(config-router)#neighbor5.5.5.5 update-source loopback 0

R7(config-router)#neighbor5.5.5.5 route-reflector-client

R7(config-router)#neighbor3.3.3.3 remote-as 65001

R7(config-router)#neighbor3.3.3.3 update-source loopback 0

R7(config-router)#bgpcluster-id 1

R7(config-router)#address-familyvpnv4

R7(config-router-af)#neighbor1.1.1.1 activate

R7(config-router-af)#neighbor1.1.1.1 send-community extended

R7(config-router-af)#neighbor1.1.1.1 route-reflector-client

R7(config-router-af)#neighbor5.5.5.5 activate

R7(config-router-af)#neighbor5.5.5.5 send-community extended

R7(config-router-af)#neighbor5.5.5.5 route-reflector-client

R7(config-router-af)#neighbor3.3.3.3 activate

R7(config-router-af)#neighbor3.3.3.3 send-community extended

6.在R1和R5路由器上面通过MP-BGP发布业务网段,使路由表聚合

#R1的配置如下

--------------------------------------------以下是通过MP-BGP发布路由-----------------------

R1(config-router)#address-familyipv4 vrf vpna                                  //进入VPNA中发布私网路由

R1(config-router-af)#network192.168.90.0 mask 255.255.255.0

R1(config-router-af)#redistributestatic metric 10          //将私网的静态路由引入,以便传递给对端

#R5的配置如下

--------------------------------------------以下是通过MP-BGP发布路由-----------------------

R5(config-router)#address-familyipv4 vrf vpna

R5(config-router-af)#network192.168.100.0 mask 255.255.255.0

R5(config-router-af)#redistributestatic metric 10

通过show命令查看是否学习到所通告的路由

通过show命令可以看出路由器R1已经学到了R5所通告的路由

6.在运行MPLS的路由的接口上面启用LDP协议,用来分配公网标签

#R1的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R1(config)#interfacerange fa0/0 -1   //通过range命令同时进入多个接口

R1(config-if-range)#mplsip                        //开启LDP协议

#R2的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R2(config-router)#interfacerange fa0/0 -1 , fa1/0 -1

R2(config-if-range)#mplsip

#R3的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R3(config-router-af)#interfacerange fa0/1 - 1

R3(config-if-range)#mplsip

#R5的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R5(config-router-af)#interfacerange fa0/0 -1

R5(config-if-range)#mplsip

#R6的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R6(config-router)#interfacerange fa0/0 -1 , fa1/0 -1

R6(config-if-range)#mplsip

#R7的配置如下

--------------------------------------------以下是配置LDP协议------------------------------

R7(config-router-af)#interfacerange fa0/0 -1

R7(config-if-range)#mplsip

说明:

在运行mpls的所有P和PE路由器的指定接口上面都要执行该命令,不然P路由是无法转发和接受带有标签的数据包的。

跟踪一下路由,看一下数据包的转发情况

注意:需要跟踪标签的转发情况需要在接口激活LDP协议(mpls ip)

通过上面的转发路径,简单的说一下数据包在各路由器上面的转发流程。

1)通过show命令查看R1的vpna 、tabel表

当vpna中的数据送达R1时,路由器会查看vpna所对应的路由表192.168.100.0标签为28,发现下一跳为5.5.5.5(R5)。

这时路由器会给数据打上内部标签为28,这是由源路由器分配的MPLS标签。

2)通过show命令查看R1的公网路由转发表

本地标签是由自己给上游路由分配的标签号,出标签是由下游路由给自己分配的标签号。转发数据包是路由器会压入出标签由于上面对应的下一跳ip地址为5.5.5.5,所以这里的标签号为19

3)通过show命令查看R2的公网路由转发表

当R2收到一个带有19的标签时,路由器会查找自己的mpls转发表找到19对应的条目,发现出标签为POP tag,这是路由器会弹出外部标签(PHP)19.然后将数据转发给5.5.5.5

4)通过show命令查看R5的公网路由表

当R5收到一个标签号为28的路由则不带标签,直接转给192.168.100.2.当路由到达了R10则数据已经成功到达了172.168.100.1

测试

R9 ping结果

R10 ping结果

通过上面的ping测试,说明MPLS-VPN已经搭建成功,总公司和分公司之间能够互相访问了。

BGP-MPLS-VPN的工作原理总结如下:


-------私网路由和标签-------

1、CE将一条普通路由传给PE

2、PE通过VPNv4协议对该路由进行修改。(在路由信息中增加RD信息,将路由产生者(下一跳)改成自已的环回口,增加RT信息,分配并记录一个in标签28)

3、通过MP-BGP协议传给VPN邻居。

4、对端收到后,会记录信息,出标签是28,下一跳是对端PE。

5、将VPN信息脱掉,并将下一跳改成自己后,将一条普通的路由信息交给CE。

----公网路由和标签---

1、PE1为自己环回口的地址分一个标签3。

2、P收到明白自己是倒数第二跳。将该路由分配一个标签4,给下一跳。

3、收到后,没有邻居了,所以不再产生标签。

------数据转发-----------

1、CE将数据交给PE。

2、PE将目标地址对应的私网标签装上。

3、下一跳是地址而不是出口,所以要递归查公网标签表。

4、打上下一跳对应的公网标签,从出口发出。

5、P路由器收到后,直接根据目标地址查找标签表。进行标签交换。

6、对端PE收到后,由于公网标签已经被倒数二跳去掉,所以直接看到的就是私网标签,将标签脱掉后,将普通报文发送给下一跳CE。

时间: 2024-08-01 14:00:58

【高级】思科BGP-MPLS-VPN在城域网中的部署实战的相关文章

【高级】思科设备实现城域网ISIS+BGP+MPLS VPN多域互通实战

实验拓扑: GNS3 0.8.6 + c3725-adventerprisek9-mz.124-15.T5.image 实验要求: 1.   IGP使用ISIS协议,用来承载城域网的直连和环回口路由. 2.通过配置普通BGP协议,承载用户业务路由(大客户和PPPoE拨号),实现互联网路由传递. 3.通过配置BGP/MPLS 的跨域VPN实现分公司和总公司之间的私网通信. 实验步骤及验证: 1.接口及ip地址规划: 路由器 接口 ip地址 R1 F0/0 172.16.0.1/24 R1 F0/1

BGP/MPLS VPN之总结

一 MPLS技术基础 1.MPLS利用已有的路由信息建立虚连接---基于标签的转发路径,提高了转发效率,在面向无连接的IP网络增加了连接的属性,为IP网络提供了一定Qos保证,满足不同类型服务队Qos的要求. 2.(1)MPLS网络路由器分为两种角色,分别是LSR(标签交换路由器),LER(标签交换边缘路由器) (2)FEC(转发等价类):一组具备某些共同特征的数据流被MPLS网络看做同一类报文,进入MPLS网络时,被LER执行相同的标签映射,从而在整个MPLS网络中被看做是同一种报文,并以等价

华为BGP MPLS VPN实战

1.       实验拓扑: 使用eNSP模拟器(版本号:1.2.00.350 V100R002C00)+AR3260 2.       实验需求: a)       运营商使用ISIS协议互通 b)       A公司AR4和AR5与运营商AR1之间使用RIP协议传路由 c)       使用BGP MPLS VPN协议让A公司之间私网通信.B公司之间私网通信 3.       实验步骤: a)  IP地址规划如下: AR1 GE0/0/0 12.0.0.1/24 AR3 GE0/0/0 23

IPv6/IPv4双栈的MPLS VPN——6VPE实战部署(华为和思科大融合)

个人理解,6VPE(IPv6VPN Provider Edge)是承载IPv6的MPLSVPN,是在保持原有MPLS BGPv4骨干不做大变动的情况下,一种IPv6 MPLS VPN过渡技术.基本部署步骤如下:PE与CE之间存在IPv6 VRF,建立BGPv6的邻居关系:PE与RR之间可以建立IPv6的BGP邻居关系,也可以建立IPv4邻居关系,同步复制VPNv4地址族到VPNv6地址族中,其他配置跟IPv4的MPLS VPN没有什么大区别. 以下为实验室测试环境下部署6VPE案例实战分析: 环

MPLS VPN 高级教程(张洋讲解演示版)

MPLS VPN 高级教程(张洋讲解演示版) 课程目标: ü        LDP的实施和特性 ü        PE-CE路由协议以的实施,以及它们在MPLS VPN中的特性: ü        如何通过MPLS网络运载IPv6,6PE和6VPE的含义和它的运作过程: ü        MPLS VPN的各种配置方案 适合人群:希望深入理解MPLS-VPN的人群. 课程位置: http://edu.51cto.com/course/course_id-5737.html 具体内容:   第一课

MPLS VPN 网络中的OSPF Sham-Link

实验拓扑图 实验描述:如上图所示,现PE-R1.P-R2.PE-R3为MPLS VPN网络,两CE客户需要通过MPLS VPN骨干网络进行通信,并且CE-R4与CE-R6之间有一条链路作为备份链路,正常情况要,R4至R6的流量通过MPLS VPN网络走,当MPLS VPN网络存在故障时,通过R4与R6之间的互联链路走,下面配置OSPF Sham-Link实现上述要求. 1.首先配置MP-BGP,MPLS,VRF,PE与CE的OSPF路由协议 PE-R1的配置: R1#show runn ip v

MPLS VPN与IPSec VPN对比分析

转:http://www.xzbu.com/8/view-7456625.htm 1 引言 互联网的快速发展大大促进了信息资源的交流,与此同时,人们对频繁出现的安全保密问题也愈加关注.通过传统的方式构建企业内部或企 业之间的安全通信环境,必须通过自建通信干道或租用电缆和光缆,利用ISDN(Integrated Services Digital Network,综合业务数字网)或DDN(Digital Data Network,数字数据网)等技术构建企业专用网,若想在安全性和可靠性上得到保障,获得

MPLS VPN中PE和CE之间使用ospf协议时的几点问题续

问题3:双宿主PE路由重分发时的路由防环机制 如上图所示:当前缀100:1:5.5.5.5 以LSA3的方式进入PE路由器R4和R7后,就会被设置下u游比特位,下游比特位用来表明已经被通告的路由的方向.当R6将5.5.5.5通告给同给同区域的 PE路由器时,PE路由器看到下游比特位被设置,就不会将前缀5.5.5.5再通告进BGP,以此来防止路由LSA3类型的路由环路. 如果是LSA5的外部路由,可以在PE路由器上设置domain-id,或者使用默认的domain-ID,当处于同一个区域的PE路由

MPLS VPN 快速入门(张洋讲解版)

MPLS VPN 快速入门(张洋讲解版) 课程目标: 本课程所描述MPLS VPN从零开始学习的内容,为后面MPLS VPN设计和规划的高级教程打下坚实的基础,本课核心目标是:一.从真正意义上去理解MPLS的工作原理:二.学习MPLS VPN架构的基本组件,包括VRF.VPN.RD.RT.BGP标签.MP-BGP:三.融合几大组件从而真正意义的学习基本的MPLS VPN的基本架构. 课程位置:http://edu.51cto.com/course/course_id-5556.html 第一课: