BGP实验--BGP路由反射器

AR1、AR2上的Loopback 1接口分别为10.1.1.1/24、10.2.2.2/24,用于模拟用户网段
所有设备均使用Loopback 0地址为BGP Router ID,AR1与AR2、AR2与AR3、AR3与AR4、AR4与AR2之间基于直连接口建立IBGP对等体关系,其中AR1为AR2的路由反射器客户端,AR2为AR3的路由反射器客户端,AR3为AR4的路由反射器客户端
实验任务
- 设备基础IP地址配置
- 配置AS内的OSPF,在互联接口、Loopback 0接口上激活OSPF
- 配置AS内基于直连接口建立IBGP对等体关系
- 配置路由反射器,将AR1配置为AR2的客户端、AR2为AR3的客户端、AR3为AR4的客户端
- 在AR2上将Loopback 1接口路由发布到BGP,观察Originator_ID属性如何实现路由防环
- 在AR1上将Loopback 1接口路由发布到BGP,观察Cluster_List属性如何实现路由防环
实验步骤
(1)互联接口、换回口IP地址配置
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.0.12.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]interface LoopBack 0
[AR1-LoopBack0]ip address 10.0.1.1 24
[AR1-LoopBack0]q
[AR1]interface LoopBack 1
[AR1-LoopBack1]ip address 10.1.1.1 24
[AR1-LoopBack1]q
[AR1][AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.0.12.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 10.0.23.2 24
[AR2-GigabitEthernet0/0/1]q
[AR2]interface GigabitEthernet 0/0/2
[AR2-GigabitEthernet0/0/2]ip address 10.0.24.2 24
[AR2-GigabitEthernet0/0/2]q
[AR2]interface LoopBack 0
[AR2-LoopBack0]ip address 10.0.2.2 24
[AR2-LoopBack0]q
[AR2]interface LoopBack 1
[AR2-LoopBack1]ip address 10.2.2.2 24
[AR2-LoopBack1]q
[AR2][AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 10.0.23.3 24
[AR3-GigabitEthernet0/0/0]q
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.0.34.3 24
[AR3-GigabitEthernet0/0/1]q
[AR3]interface LoopBack 0
[AR3-LoopBack0]ip address 10.0.3.3 24
[AR3-LoopBack0]q
[AR3][AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 10.0.34.4 24
[AR4-GigabitEthernet0/0/0]q
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]ip address 10.0.24.4 24
[AR4-GigabitEthernet0/0/1]q
[AR4]interface LoopBack 0
[AR4-LoopBack0]ip address 10.0.4.4 24
[AR4-LoopBack0]q
[AR4]
(2)配置AS 64511的OSPF
# AR1配置
[AR1]ospf 1 router-id 10.0.1.1
[AR1-ospf-1]area 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 10.0.12.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]q
[AR1-ospf-1]q
[AR1]# AR2配置
[AR2]ospf 1 router-id 10.0.2.2
[AR2-ospf-1]area 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.12.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.23.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.24.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]q
[AR2-ospf-1]q
[AR2]# AR3配置
[AR3]ospf 1 router-id 10.0.3.3
[AR3-ospf-1]area 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]network 10.0.34.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]q
[AR3-ospf-1]q
[AR3]# AR4配置
[AR4]ospf 1 router-id 10.0.4.4
[AR4-ospf-1]area 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.0.34.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 10.0.24.4 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]q
[AR4-ospf-1]q
[AR4]
在AR2、AR3上查看OSPF邻居的概要信息
<AR2>display ospf peer brief


OSPF邻居已经全部正常建立
在AR4上查看OSPF路由表
<AR4>display ospf routing

AR4已经学习到全网的路由
(3)配置IBGP对等体
配置AS内基于Loopback 0接口建立IBGP对等体关系
[AR1]bgp 64511
[AR1-bgp]router-id 10.0.1.1
[AR1-bgp]peer 10.0.12.2 as-number 64511
[AR1-bgp]q
[AR1][AR2]bgp 64511
[AR2-bgp]router-id 10.0.2.2
[AR2-bgp]peer 10.0.12.1 as-number 64511
[AR2-bgp]peer 10.0.23.3 as-number 64511
[AR2-bgp]peer 10.0.24.4 as-number 64511
[AR2-bgp]q
[AR2][AR3]bgp 64511
[AR3-bgp]router-id 10.0.3.3
[AR3-bgp]peer 10.0.23.2 as-number 64511
[AR3-bgp]peer 10.0.34.4 as-number 64511
[AR3-bgp]q
[AR3][AR4]bgp 64511
[AR4-bgp]router-id 10.0.4.4
[AR4-bgp]peer 10.0.24.2 as-number 64511
[AR4-bgp]peer 10.0.34.3 as-number 64511
[AR4-bgp]q
[AR4]
在AR2、AR3上检查IBGP对等体状态
<AR2>display bgp peer


AS内的对等体关系已经建立
(4)配置路由反射器
# AR2上将AR1配置为路由反射器
[AR2]bgp 64511
[AR2-bgp]peer 10.0.12.1 reflect-client # AR3上将AR2配置为路由反射器
[AR3]bgp 64511
[AR3-bgp]peer 10.0.23.2 reflect-client# AR4上将AR3配置为路由反射器
[AR4]bgp 64511
[AR4-bgp]peer 10.0.34.3 reflect-client
(5)验证Originator_ID实现路由防环
在这个步骤中,我们将在AR2上发布BGP路由10.2.2.0/24,并观察该路由依次经过路由反射器AR3、AR4反射后,被通告回AR2从而引发潜在路由环路风险的情况
缺省情况下,AR2发布BGP路由后,该路由将被AR2直接通告给AR4,另一方面也会通过AR3反射给AR4,现在AR4将优先选择AR2直接通告过来的路由,从而不会再将AR3反射过来的路由在反射回给AR2。为此,我们需要在AR2上部署路由策略,使AR2不直接向AR4通告10.2.2.0/24路由
# 配置路由策略
[AR2]acl number 2000
[AR2-acl-basic-2000]rule 5 permit
[AR2-acl-basic-2000]q[AR2]route-policy bgp deny node 10
Info: New Sequence of this List.
[AR2-route-policy]if-match acl 2000
[AR2-route-policy]q# 在BGP中调用路由策略
[AR2]bgp 64511
[AR2-bgp]peer 10.0.24.4 route-policy bgp export# 在AR2上发布路由
[AR2]bgp 64511
[AR2-bgp]network 10.2.2.0 24
在AR2上查看BGP路由10.2.2.0/24的明细信息
<AR2>display bgp routing-table 10.2.2.0 24

该条路由只通告给了AR1、AR3,没有通告给AR4
在AR3上查看BGP路由10.2.2.0/24的明细信息

AR3将来自反射器客户端的BGP路由10.2.2.0/24反射给了10.0.34.4(AR4),同时该BGP路由的nexthop为10.0.23.2
在AR4上查看BGP路由10.2.2.0/24的明细信息

该条路由来自反射器客户端AR3,原始路由经由AR3反射,路由的nexthop地址并未改变,同时AR3为其添加Orginator_ID属性,值为10.0.2.2,同时AR4将该条路由反射给了AR2
再次在AR2上查看BGP路由10.2.2.0/24的明细信息

AR2上依旧只存在本地通告的BGP路由,没有AR4通告的BGP路由
在AR2上查看BGP对等体10.0.24.4的详细信息

从输出信息可以看到AR2从AR4收到了1个Update报文,未向AR4发送Update报文(路由策略限制),但是本地BGP路由表中不存在有AR4通告的BGP路由10.2.2.0/24
在AR2上出发入方向的软复位,让AR4重新发送Update报文
<AR2>refresh bgp 10.0.24.4 import
再次查看AR2上Update报文收发数量
<AR2>display bgp peer 10.0.24.4 verbose | in Update

接收的Update保温数量增加,AR2从AR4收到了BGP路由10.2.2.0/24的通告
再次查看AR2上BGP路由10.2.2.0/24的明细信息

依旧只有本地发布的1条BGP路由,AR4通告的BGP路由Orginator_ID属性值与本地Router ID一致,AR2忽略了该条路由
(6)验证Cluster_List实现路由防环
为了方便观察,取消AR2上的BGP路由发布,在AR2上将Loopback 1接口路由发布到BGP,观察Cluster_List如何防止路由环路
取消AR2上的BGP路由发布
[AR2]bgp 64511
[AR2-bgp]undo network 10.2.2.0 255.255.255.0
[AR2-bgp]q
[AR2]
在AR1上将Loopback 1接口路由发布到BGP
[AR1]bgp 64511
[AR1-bgp]network 10.1.1.0 24
[AR1-bgp]q
[AR1]
依次在AR1、AR2、AR3、AR4上查看BGP路由10.1.1.0/24的明细信息
<AR1>display bgp routing-table 10.1.1.0 24

AR1作为BGP路由10.1.1.0/24的始发者,AR1将路由通告给了AR2(10.0.12.2)

来自路由反射器客户端AR1的BGP路由10.1.1.0/24,AR2将其反射给了AR3(10.0.23.3)

来自路由反射器客户端AR2的BGP路由10.1.1.0/24,AR2反射时添加了Cluster_List属性,值为10.0.2.2,AR3将该条路由反射给了AR4(10.0.34.4)

来自路由反射器客户端AR3的BGP路由10.1.1.0/24,AR3反射时添加了Cluster_List属性,值为10.0.3.3,10.0.2.2。AR4将该条路由反射给了AR2(10.0.24.2)
再次查看AR2的BGP路由表

AR2的BGP路由表上依旧只有一条来自10.0.12.1的BGP路由10.1.1.0/24
在AR2上查看BGP对等体10.0.24.4的详细信息
<AR2>display bgp peer 10.0.24.4 verbose

AR2从AR4上收到了4个Update报文,未向AR4发送Update报文(路由策略限制),但是本地BGP路由表中没有AR4通告的BGP路由10.1.1.0/24
在AR2上触发软复位,让AR4重新发送Update报文
<AR2>refresh bgp 10.0.24.4 import
再次查看AR2上的Update报文收发数量
<AR2>display bgp peer 10.0.24.4 verbose | in Update

接受的Update报文数量增加,AR2从AR4收到了BGP路由10.1.1.0/24的通告
再次查看AR2上BGP路由10.1.1.0/24的明细信息

依旧只有来自AR1通告的1条BGP路由,AR4通告的BGP路由其Cluster_List属性值中包含了ARdenCluster_ID,AR2忽略了该路由
实验包
路由反射器
https://www.alipan.com/s/TeRgappWWop
相关文章:
BGP实验--BGP路由反射器
AR1、AR2上的Loopback 1接口分别为10.1.1.1/24、10.2.2.2/24,用于模拟用户网段 所有设备均使用Loopback 0地址为BGP Router ID,AR1与AR2、AR2与AR3、AR3与AR4、AR4与AR2之间基于直连接口建立IBGP对等体关系,其中AR1为AR2的路由反射器客户端&a…...
域渗透-域环境部署
01-域渗透部署 一、工作组和域 1、为什么需要域 在早期Windows主机都是属于工作组网络,单独的个体,在企业环境中,针对于工作组网络的计算机要达到统一管理相当麻烦,为实现将一个企业中所有的用户和计算机进行集中管理ÿ…...
【Oracle】空格单字符通配符查询匹配失败
问题 在进行模糊查询的时候,通过全局任意字符串匹配出含有两个字刘姓的人,但是通过刘_不能匹配出结果。 解决 检查后发现,姓名中包含空格 SELECT * FROM student WHERE TRIM(sname) LIKE 刘_;第一种解决方案就是查询的时候进行去空格处理&a…...
uniapp实现中间平滑凸起tabbar
uniapp实现中间平滑凸起tabbar 背景实现思路代码实现尾巴 背景 在移动端开发中,tabar是一个使用频率很高的组件,几乎是每个APP都会用到。今天给大家分享一个中间平滑凸起的tabbar组件,有需要的可以做下参考。先上图镇楼: 实现思…...
【视频】OpenCV:识别颜色、绘制轮廓
1、安装OpenCV库 sudo apt install libopencv-dev2、链接库 将 OpenCV 头文件路径和库添加到CMake中,在 CMakeLists.txt 中添加 1)查找库 find_package(OpenCV REQUIRED) 或者 find_package(OpenCV REQUIRED core imgproc highgui) 2)添加头文件路径 include_directories…...
C++_STL_xx_番外01_关于STL的总结(常见容器的总结;关联式容器分类及特点;二叉树、二叉搜索树、AVL树(平衡二叉搜索树)、B树、红黑树)
文章目录 1. 常用容器总结2. 关联式容器分类3. 二叉树、二叉搜索树、AVL树、B树、红黑树 1. 常用容器总结 针对常用容器的一些总结: 2. 关联式容器分类 关联式容器分为两大类: 基于红黑树的set和map;基于hash表的unorder_set和unorder_ma…...
xlrd.biffh.XLRDError: Excel xlsx file; not supported
文章目录 一、问题报错二、报错原因三、解决思路四、解决方法 一、问题报错 在处理Excel文件时,特别是当我们使用Python的xlrd库来读取.xlsx格式的文件,偶尔会遇到这样一个错误:“xlrd.biffh.XLRDError: Excel xlsx file; not supported”。…...
ENNSP中ACL的实验配置
ACL:访问控制列表 1访问控制----在路由器的入或者出的接口上,匹配流量,之后产生动作---允许或拒绝 2.定义感兴趣流量-----帮助其他软件抓流量 访问控制的匹配规则: 拓扑图如下 基础配置 基础配置弄好后,随便p…...
数字后端零基础入门系列 | Innovus零基础LAB学习Day8
###LAB15 Detail Routing for Signal Integrity, Timing, Power and Design for Yield 这个章节虽然标题有点长,但不要被它吓到,其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接,用实际的金属层…...
【AI开源项目】FastGPT- 快速部署FastGPT以及使用知识库的两种方式!
文章目录 一、FastGPT大模型介绍1. 开发团队2. 发展史3. 基本概念 二、FastGPT与其他大模型的对比三、使用 Docker Compose 快速部署 FastGPT1、安装 Docker 和 Docker Compose(1). 安装 Docker(2). 安装 Docker Composeÿ…...
信息学科平台系统开发:Spring Boot实用指南
3系统分析 3.1可行性分析 通过对本基于保密信息学科平台系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于保密信息学科平台系统采用Spring Boot框架&a…...
笔记本电脑买i7还是i9?i7和i9处理器区别详细介绍
i7和i9处理器都是英特尔(Intel)公司生产的高性能处理器,但它们有一些显著的区别。为了帮助你做出明智的选择,下面我们详细介绍一下i7和i9处理器的区别,以及如何根据你的需求来选择合适的处理器。 一、i7处理器的特点…...
Netty原来就是这样啊(一)
前言: 当前对于整体而言来说就是说分为客户端以及服务端然后服务端接收到客户端的请求之后将客户端想要的结果返回给它,但是这个就需要建立一个连接进行数据的传输除此以外我们是通过网络进行传输的那么就需要网络协议 (TCP UDP),建立的连接就是叫Socket连接 Socket的具体介绍…...
量子容错计算
基本思想 容错量子计算的基本想法是,在合理编码后的量子态上直接量子计算,以至于不完全需要解码操作。假设有一个简单的量子电路,但不幸的是噪声影响着这个电路的每一个元件,包括量子态的制备、量子逻辑门、对输出的测量&#x…...
QGraphics View坐标系
QGraphics View绘图结构依赖三个类:QGraphicsScene,QGraphicsView,QGraphicsItem。 这三者的关系在前面已经介绍过:Graphics View 绘图架构-CSDN博客 这里介绍下这三者的坐标系,以及如何相互转换。 1. QGraphicsScen…...
繁星之下--
在一个宁静的小镇上,年轻的画家阿宁用她的画笔捕捉着四季的变换。这个小镇四季分明,春天的嫩芽、夏天的繁花、秋天的金黄和冬天的白雪,仿佛每一个季节都在向她诉说着自己的故事。阿宁常常在思考,如何将这些美丽的瞬间转化为永恒的…...
Transformer+KAN系列时间序列预测代码
前段时间,来自 MIT 等机构的研究者提出了一种非常有潜力的替代方法 ——KAN。该方法在准确性和可解释性方面表现优于 MLP。而且,它能以非常少的参数量胜过以更大参数量运行的 MLP。 KAN的发布,引起了AI社区大量的关注与讨论,同时…...
vue项目安装组件失败解决方法
1.vue项目 npm install 失败 删除node_modules文件夹、package-lock.json 关掉安装对话框 重新打开对话框 npm install...
C++ [项目] 躺平发育
一、基本介绍 支持Dev-C5.11版本(务必调为英文输入法),基本操作看游戏里的介绍,怎么做的……懒得说,能看懂就看注释,没有的自己猜,如果你很固执……私我吧 二、代码部分 #include<bits/stdc.h> #include<windows.h> #include<unistd.h> using namespace st…...
[产品管理-55]:产品设计不仅仅完成功能,即可用性设计,还需要完成可生产性、可装配性、可维护性、可回收性、可服务性设计
目录 可用性设计: 可生产性设计: 可装配性设计: 可维护性设计: 可回收性设计: 可服务性设计: 产品设计是一个综合性的过程,它不仅仅局限于完成产品的基本功能,即可用性设计&am…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
