具体实验笔者通过GNS3实现,相关拓扑以及配置步骤以附件的形式发送

220045457.png

1.概述

如上图所示,本案例中针对原案例进行了简化

R1R2R4R5R6R10R7R8R3R11创建环回口,地址为X.X.X.X/32X为路由器编号

②全网所有路由器运行EIGRP 100,实现互通(宣告所有直连网络)

③红色标记的网络表示实际需要的路由(流量的各个目标网络)

④路由器间IP网段在图上标识,例如31.31.4.0/24网络中,R3对应的接口IP31.31.4.1,

       R11对应的IP31.31.4.11以此类推


2.原网络路由

原网络每台路由器共有29条前缀,其中EIGRP前缀为25条左右

示例:

核心层路由器R10

214010805.png

区域内路由器R15

214033989.png


3.迁移步骤

总体迁移思路已经在“BGP Core Deployment”小节阐述,具体实施时细节部分会有所不同

如下是笔者的实施步骤

3.1 对等体建立

1区域边界多台路由器建立iBGP对等体关系

①在如上拓扑中,指的是R1R2R7R8R3R11

②首先运行BGP进程,配置其BGP Router-ID

③以其直连物理接口为源建立对等体关系

2核心层路由器建立全互联iBGP对等体关系

①在如上拓扑中,核心层路由器指的是R4R5R6R10

②首先运行BGP进程,配置其BGP Router-ID

③以环回口为源建立对等体关系(neighbor指环回口地址,配置更新源地址为环回口地址)

3各区域与核心层直连设备建立eBGP对等体关系

①关注每一段DMZ中有几个eBGP对等体关系需要建立

②直接指定远端设备的直连物理接口为对等体地址

③不同区域间不建立eBGP对等体关系

4校验

校验每台设备的BGP会话数是否正确、对等体地址的指定是否无误

示例:

区域边界路由器R1

214106505.png

核心层路由器R5

214129166.png

3.2 路由注入前准备

1修改AD

在所有开启BGP进程的路由器上,通过distance bgp命令修改BGP路由的AD

   使iBGP路由为165eBGP路由为160

2next-hop-self

所有的建立iBGP对等体关系的设备上指定其iBGP peer时配置next-hop-self

3防止次优路径

AS 65102连接了多台核心层路由其,存在次优路径的风险

R5R6上应当配置route-map

       set metric-type internal并在向区域边界路由器发送更新时套用

4配置bestpath compare-routerid

在所有BGP进程上配置该命令以实现路径切换的可预测性

3.3 注入路由

1企业出口路由器向核心层下发BGP缺省

R12以及R13上分别对R10R4下发BGP缺省路由

②校验核心层设备BGP转发表、区域边界路由器BGP转发表

示例:

核心层设备R4

214155411.png

核心层设备R5

214216836.png

区域边界路由器R7

214239470.png

通告给AS 65102的路由携带上了EIGRP metric

   可见metric-typeinternal生效

区域边界路由器R1

214300895.png

这里需要注意的是R1学习到的缺省路由的下一跳为R13

而非通告该缺省路由的核心层设备R4

2宣告区域路由

①各区域边界路由器宣告特定的路由

②检查路由表BGP前缀数、BGP转发表路由下一跳、metric信息

注意:

BGP学习路由期间,网络不允许中断,部署时可以自行测试

214322669.png

路由表中应该只有BGP缺省路由而无其他BGP路由进入路由表

214345669.png

检查下一跳以及metric

区域边界路由器R1

214425467.png

核心层路由器R4

214452397.png

3.4 分割IGP

1注意EIGRP AD

由于现网整网为统一IGP域内,下发的缺省路由会扩散至区域以外,为防止路由选路受到影响,

   应当通过修改相关参数使得EIGRP缺省路由不会取代BGP缺省路由

而如果修改EIGRP AD将导致EIGRP重建邻居关系,这显然是不希望发生的,

   因此应当确保BGPAD值小于EIGRP的外部路由AD170

   但是大于其内部路由AD90),这样,区域边界路由器下发的缺省路由只能在区域内扩散

2重分发BGP缺省

各个区域边界路由器通过重分发BGP缺省路由向各个区域下发IGP缺省,

    以确保EIGRP邻居关系中断后不中断路由可达性

3分割IGP

在各个区域边界路由器上,配置其面向其它区域的接口passive-interface以中断BGP路由

4校验

①校验BGP路由数量

②校验路由表中BGP路由是否取代EIGRP路由

示例:

区域边界路由器R1

214523778.png

此时路由表中装载了5BGP路由以及一条缺省路由

总共路由数量为6

且此时整个区域边界路由器的路由数量从29条下降到了12

此次网络迁移的目的其实已经实现了

214554259.png

R1通过BGP学习到区域外部路由

214657698.png

R1上的EIGRP路由全为区域内路由

区域内路由器R15

214617354.png

R15上除了区域内路由之外通过缺省去往外部网络

3.5 IGP重部署

1核心层重部署

①在各台核心层路由器上创建新的EIGRP进程

②校验新进程的对等体关系

③清除原进程

2区域重部署

①在各台区域路由器上创建新的EIGRP进程

②校验新进程的对等体关系

③重分发BGP缺省路由

④清除原进程

3远程站点重部署

①在各台区域路由器上创建新的EIGRP进程

②校验新进程的对等体关系

③重分发BGP缺省路由

R3R11上关闭EIGRP水平分割

⑤清除原路由进程

4企业网出口重部署

直接清除其EIGRP进程即可

3.6 AD还原

①所有运行BGP的路由器上取消之前的AD配置

②利用clear ip route命令刷新路由表使还原的AD生效(路由表收敛过程会导致轻微的丢包现象发生)

3.7 路由聚合

①在需要进行聚合的区域边界路由器上配置聚合命令,添加summary-only关键字

这里需要注意的是,如果区域间或区域内链路故障是否会由于聚合而导致路由问题

(该网络环境下,远程站点可能会发生此类问题,这里通过关闭EIGRP水平分割进行解决)

②校验

检查聚合路由的学习情况、下一跳等信息


聚合后路由表

区域边界路由器R1

214726839.png

核心层路由器R4

214756687.png

核心层路由器R10

214825837.png

区域内路由器R15

214854618.png