一 实验拓扑
二 实验需求
ce1和ce2为两个分公司,要求两个分公司之间用mpls vxn 进行通信,组网方式是optionc。
三 实验分析
optionc在转发平面上有点难理解,有一些关键点需要注意,大家点击链接可以参考我上篇发过的一个文章:锐捷(十四)mpls vxn optionc的关键问题所在和具体问题分析,看完这个博客在参考配置实验会非常轻松。
我上面同样有一个optiona的配置实验大家也可以参考:锐捷(十三)mpls vxn optionA基础配置实验
锐捷optionc的主要配置思路:
先建立单区域as域内底层的igp和ldp
pe1和pe2启用vrf并接口绑定vrf实例
配置asbr1和asbr2之间的ebgp邻居关系
配置pe1和pe2的MPBGP邻居关系
在asbr上宣告pe上的路由,将bgp重分布进ospf
配置asbr之间的打标签功能
配置asbr和pr之间的传递标签功能
配置pe和ce之间的路由传递
四 实验配置
4.1先建立单区域as域内底层的igp和ldp
这个不在多说,连个域内通过ospf和mpls ldp宣告接口上的路由,配置完成后检查路由表和标签转发表
4.2 pe1和pe2启用vrf并接口绑定vrf实例
注意绑定实例后ip地址会清除,pe1和pe2实例的rd值要区别,rt值要导入等于导出
R1:
pe1(config)#ip vrf vrlab1
pe1(config-vrf)#rd 1:1
pe1(config-vrf)#route-target both 100:1
pe1(config)#int g0/0
pe1(config-if-GigabitEthernet 0/0)#ip vrf forwarding vrlab1
% Interface GigabitEthernet 0/0 IP address removed due to enabling VRF vrlab1
pe1(config-if-GigabitEthernet 0/0)#ip address 12.1.1.2 24
R7:
pe2(config)#ip vrf vrlab2
pe2(config-vrf)#rd 1:2
pe2(config-vrf)#route-target both 100:1
pe2(config)#int g0/0
pe2(config-if-GigabitEthernet 0/0)#ip vrf forwarding vrlab2
% Interface GigabitEthernet 0/0 IP address removed due to enabling VRF vrlab1
pe1(config-if-GigabitEthernet 0/0)#ip address 78.1.1.17 24
4.3配置asbr1和asbr2之间的ebgp邻居关系
在这里将2.2.2.2(pe的lo地址)宣告出去
R4:
asbr1(config)#router bgp 100
asbr1(config-router)#show th
neighbor 45.1.1.5 remote-as 200
address-family ipv4
network 2.2.2.2 mask 255.255.255.255
neighbor 45.1.1.5 activate
exit-address-family
R5:
asbr2(config)#router bgp 200
asbr2(config-router)#show th
neighbor 45.1.1.4 remote-as 100
address-family ipv4
network 7.7.7.7 mask 255.255.255.255
neighbor 45.1.1.4 activate
exit-address-family
4.4配置pe1和pe2的MPBGP邻居关系
主要要在vpnv4地址族下建立vpnv4邻居
R2:
pe1(config)#router bgp 100
pe1(config-router)#show th
neighbor 7.7.7.7 remote-as 200
neighbor 7.7.7.7 ebgp-multihop 255
neighbor 7.7.7.7 update-source Loopback 0
address-family ipv4
no neighbor 7.7.7.7 activate
exit-address-family
address-family vpnv4 unicast
neighbor 7.7.7.7 activate
neighbor 7.7.7.7 send-community extended
exit-address-family
R7:
pe1(config)#router bgp 200
pe1(config-router)#show th
neighbor 2.2.2.2 remote-as 200
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 2.2.2.2 update-source Loopback 0
address-family ipv4
no neighbor 2.2.2.2 activate
exit-address-family
address-family vpnv4 unicast
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
exit-address-family
注意:以上操作的前提是pe1的2.2.2.2和pe2的7.7.7.7能通
但是!!!!!!此时是建立不起来bgp vpnv邻居的,具体原因很简单,是因为asbr之间 没有ldp,外层标签到了asbr后传不不出去
4.5配置asbr之间的打标签功能
R4:
asbr1(config)#int g0/1
asbr1(config-if-GigabitEthernet 0/1)#label-switching
asbr1(config)#router bgp 100
asbr1(config-router)#neighbor 45.1.1.5 send-label
R5:
asbr2(config)#int g0/0
asbr2(config-if-GigabitEthernet 0/1)#label-switching
asbr2(config)#router bgp 200
asbr2(config-router)#neighbor 45.1.1.4 send-label
此时发现邻居pe之间的mpebgp还是起不来,问题还是一样,asbr1上的路由传递到asbr2后无法传递,因为mpls ldp只传递igp路由,而2.2.2.2是通过bgp邻居起来的,所以mpls ldp无法为2.2.2.2打标签,所以这里也要做一些配置让mpls能学到bgp的路由
4.6配置asbr和pr之间的传递标签功能
R4:
asbr1(config)#mpls router ldp
asbr1(config-mpls-router)#advertise-labels for bgp-routes
R5:
asbr2(config)#mpls router ldp
asbr2(config-mpls-router)#advertise-labels for bgp-routes
此时,pe1和pe2终于建立起来mpebgp邻居关系了
4.7配置pe和ce之间的路由传递
我之所以后来再写这个地方是为想把先写完整个optionc的核心架构
R2:
pe1(config)#router bgp 100
pe1(config-router)#address-family ipv4 vrf vrlab1
pe1(config-router-af)#redistribute ospf 99
pe1(config)#router ospf 99 vrf vrlab1
pe1(config-router)#redistribute bgp subnets
pe1(config-router)#network 12.1.1.2 0.0.0.0 area 0
R7:
pe2(config)#router bgp 200
pe2(config-router)#address-family ipv4 vrf vrlab2
pe2(config-router-af)#redistribute ospf 99
pe2(config)#router ospf 99 vrf vrlab2
pe2(config-router)#redistribute bgp subnets
pe2(config-router)#network 78.1.1.7 0.0.0.0 area 0
R1:
ce1(config)#router ospf 99
ce1(config-router)#network 12.1.1.1 0.0.0.0 area 0
ce1(config-router)#network 11.11.11.11 0.0.0.0 area 0
R8:
ce1(config)#router ospf 99
ce1(config-router)#network 78.1.1.8 0.0.0.0 area 0
ce1(config-router)#network 88.88.88.88 0.0.0.0 area 0
查看效果:
此时说明ce的路由已传递到vpnv4路由
ce上也应该学到了对方ce的路由
ping测试:
实验成功!!!!
注意:锐捷的optionc方案在asbr打标签的地方和华为的不太一样,华为是用的route-policy打上一个三层标签,而锐捷只需要#neighbor 45.1.1.4 send-label这一条命令。
欢迎各位大佬在评论区或私信批评指正!!