HCIP---BGP联邦综合实验

HCIP—BGP联邦综合实验

在这里插入图片描述

题目要求如图所示

首先明确一些思路
AS1和AS3中两个环回互相通讯,可以想到的是搭建VPN隧道来达成
第二个要求,也就是AS2划分IP地址,我们应当是根据区域内部IGP协议来进行划分的
这里的IGP协议没有给定,我们就使用OSPF
第三个要求,AS间骨干链路IP地址随意定制,我们就依旧采用类似R1和R2之间12.0.0.0/24这种方式
第四个要求,让环回可以互相访问,我们不需要让所有AS的设备之间都可以访问,只要环回之间可以就行了,也是为了安全性考虑
第五个要求,减少路由条目数量,也就是BGP传递过程中尽可能使用路由聚合
避免环路,也就是要有空接口防环


首先还是要分配好IP地址,我们先来考虑AS2内部IGP协议的网络划分
给予用户的网段我们可以使用/24掩码的网段
所以AR2-AR7模拟用户接口的环回接口我们统一分配172.16.2.0/24,172.16.3.0/24……以此类推
然后我们给骨干链路分别以P2P网络和MA网络来划分网段
我们将172.16.0.0/24划分为P2P网络的网段,由于P2P网络是两个点相连的,因此我们可以进一步划分为/30的网段。
然后172.16.1.0/24给MA骨干去用,由于MA不像P2P一样只有两个点,所以我们给个/29的掩码长度


网段划分思路明确之后,我们就可以开始配置IP地址了,按照题目要求将所有IP地址配好


所有地址都配置完成后我们就可以开始启动协议了
思路当然是优先IGP协议,也就是先把AS2里面的OSPF启动一下

[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255

其他R3-R7也都可以采用上面的方式宣告
之后我们可以检查一下,比如在R4上:

在这里插入图片描述


这样我们OSPF进程就都启动好了,可以开始配置BGP了
我们首先在R1上启动BGP进程

[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.0.0.2 as-number 2

然后R2比较特殊,首先它在AS2内,然后它属于64512联邦,它与另一个64513联邦相连
R2与R1之间是EBGP关系,与R3之间是IBGP关系,与R5之间是联邦的EBGP关系
与R1建邻进行正常配置即可,与R3建邻我们使用环回接口来建可以更稳定一些,R5也使用环回接口来建,而且要进一步修改TTL值
因此我们进行如下配置:

[r2]bgp 64512
[r2-bgp]router-id 2.2.2.2
[r2-bgp]confederation id 2
[r2-bgp]confederation peer-as 64513
[r2-bgp]peer 12.0.0.1 as-number 1

[r2-bgp]peer 172.16.3.1 as-number 64512
[r2-bgp]peer 172.16.3.1 connect-interface LoopBack 0

[r2-bgp]peer 172.16.5.1 as-number 64513
[r2-bgp]peer 172.16.5.1 connect-interface LoopBack 0
[r2-bgp]peer 172.16.5.1 ebgp-max-hop


R3是联邦内部的设备,因此我们只建立IBGP关系即可,如下:

[r3]bgp 64512
[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 2
[r3-bgp]peer 172.16.2.1 as-number 64512
[r3-bgp]peer 172.16.2.1 connect-interface LoopBack 0
[r3-bgp]peer 172.16.4.1 as-number 64512
[r3-bgp]peer 172.16.4.1 connect-interface LoopBack 0


其他所有路由器都不外乎上面三种配置方式,这里不多作展示
之后我们可以进行检查,例如在R2上:

在这里插入图片描述

所有BGP都建立好之后,我们就可以开始发布路由了

在R1上:

[r1]bgp 1
[r1-bgp]network 10.0.0.0 24


然后我们到R2上检查:

在这里插入图片描述

我们可以看到这条路由是可用且优的,那么R2就会将这条路由转发,我们去R3上看一下:

在这里插入图片描述

我们可以看到R3确实收到了,但并不可用,R5上也是一样的

这是由于下一跳的问题,传给R2的下一跳是12.0.0.1,而R3和R5上下一跳也是12.0.0.1,R3和R5根本不知道12.0.0.1在哪儿,自然就不可用

所以我们需要在R2转发这条路由时,将下一跳修改为本地,配置如下:

[r2-bgp]peer 172.16.3.1 next-hop-local
[r2-bgp]peer 172.16.5.1 next-hop-local


这时候我们再去R3上看:

在这里插入图片描述


这条路由已经可用且优了,R5上也一样

这样做完之后,理论上R3和R5也会接着将该路由信息转发,但是我们在R4上看不到,却能在R6上看到
这是由于IBGP的水平分割机制导致的,所以R7也收不到

因此我们需要去打破这个水平分割,有几种方法
第一种,我们可以让R2和R4,R5和R7之间也建立邻居关系
这样固然可以解决,但是我们需要额外建立邻居关系,有些麻烦
另一种方法,我们可以将R3和R6设置成路由反射器,我们就采用这种办法

我们以R3举例
设置路由反射器是有条件的,首先我们必须要有一个IBGP对等体作为R3的客户,这里有R2和R4可以选
这样才能形成一个反射簇
这里我们指定R2为客户
配置如下:

[r3-bgp]peer 172.16.2.1 reflect-client


然后我们再去R4上看

在这里插入图片描述

可以看到这条路由信息经由R3反射,R4已经收到并可用了

同理R6上也要进行该操作,指定R7为客户即可

这样一来R7就能收到该路由信息了,同理R8应该也收到了,我们直接去R8上看:

在这里插入图片描述

同理,我们要发布R8的环回路由信息
然后在R7上同样也要修改下一跳,与上述操作一致
我们直接去R1上看:

在这里插入图片描述


现在两边都有路由信息,两个环回应该就可以通了,我们Ping一下:

在这里插入图片描述

这样一来要求R1和R8环回互通就算完成了
但是题目还要求所有环回都可以互通,所以我们需要将AS2的环回都宣告出去
为了省事,我们可以做路由聚合

以R2为例
这里我们采用的方法是,直接在R2上写一条指向聚合路由的空接口,然后我们将空接口发布出去
这样一来我们不用写明细,而且本身也能起到防环的作用
配置如下:

[r2]ip route-static 172.16.0.0 21 NULL 0
[r2-bgp]network 172.16.0.0 21

之后该路由就会传遍整个BGP协议,至此所有的环回其实就可以通了
我们随便测试一下

在这里插入图片描述


这里有一些细节要补充
我们建议在发布的时候,R7上也手工写一条空接口然后发布出去
这样做的原因是为了最大限度地节省我们的网络资源,因为虽然R2上写了空接口可以丢弃数据包不至于产生黑洞,但是可能一些本应该在R7直接丢弃的包,一直传递到了R2上才丢弃,不太完善

然后我们还有最后一个要求,是R1和R8的另外两个没有宣告的环回也要可以互通
按照一开始的思路,我们直接搭建VPN隧道
这里和一般的VPN隧道的建立有一些区别,在写source的时候不能写接口,因为接口是不通的
所以我们要用环回来建立隧道
R1上配置如下:

[r1]int Tunnel 0/0/0
[r1-Tunnel0/0/0]ip add 100.0.0.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre
[r1-Tunnel0/0/0]source 10.0.0.1
[r1-Tunnel0/0/0]destination 11.0.0.1

R8上同理
然后隧道建立完了,我们还要让两个环回走这条隧道才可以,我们要写路由

[r1]ip route-static 192.168.2.0 24 100.0.0.2
[r8]ip route-static 192.168.1.0 24 100.0.0.1


然后我们测试一下:

在这里插入图片描述


至此,实验完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值