HCIP—BGP邻居关系建立实验

BGP的邻居称为:IBGP对等体 EBGP对等体

1.EBGP对等体关系:

位于 不同自治系统 的BGP路由器之间的BGP对等体关系

EBGP对等体一般使用 直连建立 对等体关系,EBGP邻居之间的报文 TTL中值设置为1

两台路由器之间建立EBGP对等体关系,满足如下关系: 两个路由器属于不同AS 。在配置时,peer命令所指的对等体的IP地址可达, TCP连接必须正常建立 。

2.IBGP对等体关系:

位于 相同自治系统 的BGP路由器之间对等体关系

IBGP对等体一般使用 非自连建邻 。IBGP邻居建邻之间的报文中 TTL值被设置为255 。

在BGP对等体中,常常使用环回接口地址作为源目IP地址,原因环回接口稳定

并且可以借助AS内部的IGP的冗余拓扑来保证可靠性

实验拓扑如图所示,R1与R2属于同一个运营商网,AS编号为100,R1与R2之间的邻居关系为IBGP邻居关系。R3属于另一个运营商网络,AS编号为200,R3与R2之间的邻居关系为EBGP邻居关系。本实验中,路由器将分别采用物理接口和Loopback接口来进行IBGP和EBGP邻居关系的建立。

一:进行基础的IP地址配置,保证直连网段的ping通

二:R1和R2配置IBGP邻居

1.使用物理接口配置

R1和R2之间使用物理接口来配置IBGP邻居关系。R1和R2之间部署两条链路,其中一条物理出现故障时,另一条链路可以提供连通性

R1bgp 100

R1-bgprouter-id 10.0.1.1

R1-bgppeer 10.0.12.2 as-number 100

R1-bgppeer 10.0.21.2 as-number 10

R2bgp 100

R2-bgprouter-id 10.0.2.2

R2-bgppeer 10.0.12.1 as-number 100

R2-bgppeer 10.0.21.1 as-number 100

配置完成后在R2上使用dis bgp peer命令,查看BGP邻居关系

R2现在有两个BGP的邻居,分别为R1的两个接口IP地址10.0.12.1和10.0.21.1 ,AS号都为100,与R2的AS号相同,当前的邻居状态为Established,表示邻居关系建立成功。

R1将Loopback 0接口IP地址通告在BGP进程中

R1bgp 100

R1-bgpnetwork 10.0.1.1 32

配置完成后在R2上查看BGP路由表

R2的BGP路由表中去往10.0.1.1/32的路由,可以通过下一跳R1的两个接口的IP地址10.0.12.1和10.0.21.1,实现BGP路由冗余。

2.使用LoopBack 0接口进行配置

由于BGP是运行在TCP之上的,可以让R1的Loopback 0接口和R2的Loopback 0接口建立会话,并使用Loopback 0接口IP建立BGP邻居关系,则R1和R2之间只维护一个BGP邻居关系。当R1和R2之间的一条链路出现故障时,TCP直接通过另外一条物理链路继续维持会话关系,这效果比直接使用物理接口更具优势。

R1的Loopback 0接口和R2的Loopback 0接口建立会话前,双方配置静态路由到达对方的Loopback 0接口。

R1ip route-static 10.0.2.2 32 10.0.12.2

R1ip route-static 10.0.2.2 32 10.0.21.2

R2ip route-static 10.0.1.1 32 10.0.12.1

R2ip route-static 10.0.1.1 32 10.0.21.1

删除之前使用物理接口配置IBGP邻居关系的命令,并使用Loopback 0接口重新建立IBGP邻居关系

R1-bgpundo peer 10.0.12.2
R1-bgpundo peer 10.0.21.2#删除使用物理接口配置IBGP邻居关系的命令
R1-bgppeer 10.0.2.2 as-number 100#使用Loopback 0接口重新建立IBGP邻居关系

R2-bgpundo peer 10.0.12.1

R2-bgpundo peer 10.0.21.1

R2-bgppeer 10.0.1.1 as-number 100

R1使用dis bgp peer查看BGP邻居关系

发现R1和R2的邻居关系为Active,说明R1和R2之间尚未成功建立IBGP邻居关系。由于BGP邻居在检测地址时,双方的目标IP地址都与对方的BGP源IP地址相同,才可以正常建立邻居。

默认情况下BGP前往邻居路由器的出接口作为源IP地址 ,R1指定邻居地址10.0.2.2作为目的IP地址,R1出接口10.0.12.1源IP地址 ,。R2指定邻居地址10.0.1.1作为目的IP地址,R2出接口IP地址10.0.12.2作为源IP地址。 因为双方的出接口IP地址和目的IP地址都不相同,故无法正常建立邻居。

为了使数据包的目标IP与对方的BGP源地址相同,所以邻居也要将BGP源地址更改为自己的loopback接口地址。 由于R1发出的数据包目标IP10.0.2.2与R2的BGP源地址10.0.2.2完全相同,所以最终能够正常建立BGP邻居。R1在检测地址时,R2的目标IP10.0.1.1与R1的源10.0.1.1也完全相同。

R1使用命令peer 10.0.2.2 connect-interface LoopBack 0强制指定LoopBack 0接口地址作为发送BGP报文的源IP地址,R2也一样

R1-bgppeer 10.0.2.2 connect-interface LoopBack 0

R2-bgppeer 10.0.1.1 connect-interface LoopBack 0

R2使用dis bgp peer查看BGP邻居关系

当前的邻居状态为Established,表示邻居关系建立成功。

R2使用命令dis ip routing-table查看路表。

R2去往10.0.1.1/32的路由有两条,下一跳10.0.12.1和10.0.21.1,其中一条链路重新问题时,不会影响另一条链路。R1和R2的BGP邻居关系也不会有影响。

三:配置EBGP邻居

配置BGP邻居关系时使用物理接口建立,容易产生两个TCP会话和两个BGP邻居关系,当有较多设备时,这样配置容易导致网络不稳定,消耗设备资源。

我们以R2的LoopBack 0 和R3的LoopBack 0接口来配置EBGP邻居关系,先R2和R3上配置到达对方的LoopBack 0接口的静态路由。

R2ip route-static 10.0.3.0 255.255.255.0 10.0.23.3

R2ip route-static 10.0.3.0 255.255.255.0 10.0.32.3

R3ip route-static 10.0.2.0 255.255.255.0 10.0.23.2

R3ip route-static 10.0.2.0 255.255.255.0 10.0.32.2

R2和R3上使用LoopBack 0 接口建立EBGP邻居关系,使用命令connect-interface LoopBack 0强制指定LoopBack 0接口地址作为发送BGP报文的源IP地址

R2bgp 100

R2-bgppeer 10.0.3.3 as-number 200

R2-bgppeer 10.0.3.3 connect-interface LoopBack 0

R3BGP 200

R3-bgprouter-id 10.0.3.3

R3-bgppeer 10.0.2.2 as-number 100

R3-bgppeer 10.0.2.2 connect-interface LoopBack 0

R3查看BGP邻居关系

当前的邻居状态为idle,表示邻居关系建立不成功。

默认情况下,EBGP邻居之间发送BGP报文时,TTL值默认为1,则EBGP要求邻居关系之间必须使用物理接口必须直连。我们使用的地址不是直连地址,那么这个时候我们就需要开启EBGP多跳,否则将无法正常建立BGP邻居。可以通过修改TTL值,使报文TTL值大于1。

R2和R3上使用命令ebgp-max-hop 2,配置TTL值为2

R2-bgppeer 10.0.3.3 ebgp-max-hop 2

R3-bgppeer 10.0.2.2 ebgp-max-hop 2

R3查看BGP邻居关系

当前的邻居状态为Established,表示EBGP邻居关系建立成功。

相关推荐
l1t10 分钟前
修改两处,让SQLite求解数独SQL在datafusion上运行
服务器·数据库·sql
IT大白鼠38 分钟前
AI SSH 运维助手 V13.0内部版七项私有新特性全解
运维·人工智能·ssh
天蓝蓝的本我1 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
帷幕落秋1 小时前
经典命令场景与软硬链接
linux·运维
派小心.1 小时前
DAU和MAU怎么计算?先确定活跃事件、用户键和统计窗口
大数据·服务器·前端·人工智能·数据分析
data analyse 4562 小时前
Session数怎么计算?明确会话切分、超时与跨页规则
java·服务器·数据库
先知后行。2 小时前
各种文件系统
linux·服务器·数据库
Sayai3 小时前
Java 进程 Unable to create new native thread 排查实战:Linux 线程数五层限制与 JVM -Xss 调优
java·linux·运维·jvm·性能优化
修船大队长3 小时前
启动阶段 KL15 未接通时触发报文超时监控
运维·服务器·网络