就像BGP中的AS_PATH一样,无论路途多远,我愿意陪你一起走——基于华为ENSP的BGP的路由负载均衡及过滤深入浅出
本篇技术博文摘要 🌟
- 本文内容涵盖了BGP负载均衡的基本概念、配置技巧和在实际网络中的应用,包括如何在华为ENSP上实现负载均衡和路由过滤。
- 通过配置BGP的前缀列表、ACL以及路由过滤策略,可以实现网络流量的精确控制和优化,提高网络的可扩展性与灵活性。
引言 📘
- 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。
- 我是肾透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员,希望能够与各位在此共同成长。
📈个人成就和🌐社区贡献与影响力
👑《荣誉头衔》
- 华为云云享专家
- 华为云技术开发者HCCDA认证
- 华为HCDG成员
- 2024年度华为云核心贡献者
- 阿里云专家博主
- 数据安全高级工程师认证
- 新华三高级网络工程师认证
- 腾讯云开发者创作之星
- 2024年度腾讯云创作之星
- 腾讯云文档内容共建官
- 腾讯云TDP成员
- AWS——人工智能领域从业者认证
- 支付宝开发者社区优秀季度创作博主
- CSDN网络安全领域新星创作者
💻技术认证:
- 华为病毒查杀漏洞管理技术认证
- 华为Web暴力破解漏洞挖掘技术认证
- 华为HTTPS加密电商网站技术认证
- 华为博客网站SQL注入攻击以及防御技术认证
- 华为MySQL数据库迁移上云技术认证
- 华为企业上云网络规划设计技术认证
- 阿里云Apsara Clouder基于存储产品快速搭建网盘技术认证
- 阿里云Apsara Clouder容器应用与集群管理技术认证
- 阿里云Apsara ClouderECS基础运维管理技术认证
- 阿里云Apsara ClouderECS快速入门技术认证
- 阿里云Apsara Clouder存储应用与数据管理技术认证
- 阿里云Apsara ClouderSOL基础开发与应用技术认证
- 阿里云Apsara Clouder基于容器搭建企业级应用技术认证
- 阿里云Apsara Clouder云原生数据库PolarDB 快速入门技术认证
- 阿里云Apsara Clouder云数据库RDS快速入门技术认证
- 阿里云Apsara Clouder大模型- 基于百炼平台构建智能体应用技术认证
- 阿里云Apsara Clouder企业级ECS集群构建技术认证
- 腾讯微服务平台TSF技术认证
- 腾讯EdgeOne网站加速与防护技术认证
🙆曾参与赛事以及荣誉奖项:
- 曾荣获江苏省新华三网络赛事江苏省一等奖、江苏省华为ICT大赛团队赛江苏省二等奖、江苏省网络安全精英赛事优秀奖、江苏省C4网络技术挑战赛赛事、江苏省红帽挑战赛、腾讯全国安全游戏竞赛、全国网络安全运维管理等CTF赛事
- 曾荣获南京市CSDN作者周榜第2名、原力月榜第1名;全国原力榜第11名、全国领军人物榜单第22名
欢迎各位彦祖与热巴畅游本人专栏与技术博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击➡️指向的专栏名即可闪现]
➡️Cyberspace Security
➡️ 24 Network Security -LJS
➡️HCIP;H3C-SE;CCIP—LJS[华为、华三、思科高级网络]
➡️ Ungranted access vulnerability
➡️ MYSQL REDIS Advance operation
➡️RHCE-LJS[Linux高端骚操作实战篇]
➡️数据结构与算法[考研+实际工作应用+C程序设计]
➡️RHCSA-LJS[Linux初级及进阶骚技能]
上节回顾
目录
本篇技术博文摘要 🌟
引言 📘
📈个人成就和🌐社区贡献与影响力
👑《荣誉头衔》
💻技术认证:
🙆曾参与赛事以及荣誉奖项:
欢迎各位彦祖与热巴畅游本人专栏与技术博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击➡️指向的专栏名即可闪现]
上节回顾
1.BGP负载均衡——路由等价负载分担
啥是BGP负载均衡?
形成负载分担的条件
注意:
基于华为ENSP的BGP负载均衡配置示例一
补充:
基于华为ENSP的BGP负载均衡配置示例2
R1示例配置:
配置后:
2.BGP的路由过滤——配置实战
需求一:
1、抓流量
2、做策略
3、调用
需求二:
1、配置前缀列表
2、调用
需求三:
1、配置ACL列表
2、调用
注意:
1.BGP负载均衡——路由等价负载分担
啥是BGP负载均衡?
- 在大型网络中,到达同一目的地通常会存在多条有效BGP路由,设备只会优选一条最优的BGP路由,将该路由加载到路由表中使用,这一特点往往会造成很多流量负载不均衡的情况。
- 通过配置BGP负载分担,可以使得设备同时将多条等代价的BGP路由加载到路由表,实现流量负载均衡,减少网络拥塞。
- 尽管配置了BGP负载分担,设备依然只会在多条到达同一目的地的BGP路由中优选一条路由,并只将这条路由通告给其他对等体。
- 在设备上使能BGP负载分担功能后,只有满足条件的多条BGP路由才会成为等价路由,进行负载分担。
形成负载分担的条件
- Preferred-Value属性值相同
- Local_Preference属性值相同
- 都是聚合路由或者非聚合路由
- AS_Path属性长度相同
- Origin类型(IGP、EGP、Incomplete)相同
- 起源码相同、 MED属性值相同
- 都是EBGP路由或都是IBGP路由
- AS内部IGP的Metric相同
- AS_Path属性完全相同即:内容相同,顺序相同,长度相同
[r4-bgp]load-balancing as-path-ignore ---忽略在进行负载均衡配置时的AS_Path属性对比。
注意:
- 在实现负载均衡后,无论是否配置了next-hop-local命令,本地设备都会向自己的IBGP对等体发布路由时,将下一跳修改为本地地址
基于华为ENSP的BGP负载均衡配置示例一
[r4-bgp]maximum load-balancing ?INTEGER<1-8> Specify maximum equal cost routesebgp EBGP routes as equal cost routeibgp IBGP routes as equal cost route
[r4-bgp]maximum load-balancing e
[r4-bgp]maximum load-balancing ebgp 2 ---修改BGP最大负载分担路由条目为2,默认情况为1。
补充:
- 如果携带了ebgp或者ibgp参数,则代表对某种方式学习到的路由进行负载分担,不携带参数则代表全局执行。
基于华为ENSP的BGP负载均衡配置示例2
R1示例配置:
[R1]bap 200[R1]maximum load-balancing ibgp 2
- 以上述拓扑为例, R1上两条BGP路由在不做任何路由策略、配置的情况下,前8条优选规则无法比较出优选路由。
- 因此可以配置IBGP路由的负载分担。
配置后:
2.BGP的路由过滤——配置实战
需求一:
- 通过路由策略来完成,不让R2将172.16.1.0/24传递给R3
1、抓流量
[r2]ip ip-prefix aa permit 172.16.1.0 24
2、做策略
[r2]route-policy aa deny node 10[r2-route-policy]if-match ip-prefix aa[r2]route-policy aa permit node 20
3、调用
[r2-bgp]peer 10.1.23.3 route-policy aa export
需求二:
- 不让R3学习到172.16.2.0/24
- 所以IKN们有没有想到可以用前缀列表
1、配置前缀列表
[r3]ip ip-prefix aa deny 172.16.2.0 24[r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
2、调用
[r3-bgp]peer 10.1.23.2 ip-prefix aa import
需求三:
- 通过filter-policy来完成,不让R2和R3学习172.16.3.0/24路由
1、配置ACL列表
[r2-acl-basic-2000]rule deny source 172.16.3.0 0
[r2-acl-basic-2000]rule permit source any
2、调用
[r2-bgp]peer 10.1.12.1 filter-policy 2000 import
注意:
- 在BGP中使用过滤策略时,只能调用ACL列表,所以必须使用ACL列表来抓取流量
相关文章:

就像BGP中的AS_PATH一样,无论路途多远,我愿意陪你一起走——基于华为ENSP的BGP的路由负载均衡及过滤深入浅出
本篇技术博文摘要 🌟 本文内容涵盖了BGP负载均衡的基本概念、配置技巧和在实际网络中的应用,包括如何在华为ENSP上实现负载均衡和路由过滤。通过配置BGP的前缀列表、ACL以及路由过滤策略,可以实现网络流量的精确控制和优化,提高网…...
valgrind 检测多线程 bug,检测 并发 bug concurrent bug parallel bug
valgrind --toolhelgrind ./your_program 如果检测的对象是大型程序,可以设定仅在某些函数中开启 valgrind 的检测: Valgrind 提供了一些客户请求(client requests),可以在代码中插入特定的宏来控制 Valgrind 的行为。…...

游戏引擎学习第135天
仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾 game_asset.cpp 的创建 在开发过程中,不使用任何现成的游戏引擎或第三方库,而是直接基于 Windows 进行开发,因为 Windows 目前仍然是游戏的标准平台,因此首先在这个环境中进行…...
异步操作返回原始上下文
是什么? 在讨论同步上下文执行回调的概念时,我们首先需要了解一些基本概念:同步与异步操作、上下文以及回调函数。 同步与异步操作: 同步操作是指代码按照顺序依次执行,每个操作必须等待前一个操作完成才能开始。这便…...

区块链中的数字签名:安全性与可信度的核心
数字签名是区块链技术的信任基石,它像区块链世界的身份证和防伪标签,确保每一笔交易的真实性、完整性和不可抵赖性。本文会用通俗的语言,带你彻底搞懂区块链中的数字签名! 文章目录 1. 数字签名是什么?从现实世界到区块…...

vulnhub渗透日记23:bulldog
声明 文中涉及操作均来自靶机虚拟环境,禁止用于真实环境,任何未经授权的渗透测试都是违法行为! 开搞 首先nmap扫描目标机开放端口和服务 访问80端口 扫目录撒 发现登录口 点击web-shell提示登录后才能使用 /dev/下面查看网页源码发现村咋h…...

macOS - 使用 tmux
文章目录 安装 tmux使用更多快捷键说明 安装 tmux brew install tmux使用 在终端输入 tmux 进入 tmux 界面,然后 输入 Control Option B 进入交互模式 输入 % 左右分栏," 上下分割 上一个窗格:{,下一个:} PS…...

Armbian: 轻量级 ARM 设备专用 Linux 发行版全面解析
引言 在嵌入式开发和物联网(IoT)领域,选择合适的操作系统至关重要。对于 Raspberry Pi、Orange Pi、Banana Pi 以及 Rockchip、Amlogic、Allwinner 等 ARM 平台上的单板计算机(SBC),一个高效、轻量级并且易…...
微服务通信:用gRPC + Protobuf 构建高效API
引言 在微服务架构中,服务之间的通信是系统设计的核心问题之一。传统的RESTful API虽然简单易用,但在性能、类型安全和代码生成等方面存在一定的局限性。gRPC作为一种高性能、跨语言的RPC框架,结合Protobuf(Protocol Buffers&…...

Spring Boot 整合 JMS-ActiveMQ,并安装 ActiveMQ
1. 安装 ActiveMQ 1.1 下载 ActiveMQ 访问 ActiveMQ 官方下载页面,根据你的操作系统选择合适的版本进行下载。这里以 Linux 系统,Java环境1.8版本为例,下载 apache-activemq-5.16.7-bin.tar.gz。 1.2 解压文件 将下载的压缩包解压到指定目…...
容器 /dev/shm 泄漏学习
容器 /dev/shm 泄漏的介绍 在容器环境中,/dev/shm 是一个基于 tmpfs 的共享内存文件系统,通常用于进程间通信(IPC)和临时数据存储。由于其内存特性,/dev/shm 的大小是有限的,默认情况下 Docker 容器的 /de…...

Spring Boot 3.x 基于 Redis 实现邮箱验证码认证
文章目录 依赖配置开启 QQ 邮箱 SMTP 服务配置文件代码实现验证码服务邮件服务接口实现执行流程 依赖配置 <dependencies> <!-- Spring Boot Starter Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr…...

车载测试:智能座舱测试中多屏联动与语音交互的挑战
智能座舱作为汽车智能化发展的核心,集成了多屏联动和语音交互功能,为驾驶员和乘客提供更便捷的体验。然而,这些功能的测试面临诸多挑战,包括多屏同步性、噪声干扰和复杂场景的处理。本文将详细分析这些挑战,探讨测试方…...

C/C++输入输出(1)
1.getchar和putchar 1.1getchar() 函数原型: 1 int getchar(void); getchar()函数返回用户从键盘输入的字符,使用时不带有任何参数。 程序运行到这个命令就会暂停,等待用户从键盘输入,等同于使用cin或scanf()方法读取一个字符…...
前端面试场景题葵花宝典之四
87.场景面试之大数运算:超过js中number最大值的数怎么处理 在 JavaScript 中,Number.MAX_SAFE_INTEGER(即 2^53 - 1,即 9007199254740991)是能被安全表示的最大整数。超过此值时,普通的 Number 类型会出现…...

探索Elasticsearch:索引的CRUD
在企业环境中,Elasticsearch的索引CRUD(创建Create、读取Read、更新Update、删除Delete)操作是非常基础且频繁使用的功能。这些操作对于管理和维护数据至关重要,尤其是在处理大规模数据集和需要实时搜索与分析的应用场景中。 目录…...

Java数据结构第十六期:走进二叉树的奇妙世界(五)
专栏:Java数据结构秘籍 个人主页:手握风云 目录 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 1.2. 二叉树的中序遍历 1.3. 二叉树的后序遍历 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 我们这里要使用栈来进行实现。我们反向思考一下为…...

【开源免费】基于SpringBoot+Vue.JS疫情管理系统(JAVA毕业设计)
本文项目编号 T 227 ,文末自助获取源码 \color{red}{T227,文末自助获取源码} T227,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

有关Java中的集合(1):List<T>和Set<T>
学习目标 核心掌握List集合了解Set集合 1.List<T> ● java.util.List。有序列表。 ● List集合元素的特点:有序表示存取有序(因为有索引)而且可以重复 ● List常用实现类: ArrayList、LinkedList、Vector等 1.1 常用方法…...
使用 Spring Boot 实现前后端分离的海康威视 SDK 视频监控
使用 Spring Boot 实现前后端分离的海康威视 SDK 视频监控系统,可以分为以下几个步骤: 1. 系统架构设计 前端:使用 Vue.js、React 或 Angular 等前端框架实现用户界面。后端:使用 Spring Boot 提供 RESTful API,负责与…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...