HCIE之MPLS VPN练习(十二)

在这里插入图片描述

1、 思路分析

Hub spoke含义是仅存在R5 – R7一条vpn、R6 – R7一条vpn。R5-R6之间不存在vpn关系。思路是将R7作为hub点,中转传递两个spoke点路由,实现两个spoke点通信。
默认情况下当R3将其中一个站点的vpn路由传给R7,R7单接口不会将路由再传递回R3。所以需要在R3 – R7之间建立2个vrf互联。实现R7的一根VRF线路专门用作路由接受,另外一根专门用作路由发送。
RT值设计:
100:100 – 总部路由
100:200 – 分支路由
分支:R5、R6 导出RT 100:100,导入100:200
总部:R7导出100:200,导入100:100
RD值设计:注意左侧站点的RD,一定不要与右侧站点RD相同,否则hub点的CE将路由传回R3时,R3会认为从对侧PE学到的路由和本侧CE的路由是同一条,导致选路问题。

2、基础核心网配置

2.1、IGP配置(省略)

2.2、mpls ldp配置(省略)

2.3、mp-bgp邻居关系

注意:仅在R1 – R3、R2 – R3上建立mpbgp邻居关系

3、PE VRF配置

3.1、hub端PE–CE 发路由接口配置(CE收)

R3
ip vpn-instance in
ipv4-family
route-distinguisher 100:57
vpn-target 100:200 import-extcommunity //导入分支的路由
interface GigabitEthernet0/0/1.37 //创建子接口
dot1q termination vid 37 //封装vlan37
ip binding vpn-instance in //接口绑定进入vrf in
ip address 37.1.1.3 255.255.255.0
arp broadcast enable //开启arp广播,很重要!

3.2、hub端PE-CE 收路由接口配置(CE发)

R3
ip vpn-instance out
ipv4-family
route-distinguisher 100:67
vpn-target 100:100 export-extcommunity //导出总部和分支的路由
interface GigabitEthernet0/0/1.137
dot1q termination vid 137
ip binding vpn-instance out
ip address 137.1.1.3 255.255.255.0
arp broadcast enable

3.3、Spoke端 PE 接口配置

R1
ip vpn-instance 15
ipv4-family
route-distinguisher 100:51
vpn-target 100:200 export-extcommunity //导出分支的路由
vpn-target 100:100 import-extcommunity //导入总部的路由
interface GigabitEthernet0/0/2
ip binding vpn-instance 15
ip address 15.1.1.1 255.255.255.0

R2
ip vpn-instance 26
ipv4-family
route-distinguisher 100:62
vpn-target 100:200 export-extcommunity
vpn-target 100:100 import-extcommunity
interface GigabitEthernet0/0/1
ip binding vpn-instance 26
ip address 26.1.1.2 255.255.255.0

4、CE接口配置

4.1、hub端CE接收路由接口配置

注意:hub端的CE仅使用子接口将物理接口分成两个接口即可(防止路由不收发),不用起VRF,如果起了vrf 就变成MCE组网了
R7
interface GigabitEthernet0/0/1.37
dot1q termination vid 37
ip address 37.1.1.7 255.255.255.0
arp broadcast enable
interface LoopBack0
ip address 7.7.7.7 255.255.255.255

4.2、hub端CE发送路由接口配置

R7
interface GigabitEthernet0/0/1.137
dot1q termination vid 137
ip address 137.1.1.7 255.255.255.0
arp broadcast enable

4.3、spoke端CE接口配置(省略)

5、PE-CE 各协议情况

5.1、情况一:

在这里插入图片描述
hub端、spoke端全bgp
注:Hub端PE在收Hub CE路由时要:allow-as-loop

5.1.1、hub PE、CE BGP配置

R3
bgp 100
ipv4-family vpn-instance in
peer 37.1.1.7 as-number 7
ipv4-family vpn-instance out
peer 137.1.1.7 as-number 7
peer 137.1.1.7 allow-as-loop //允许接受总部发过来包含自己AS号的路由,很重要
R7
bgp 7
network 7.7.7.7 255.255.255.255
peer 37.1.1.3 as-number 100
peer 137.1.1.3 as-number 100
network 7.7.7.7 255.255.255.255

5.1.2、spoke PE、CE配置

R1
bgp 100
ipv4-family vpn-instance 15
peer 15.1.1.5 as-number 5

R2
bgp 100
ipv4-family vpn-instance 26
peer 26.1.1.6 as-number 6

R5
bgp 5
router-id 5.5.5.5
peer 15.1.1.1 as-number 100
network 5.5.5.5 255.255.255.255

R6
bgp 6
router-id 6.6.6.6
peer 26.1.1.2 as-number 100
network 6.6.6.6 255.255.255.255

5.1.3、观察路由

针对R5的5.1.1.1路由传给R6为例:
R1通过bgp ipv4路由学到5.1.1.1,转换成vpnv4继续传给R3
在这里插入图片描述
R3通过vpnv4路由学到5.1.1.1,转换成ipv4,放进vrf in
dis bgp vpnv4 route-distinguisher 100:51 routing-table //查 vpnv4 bgp表
dis bgp vpnv4 vpn-instance in routing-table //查vrf in bgp表
在这里插入图片描述

在这里插入图片描述
R7通过g0/0/1.37接口学到ipv4 bgp路由,通过g0/0/1.137传回R3
在这里插入图片描述R3通过vrf out将5.1.1.1,转换成vpnv4路由继续传递 – 发现会传给R2,但也会传回R1,但R1没有接收
R3:display bgp vpnv4 all route
在这里插入图片描述
R1从两个方向学到去往5.1.1.1的路由,因为AS_Path选择正确的路由。
从R5直接学到:AS_Path = 5
从R3绕圈学到:AS_Path = 7 100 5
在这里插入图片描述
R2正常收到R3传递的5.1.1.1vpnv4路由,放进vrf继续传递给R6

在这里插入图片描述
R6查看路由表,学到了5.1.1.1的路由(反向同理)在这里插入图片描述

5.1.4、连通性验证

R5访问R6、R7测试连通性在这里插入图片描述
在这里插入图片描述

R5 trace R6路径
在这里插入图片描述

5.2、情况二

在这里插入图片描述

hub端bgp、spoke端IGP
注:Hub端PE在收Hub CE路由时要:allow-as-loop

5.2.1、hub PE、CE路由协议配置

R3
bgp 100
ipv4-family vpn-instance in
peer 37.1.1.7 as-number 7
ipv4-family vpn-instance out
peer 137.1.1.7 as-number 7
peer 137.1.1.7 allow-as-loop //允许接收包含自己AS号的bgp路由

R7
bgp 7
router-id 7.1.1.1
peer 37.1.1.3 as-number 100
peer 137.1.1.3 as-number 100
network 7.1.1.1 255.255.255.255

5.2.2、spoke PE、CE路由协议配置
R1
ospf 1 router-id 1.1.1.1 vpn-instance 15
area 0.0.0.0
network 15.1.1.0 0.0.0.255

R2
ospf 1 router-id 2.2.2.2 vpn-instance 26
area 0.0.0.0
network 26.1.1.0 0.0.0.255

R5
ospf 1 router-id 5.1.1.1
area 0.0.0.0
network 5.1.1.0 0.0.0.255
network 15.1.1.0 0.0.0.255

R6
ospf 1 router-id 6.1.1.1
area 0.0.0.0
network 6.1.1.0 0.0.0.255
network 26.1.1.0 0.0.0.255

5.2.3、spoke端PE双向引入

R1
ospf 1 router-id 1.1.1.1 vpn-instance 15
import-route bgp
bgp 100
ipv4-family vpn-instance 15
import-route ospf 1

R2
ospf 1 router-id 2.2.2.2 vpn-instance 26
import-route bgp
bgp 100
ipv4-family vpn-instance 26
import-route ospf 1

5.2.3、观察路由

以R5的loopback口5.1.1.1路由传递给R6为例

R5首先通过1类LSA将路由传递给R1在这里插入图片描述
R1通过vrf ospf学习到1类lsa,引入至bgp变成vpnv4路由传递给R3
在这里插入图片描述
R3收到R1发送的5.1.1.1的vpnv4路由,转换成ipv4 bgp路由传递给R7
dis bgp vpnv4 route-distinguisher 100:51 routing-table
dis bgp vpnv4 vpn-instance in routing-table 5.1.1.1
在这里插入图片描述
在这里插入图片描述
R7从g0/0/1.37收到路由后,又自动从g0/0/1.137传出给R3
在这里插入图片描述R3的vrf out收到5.1.1.1的路由后会转换成vpnv4路由同时传递给R1和R2
dis bgp vpnv4 route-distinguisher 100:67 routing-table
dis bgp vpnv4 route-distinguisher 100:67 routing-table 5.1.1.1在这里插入图片描述
在这里插入图片描述

R1会同时从R5、R3方向两个方向收到去往5.1.1.1的路由
从R5收的是ospf路由 – 优先级 = 10(1类LSA) – 选择正确的路
从R3收的是bgp路由 – 优先级 = 255
在这里插入图片描述

R2收到从R3方向学的5.1.1.1的路由,会将路由转换成ipv4 bgp路由引入ospf,并作为ospf 5类LSA传递给R6
dis bgp vpnv4 all routing-table 5.1.1.1、display ospf lsdb
在这里插入图片描述
在这里插入图片描述
R6通过5类lsa形成去往5.1.1.1路由(反向同理)
在这里插入图片描述

5.2.4、连通性验证

R5分别访问R6和R7的loopback接口
在这里插入图片描述
在这里插入图片描述
R5 trace R6查看路径
在这里插入图片描述

5.3、情况三

在这里插入图片描述
hub端OSPF、spoke端OSPF(Hub端单进程、双进程)
注:Hub端PE在收Hub CE路由时:3类 关闭3类 ospf DN=1 检查
5类关闭5类ospf DN=1 + 修改route-tag

5.3.1、Hub端OSPF单进程

5.3.1.1、hub PE、CE配置

R3
ospf 2 router-id 3.1.1.1 vpn-instance in //收路由接口起ospf
area 0.0.0.0
network 37.1.1.0 0.0.0.255
ospf 2 router-id 3.1.1.1 vpn-instance out //发路由接口起ospf
area 0.0.0.0
network 137.1.1.0 0.0.0.255
注:hub端的PE必须起双进程,两个vpn不能起同一个ospf进程

R7
ospf 2 router-id 7.1.1.1 //hub段CE ospf单进程
area 0.0.0.0
network 7.1.1.0 0.0.0.255
network 37.1.1.0 0.0.0.255 //收路由接口
network 137.1.1.0 0.0.0.255 //发路由接口

5.3.1.2、spoke PE、CE配置

R1
ospf 2 router-id 1.1.1.1 vpn-instance 15
area 0.0.0.0
network 15.1.1.0 0.0.0.255
R2
ospf 2 router-id 2.1.1.1 vpn-instance 26
area 0.0.0.0
network 26.1.1.0 0.0.0.255

R5
ospf 1 router-id 5.1.1.1
area 0.0.0.0
network 5.1.1.0 0.0.0.255
network 15.1.1.0 0.0.0.255
R6
ospf 1 router-id 6.1.1.1
area 0.0.0.0
network 6.1.1.0 0.0.0.255
network 26.1.1.0 0.0.0.255

5.3.1.3、hub、Spoke端PE双向引入

R3
ospf 2 router-id 3.1.1.1 vpn-instance in //上面的vrf(中心CE收路由)
import-route bgp //将bgp引入上面vrf里传递给CE
bgp 100
ipv4-family vpn-instance out //下面的vrf(中心CE发路由)
import-route ospf 3 //将hub CE和分支的ospf路由引入bgp
ospf 3 route-id 3.1.1.1 vpn-instance out
dn-bit-check disable summary //关闭R3下面vrf的3类LSA DN置位检查
注:ospf PE双vrf 连接hub CE点,必须关闭DN bit位检查,否则hub点传回来的路由携带DN =1 的属性默认PE不接收

R1
ospf 2 router-id 1.1.1.1 vpn-instance 15
import-route bgp
bgp 100
ipv4-family vpn-instance 15
import-route ospf 2
R2
bgp 100
ipv4-family vpn-instance 26
import-route ospf 2
ospf 2 router-id 2.1.1.1 vpn-instance 26
import-route bgp

5.3.1.4、观察路由

以R5的5.1.1.1路由传递给R6为例
R5通过ospf以1类lsa将自身loopback口路由传递给R1
在这里插入图片描述
R1将vrf 收到的ospf路由引入bgp ipv4,转换成vpnv4路由的传递给R3
在这里插入图片描述
R3将收到的vpnv4路由导入vrf in,引入ospf作为3类lsa(domain id相同)传递给R7 g0/0/1.37

在这里插入图片描述

R7接受和发送接口属于同一个ospf进程,所以不用做引入,R7自动将g0/0/1.37接口收到的路由通过g0/0/1.13.7传递回R3

R3下面vrf out收到R7发过来的5.1.1.1的3类LSA(DN=1),默认不接受,需要开启忽略3类lsa DN置位功能。R3就会接受,并且将路由引入bgp转换成vpnv4路由继续传递给R1和R2
dis ospf lsdb summary 5.5.5.5 originate-router 37.1.1.3 //查看3类lsa dn = 1
dis bgp vpnv4 route-distinguisher 100:67 routing-table 5.5.5.5
在这里插入图片描述
R1从两个方向学到去往5.1.1.1的路由
R1从R5直接学到去往5.1.1.1的路由 – 优先级 10 - 优选正确这条,无环
R1从R3绕圈学到去往5.1.1.1的路由 – 优先级 255在这里插入图片描述

R2正常从R3收到5.1.1.1的vpnv4路由,并转换成ipv4 bgp 再引入ospf作为3类LSA传递给R6 (因为还是hub点也是ospf,且三个站点domain id 相同,中间是super backbone,三个PE都执行ABR功能)
在这里插入图片描述
R6查看收到的3类lsa 5.1.1.1
在这里插入图片描述

5.3.1.5、连通性验证

R5访问R6、R7验证连通性
在这里插入图片描述
在这里插入图片描述
R5 tracer R6查看访问路径
在这里插入图片描述

5.3.2、Hub端OSPF双进程

在这里插入图片描述

5.3.2.1、hub PE、CE配置

Hub PE配置与上面CE单进程配置相同(省略)
Hub CE配置:
R7
ospf 2 router-id 7.1.1.1
area 0.0.0.0
network 37.1.1.0 0.0.0.255
ospf 3 router-id 7.1.1.1
area 0.0.0.0
network 7.1.1.0 0.0.0.255 //将自己loopback 激活进ospf – 1类lsa
network 137.1.1.0 0.0.0.255
import-route ospf 3 //将上面vrf in收到的分支路由引入下面vrf ospf – 5类lsa

5.3.2.2、spoke PE、CE配置(与上面实验相同,省略)
5.3.2.3、观察路由(与上面实验相同)

与上面单进程ospf基本相同,唯一的区别就是hub CE(R7)上做了引入动作,将R7收到的5.1.1.1变成了5类lsa重新从R7传递给R6,5类经过对端PE ABR(R2)传递给R6还是5类lsa
在这里插入图片描述

问题:hub点CE(R7)因为是双进程ospf,需要做引入,将5.1.1.1的路由作为5类lsa传递回R3,R3不关闭DN、route-tag检查能否学习到路由?
答案:可以。因为R7没运行vrf,不存在DN和route tag防环的问题

5.3.2.4、连通性验证

在这里插入图片描述

在这里插入图片描述

5.4、情况四(有环路)

在这里插入图片描述

Hub端IGP、Spoke端bgp(有问题) - spoke端PE自然产生环路

5.4.1、hub端PE、CE配置

R3
ospf 2 router-id 3.1.1.1 vpn-instance in
area 0.0.0.0
network 37.1.1.0 0.0.0.255
ospf 3 router-id 3.1.1.1 vpn-instance out
area 0.0.0.0
network 137.1.1.0 0.0.0.255

R7
ospf 2 router-id 7.1.1.1
area 0.0.0.0
network 7.1.1.0 0.0.0.255
network 37.1.1.0 0.0.0.255
network 137.1.1.0 0.0.0.255

5.4.2、spoke端PE、CE配置
R1
bgp 100
ipv4-family vpn-instance 15
peer 15.1.1.5 as-number 5

R2
bgp 100
ipv4-family vpn-instance 26
peer 26.1.1.6 as-number 6
R5
bgp 5
router-id 5.1.1.1
peer 15.1.1.1 as-number 100
network 5.1.1.1 255.255.255.255

R6
bgp 6
router-id 6.1.1.1
peer 26.1.1.2 as-number 100
network 6.1.1.1 255.255.255.255

5.3.3、hub端PE双向引入
R3
ospf 2 router-id 3.1.1.1 vpn-instance in
import-route bgp //bgp路由引入vrf in 传给R7
bgp 100
ipv4-family vpn-instance out
import-route ospf 3
ospf 3 router-id 3.1.1.1 vpn-instance out
dn-bit-check disable ase //下面vrf ospf 3 接受dn=1的5类lsa
route-tag 200 //修改ospf 3 接受,发送的5类lsa route tag=200 ≠ 自己AS号100
注:因为R3产生的是5类lsa给R7(分支和总部不是都是ospf)
DN=1检查关闭
route-tag修改≠自己的AS号
这两步操作必须都做,才可以实现R3的vrf out 路由表里存在R7传回来的5.5.5.5的路由

5.4.4、环路现象

以R5的5.1.1.1路由传递给R6为例
R1收到R5发送的ipv4 bgp路由,转换成vpnv4路由传递给R3
在这里插入图片描述

R3收到5.1.1.1的vpnv4路由,转换成ipv4 bgp路由,通过ospf传递5类lsa给R7(vrf 出去 ospf DN = 1)
在这里插入图片描述

在这里插入图片描述

R7通过ospf收到5类lsa,放进自己路由表,同时传回给R3
在这里插入图片描述

R3收到5类lsa dn =1 ,由于关闭5类lsa dn检查、修改了route tag,放进vrf out路由表,引入bgp变成ipv4 bgp路由,再自动转换成vpnv4路由分别传递给R1、R2

在这里插入图片描述
在这里插入图片描述

R1 分别从R5和R3两个方向学到5.1.1.1的路由
R1从R5方向学到的5.1.1.1 bgp路由 AS_Path = 5
从R3方向学到的5.1.1.1 bgp路由 AS_Path = 没有 – 选择环路路由
display bgp vpnv4 vpn-instance 15 routing-table 5.1.1.1
在这里插入图片描述

分析:R1一旦选择从R3去往5.1.1.1,本来从R5直接去5.1.1.1的路由就被顶出路由表,就不能作为vpnv4路由传递给R3 – 路由震荡、环路

R5访问R6 – 不通

在这里插入图片描述

5.4.5、解决方法

R1上去往5.1.1.1 的路由不能被自己传给R3再穿回来的路由顶掉。
在R1上修改从R5方向学到的路由的Preval值(改大),让R1去往5.5.5.5始终保持从R5走。
R1
bgp 100
ipv4-family vpn-instance 15
peer 15.1.1.5 preferred-value 100 //将从R5学到的路由preval改大,优先从R5走

R1查看bgp表变化 – R1选择直接从R5 去5.1.1.1,然后将路由传递给R5完成路由传递
dis bgp vpnv4 vpn-instance 15 routing-table 5.1.1.1
在这里插入图片描述

R2一样需要修改去往6.6.6.6的路由优先从R6走(同理修改preval)
R2
bgp 100
ipv4-family vpn-instance 26
peer 26.1.1.6 preferred-value 100

5.4.5、连通性验证

R5测试访问R6、R7连通性

在这里插入图片描述
R5 tracer R6查看访问路径
在这里插入图片描述

三、mpls 域间vpn

IE考试不考,有兴趣可以自行了解

  • 22
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值