MPLS-VPN基本配置实验

在我上一个实验“MPLS基础实验”中,在PE上不建立VRF的时候,要保证两个CE路由器可以互相学习到对方路由,不可避免地需要在CE和PE上运行路由协议,而且在没有BGP的协助下,这些路由必须要被重分布或者其他的方法进入Backbone区域,让Backbone区域帮忙传递路由信息,而这又可能会导致Backbone区域路由外泄和学习到了客户路由,这显然会带来包括路由条目过多、地址重叠等一连串问题。所以,分隔客户路由和Backbone路由时非常必要的,VRF应运而生,它可以有效分隔客户跟运营商路由,而Backbone区域并不需要知道这些路由,因为P路由器只需要运行MPLS就可以了,PE路由器会区分这些可会路由,在转发数据的时候为不同的路由打上不同的标签,所以P路由器只需要专注于标签转发就可以了。
如何使这些路由在Backbone区域不知道的情况下去传递呢?这就需要在PE路由器之间建立MP-BGP了,PE路由器将使用MP-BGP来传递客户的VPN路由,并且在这个过程中为他们分配和传递VPN标签。下面我们来做一下这个实验。
拓扑如图所示:在MPLS的基础上,PE与CE间运行了OSPF协议,两个PE路由器 R2、R4间运行了MP-BGP协议。为了不让客户路由跑进运营商内部,R4将建立VRF表达到客户路由和互联网路由隔离的目的。而分隔于运营商两端的客户路由将通过MP-BGP进行传递,期间需要对BGP和OSPF进行双向重分发。
实验步骤:
1. 先为各路由器接口配置好地址,保证底层的连通性,并配置好MPLS OSPF Backbone区域,(MPLS配置方法请参考以前的文章:MPLS基础实验);
2. 在PE路由器R2、R4上激活BGP进程,使两者建立iBGP邻居关系;
3. 在PE路由器R2、R4上全局建立VRF cisco;
4. 在PE路由器R2、R4上的BGP进程中激活VPNV4邻居,并且对邻居发送扩展community属性;
5. 在PE路由器R2、R4上与CE路由器相连的接口与vpn cisco关联起来(可能需要重新配置该接口IP地址);
6. 在PE路由器R2、R4上启动OSPF XX vrf cisco进程,将关联该VRF的接口宣告;
7. 在CE路由器R1、R5上启动ospf进程,将包括loopback口的所有直连接口宣告;
8. 在PE路由器R2上将ospf vrf cisco里的路由重发布到BGP中,并且在R4上观察BGP VPNV4路由的变化;
9. 在PE路由器R4上将BGP进程重分布到OSPF进程中,在R5上观察ospf路由的学习情况;
10. 在PE路由器R4上将ospf vrf cisco里的路由重发布到BGP中,并且在R2上观察BGP VPNV4路由的变化;
11. 在PE路由器R2上将BGP进程重发布到OSPF进程中,在R1上观察ospf路由的学习情况;
12. 检查R1上去往R5的所有路由可达性;
13. 检查运营商骨干路由器中是否获悉到客户路由(正常情况下没有),检查运营商内部路由是否泄漏到客户路由表中;

MPLS基础实验

MPLS Basic Config

拓扑如上图所示,中间的网云是运营商骨干网络,R2、R4路由器是运营商边缘路由器,R1、R5是客户边缘路由器。为了达到快速转发客户数据流,运营商在骨干网中部署了MPLS,并使用OSPF来交换路由信息。
实验步骤:
1. 先按图中的信息,将各接口的IP地址配置好,检验相连端口是否可达;
2. 在R2、R3、R4上运行OSPF协议,使相应的接口处于Area0,宣告处于area0的本地网络。完成后,检查相应的网络地址是否出现在路由表中,并检查处于area0中的端口是否全部可达;
3. 在R2、R3、R4上开启CEF,并在全局下配置MPLS,使用LDP作为标签交换协议,指定LDP的router-id。为了便于检查,为各个运行MPLS的路由器指定相应的标签分发范围;
4. 在R2、R3、R4相应的接口上激活MPLS(使用ip mpls命令)并启用标签转发(tag-switching ip);
5. 验证MPLS的运行状况,使用Traceroute命令检查去往某个网络粘贴的标签,查看MPLS路由器上运行MPLS的接口、LDP邻居信息、MPLS转发表、Mpls与IP的绑定情况等

CEF对BGP负载均衡的影响

前几天做了几个实验,想研究一下BGP的负载均衡。本来BGP的负载均衡实现起来也不难,在特定点环境下,多条到达同一目的地的路由符合选路原则的前八条,并且修改BGP maximum-paths,基本上就可以实现BGP的负载均衡了,下面写一写我做这个实验的一点点心得吧
这是一个:Dual-Homed to one internet service的环境
AS 65001中的R1通过两条串行链路连接连接到ISP AS 65023中的两个路由器R2、R3上。其中R1,R3上的LoopBack口代表了两个AS的内部网络,而我们的目的就是让从来自AS 65001的数据流分别通过两个出接口到达ISP内部的网络。
底层配置我就不写了,写一下关键的R1上的配置吧
R1:
router bgp 65001
no synchronization
bgp router-id 1.1.1.1
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor 12.0.0.2 remote-as 65013
neighbor 13.0.0.3 remote-as 65013
maximum-paths 2
no auto-summary

双点双向重分发进阶实验(附详解分析)

昨天老师给我们做了一个小测试,现在写上来和分享一下心得,也是我第一次写实验指南,希望大家可以多多支持,另外如果其中有什么纰漏请大家给小弟指出,不胜感激
题目要求是这样的:
为了方便理解,我特意弄了一个拓扑图

第一次弄拓扑图,还可以把?
实验要求:

R1、R2、R4上要运行Eigrp,AS号为10,R2、R3、R4上要运行OSPF,此外R1上还要运行Eigrp 100
R2、R4、R3上的Lo0口要加入到OSPF进程中,R1的lo0口加入到Eigrp 10中,而lo100口加入到Eigrp 100中;
在R2、R4上进行双向重分发
全网可达
R3—->R1的LoopBack 100接口要实现负载均衡;
R3—->R1的LoopBack 0 口首选R2作为它的下一跳(但R2出现问题时应该有备用路由)

实验过程、需求分析及注意事项:

首先,为各路由器接口配好地址,然后分别在R1、R2、R4上跑Eigrp并将上面要求中的接口加入到路由进程中,在R2、R3、R4上跑OSPF并将要求的接口加入到路由进程中,做完以上工作后,查看各路由表是否正常。在R2、R4上应该可以ping通除100.100.100.100以外的所有接口。
确保各路由器正常获得路由之后,我们先在R1上将Eigrp100 重分布到Eigrp 10中,让其他路由器获得100.100.100.100路由,完成后可以在R2、R4上看到标记为D EX的外部路由(注意其AD为170)
下面就要在R2、R4上对Eigrp和OSPF进行双向重分布了。我们先在R2上做,先将eigrp 10重分布到OSPF10中(redistribute Eigrp 10 subnets),此时将可以在R3的路由表上看到四条由Eigrp重分发进来的O E2路由,再来看看R4上面的路由表,请注意去往100.100.100.100的路由,其标记已经由D EX变为O E2了!这条Eigrp的外部路由被AD值更低的OSPF路由取代了!这明显不是到达100.100.100.100的最优路由,先不管,完成单点双向重分布先。在Eigrp进程中将OSPF10重分布,查看R1路由表,四条标记为D EX的路由成功学习到了,全网可达。
为了让R4上去往100.100.100.100的路由最优,我们需要在R4上使用分发列表(distribute-List)将从F0/0口进入的100.100.100.100路由过滤掉。这里我们需要结合access-list来做:access-list 40 deny   100.100.100.0 0.0.0.255 用来过滤掉该路由,但不要忘记在后面加上一条:access-list 40 permit any。然后在OSPF进程中:distribute-list 40 in FastEthernet0/0 是用分发列表将F0/0口进来的匹配ACL 40的路由过滤掉,再查看R4上路由表,去往100.100.100.100的最优了!
现在我们再来在R4上将Eigrp重分发到OSPF,完成后回过头来看看R3的路由表,去往100.100.100.100的下一跳变成了R4了!没有达到负载均衡的效果,再来看看R2上的路由表,奇怪的事情再次发生了,R2去往100.100.100.100的下一跳又变成R3了,因为从OSPF通告过来的相同的路由具有更低的AD!而我们要做的就是重复步骤3中的工作,使用distribute-list来过滤该路由,完成后查看R2上路由表,去往100.100.100.100路由最优,而且R3上也实现了该路由的负载均衡了!继续完成双向重分发。
现在前面5个要求都实现了,接下实现第6个要求。我们查看R3上的路由表,可以看到从它去往R1上的lo0口正在负载均衡,我们需要它只有一个下一跳,而且需要有备用路由,所以修改该路由的Cost值是较好的方法,使用Route-map可以实现该效果,修改Cost值之后该路由将会被Cost更低的来自R2的路由替代,而如果当R2走不通时,该路由将成为唯一选择,自动进入路由表,实现冗余,请结合下面贴出的配置理解

详细配置如下:(其中颜色字体处为关键配置)