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. 检查运营商骨干路由器中是否获悉到客户路由(正常情况下没有),检查运营商内部路由是否泄漏到客户路由表中;


