实验拓扑图:
实验要求:
1.AS1存在两个环回,一个地址为192.168.1.0/24该地址不能 在任何协议中宣告
AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯.
2.整个AS2的IP地址为172.16.0.0/16,请合理划分
3.AS间的骨干链路IP地址随意定制
4.使用BGP协议让整个网络所有设备的环回可以互相访问5.减少路由条目数量,避免环路出现
实验步骤:
1.划分IP地址
根据实验要求可知,172.16.0.0/16 需要从 大网段 划分到 小网段 ,虽然没有说每台路由器后面都需要 网段 , 但因为 根据实际情况 无论大到学校 商城 ,还是小到 公司 家庭 都是有用户在使用该路由器纷发来的网段 。所以我们应该把172.16.0.0/16的网段 化成 一组是专门给用户使用的 ,另外一组用于 BGP的 环回建邻!
172.16.0.0/16
172.16.0.1/32 172.16.0.2/32 172.16.0.3/32 172.16.0.4/32 172.16.0.5/32 172.16.0.6/32 --- 用于环回建邻
172.16.1.0/30 172.16.1.4/30 172.16.1.8/30 172.16.1.12/30 172.16.1.16/30 172.16.20/30 ---用于AS2内部的路由器的网段
R1的配置
因为AS间的骨干链路IP地址随意定制 ,所以根据个人习惯书写 。
R2的配置
R3的配置
R4的配置
R5的配置
R6的配置
R7的配置
R8的配置
因为AS间的骨干链路IP地址随意定制 ,所以根据个人习惯书写 。
2.检测查询IP地址
因为 路由器较多,配置的IP地址 较多,所以需要 检测是否 配置 正确 没有配混乱!
通过 display ip interface brief
3.OSPF 建邻
因为 AS 2 内部 有较多的路由器 ,需要 通过OSPF 来实习 区域内部的网络互通,便于下步使用BGP协议 划分区域 及IBGP、EBGP 建邻。
通过进入 到 OSPF 1 中,在区域0进行宣告 网段 ,因为该大区域 AS2 内部 都是属于172.16.0.0/16划分出来的 所以 都可以进行大网段宣告——network 172.16.0.0 0.0.255.255
下面以 r 7 为示例:
4.查询OSPF 建邻是否成功
通过display ospf peer brief 查询 当每台路由器内部的State 达到 Full状态时 ,即为 成功 ,否则 建邻尚未成功 或 失败 。
下面 以 r 2 为 示例:
5.AS 2 内部BGP 建邻
a. AS 2 内部 IBGP 建邻
因为 AS 2 内部 有一个大区域 包含 两个 小区域 ,所在的区域的路由器 的bgp 先属于小区域 然后 宣告在大区域中 。
先优先完成 小区域内部的IBGP 建邻 完成后 再进行 大区域内部之间的EBGP 建邻 。
R2 R3 R4 属于 64512 区域,R5 R6 R7 属于 64513 区域
如 r 2 属于 小区域 64512 ,大区域 2 ,
则 命令如下:
bgp 64512
confederation id 2
peer 12.0.0.1 as - number 1 --- 相邻 AS 1 的 EBGP 建邻
peer 172.16.0.2 as - number 64512 ---- AS 64512 内部的 IBGP 环回建邻
b.AS 2 内部 EBGP 建邻
大区域内部的小区域 EBGP 建邻 ,首先要 声明 跟哪个小区域建邻,然后再进行建邻 。
注意 :r2 和 r4 要建邻的区域是 64513;而 r5 和 r7 是要建邻的区域是 64512。
r2 命令如下:
要建邻的 区域 confederation peer - as 64513
修改更新源 peer 172.16 .0.6 connect - interface 10
修改 跳数 peer 172.16.0.6 ebgp-max-hop
r4 命令如下:
r5 命令如下:
r7 命令如下 :
6. R1 和 R 8 与 AS 之间的BGP 建邻
r1 和 r8 与 AS 2 之间建邻的BGP 是属于 EBGP 直连建邻,不需要采用环回建邻!!!
命令如下:
启动 BGP : bgp 1 / 3
直连建邻 : peer 12.0.0.2 as - number 2 / peer 78.0.0.1 as - number 2
7.查询BGP建立情况
通过 display bgp peer 查询 发现 已经建立了对应的 IBGP 和 EBGP 关系,说明前期的配置没有问题 。
注意: r7这里 还有个 AS号为 3 的78.0.0.2 的EBGP 邻居 未截图到!!!大家 已经要与AS3中的r8直连建立EBGP关系,否则导致后期全网不可达!!!
8.检测 R1 和 R8 是否学习到 BGP 传输的网段情况
通过 命令 display ip routing-table protocol bgp 查询 学习到的EBGP情况 ,
发现 r1 上 少了 172.16.4.0/24 网段 ,r8 上 少了 172.16.2.0/24 网段 ,侧面反映了 应该在AS 内部的IBGP 传输问题会被水平分割 ,从而无法学习到4.0和2.0网段。
解决方法 : 1. 可以 另外建立多个IBGP 关系 ,但会使路由器承载数据更加庞大,更加复杂。
2.在其中设置路由反射器 ,建立 客户 与 非客户的关系 ,把从客户学到的路由条目传给非客户的路由器,从而使其学习到欠缺网段。
9.R3 和 R6 设置为路由反射器
根据操作简单化 容易实现性来说,采用设置部分路由反射器,来建立客户与非客户的关系,以便学习到欠缺的网段。
在 r3 上设置 r4 为客户,把r4欠缺的网段传输出去
命令如下:
启动BGP :bgp 64512
设置客户:peer 172.16.0.3 reflect-client --- 此时在区域64512中 ,r4 为 客户 ,r2为非客户。
在 r6 上设置 r5 为客户,把r5欠缺的网段传输出去
命令如下:
启动BGP :bgp 64513
设置客户:peer 172.16.0.6 reflect-client --- 此时在区域64513中 ,r5为 客户 ,r7为非客户。
r2和r7还需将相邻的下一跳 修改为自身
10. 再次检查 R1 和 R8上是否学习到对应的网段
通过 命令 display ip routing-table protocol bgp 查询。
此时,r1 和 r8 的路由器上通过 EBGP,已经学习到从172.16.2.0/24 - 172.16.7.0/24 的网段,把之前欠缺的网段 补全齐了。
11.优化明细
在R1 和 R 8 通过查询发现BGP的网段 172.16.2.0/24-172.16.7.0/24 这个范围的网段 都是属于172.16.0.0/21 的大网段内,可以进行合并优化 ,减少路由条目 。
通过命令 aggregate 172.16.0.0 21 detail - suppressed 来经行 优化 路由条目。
此时,通过display ip routing-table protocol bgp 发现 从EBGP 学习到的路由条目为172.16.0.0/21的网段,路由条目已经发生优化 减少路由器占据负担和提高用户的阅读性。
12.配置 R1 和 R8 环回地址
测试 是否互通
13.R1和R8建立隧道
首先创建隧道接口: interface tunnel0/0/0
设置隧道IP地址
选择隧道类型 :tunnel - protocol gre
设置源IP :source + ip地址
设置目标IP :destination + ip地址
注意: 源IP 与 目标IP 在 R1 和 R8是相反的!!!
14.测试 R1 与 R8 之间隧道是否建立成功
通过 ping -a 源IP地址 目标IP地址 来进行测试 ,若回收到数据 即为 成功 建立
15.配置静态路由
此时 192.168.1.0 和 192.168.2.0 还不能互通 ,因为两个网段没有被公开!!!题目也不允许被公开 ,所以只能采用配置 静态路由 和 隧道 来共同完成互通性。
16.测试全网的连通性
此时,通过命令 ping -a 源IP地址 目标IP地址 来进行测试 ,若回收到数据 即为 全网互通,实验完成!!!!!!!!
注意事项:
1.配置BGP时 区域不要打错了,如我当时因为打多了一个数字导致 BGP 之间不能互通。
可以通过 undo 掉 该路由器上的 bgp 区域号。 直接 undo bgp 即 可生效 ,再次创建 新的 bgp + 区域号。
2.该实验的难度 属于中等难度 ,其实验的复杂程度 不亚于之前所过的实验,实验步骤繁琐,务必 重复做此实验,把前面的基础 捡起来,巩固。