就像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,负责与…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾  能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
Linux基础开发工具——vim工具
文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...
使用python进行图像处理—图像滤波(5)
图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值,以达到平滑(去噪)、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算,…...
