当前位置: 首页 > news >正文

就像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负载均衡配置示例一

image-20240518143158838

[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

image-20240518145234704

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们有没有想到可以用前缀列表

image-20240518145234704

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路由

image-20240518145234704

 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的路由负载均衡及过滤深入浅出

本篇技术博文摘要 &#x1f31f; 本文内容涵盖了BGP负载均衡的基本概念、配置技巧和在实际网络中的应用&#xff0c;包括如何在华为ENSP上实现负载均衡和路由过滤。通过配置BGP的前缀列表、ACL以及路由过滤策略&#xff0c;可以实现网络流量的精确控制和优化&#xff0c;提高网…...

valgrind 检测多线程 bug,检测 并发 bug concurrent bug parallel bug

valgrind --toolhelgrind ./your_program 如果检测的对象是大型程序&#xff0c;可以设定仅在某些函数中开启 valgrind 的检测&#xff1a; Valgrind 提供了一些客户请求&#xff08;client requests&#xff09;&#xff0c;可以在代码中插入特定的宏来控制 Valgrind 的行为。…...

游戏引擎学习第135天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾 game_asset.cpp 的创建 在开发过程中&#xff0c;不使用任何现成的游戏引擎或第三方库&#xff0c;而是直接基于 Windows 进行开发&#xff0c;因为 Windows 目前仍然是游戏的标准平台&#xff0c;因此首先在这个环境中进行…...

异步操作返回原始上下文

是什么&#xff1f; 在讨论同步上下文执行回调的概念时&#xff0c;我们首先需要了解一些基本概念&#xff1a;同步与异步操作、上下文以及回调函数。 同步与异步操作&#xff1a; 同步操作是指代码按照顺序依次执行&#xff0c;每个操作必须等待前一个操作完成才能开始。这便…...

区块链中的数字签名:安全性与可信度的核心

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

vulnhub渗透日记23:bulldog

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

macOS - 使用 tmux

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

Armbian: 轻量级 ARM 设备专用 Linux 发行版全面解析

引言 在嵌入式开发和物联网&#xff08;IoT&#xff09;领域&#xff0c;选择合适的操作系统至关重要。对于 Raspberry Pi、Orange Pi、Banana Pi 以及 Rockchip、Amlogic、Allwinner 等 ARM 平台上的单板计算机&#xff08;SBC&#xff09;&#xff0c;一个高效、轻量级并且易…...

微服务通信:用gRPC + Protobuf 构建高效API

引言 在微服务架构中&#xff0c;服务之间的通信是系统设计的核心问题之一。传统的RESTful API虽然简单易用&#xff0c;但在性能、类型安全和代码生成等方面存在一定的局限性。gRPC作为一种高性能、跨语言的RPC框架&#xff0c;结合Protobuf&#xff08;Protocol Buffers&…...

Spring Boot 整合 JMS-ActiveMQ,并安装 ActiveMQ

1. 安装 ActiveMQ 1.1 下载 ActiveMQ 访问 ActiveMQ 官方下载页面&#xff0c;根据你的操作系统选择合适的版本进行下载。这里以 Linux 系统&#xff0c;Java环境1.8版本为例&#xff0c;下载 apache-activemq-5.16.7-bin.tar.gz。 1.2 解压文件 将下载的压缩包解压到指定目…...

容器 /dev/shm 泄漏学习

容器 /dev/shm 泄漏的介绍 在容器环境中&#xff0c;/dev/shm 是一个基于 tmpfs 的共享内存文件系统&#xff0c;通常用于进程间通信&#xff08;IPC&#xff09;和临时数据存储。由于其内存特性&#xff0c;/dev/shm 的大小是有限的&#xff0c;默认情况下 Docker 容器的 /de…...

Spring Boot 3.x 基于 Redis 实现邮箱验证码认证

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

车载测试:智能座舱测试中多屏联动与语音交互的挑战

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

C/C++输入输出(1)

1.getchar和putchar 1.1getchar() 函数原型&#xff1a; 1 int getchar(void); getchar()函数返回用户从键盘输入的字符&#xff0c;使用时不带有任何参数。 程序运行到这个命令就会暂停&#xff0c;等待用户从键盘输入&#xff0c;等同于使用cin或scanf()方法读取一个字符…...

前端面试场景题葵花宝典之四

87.场景面试之大数运算&#xff1a;超过js中number最大值的数怎么处理 在 JavaScript 中&#xff0c;Number.MAX_SAFE_INTEGER&#xff08;即 2^53 - 1&#xff0c;即 9007199254740991&#xff09;是能被安全表示的最大整数。超过此值时&#xff0c;普通的 Number 类型会出现…...

探索Elasticsearch:索引的CRUD

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

Java数据结构第十六期:走进二叉树的奇妙世界(五)

专栏&#xff1a;Java数据结构秘籍 个人主页&#xff1a;手握风云 目录 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 1.2. 二叉树的中序遍历 1.3. 二叉树的后序遍历 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 我们这里要使用栈来进行实现。我们反向思考一下为…...

【开源免费】基于SpringBoot+Vue.JS疫情管理系统(JAVA毕业设计)

本文项目编号 T 227 &#xff0c;文末自助获取源码 \color{red}{T227&#xff0c;文末自助获取源码} T227&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程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集合元素的特点&#xff1a;有序表示存取有序&#xff08;因为有索引&#xff09;而且可以重复 ● List常用实现类&#xff1a; ArrayList、LinkedList、Vector等 1.1 常用方法…...

使用 Spring Boot 实现前后端分离的海康威视 SDK 视频监控

使用 Spring Boot 实现前后端分离的海康威视 SDK 视频监控系统&#xff0c;可以分为以下几个步骤&#xff1a; 1. 系统架构设计 前端&#xff1a;使用 Vue.js、React 或 Angular 等前端框架实现用户界面。后端&#xff1a;使用 Spring Boot 提供 RESTful API&#xff0c;负责与…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...

ABAP设计模式之---“Tell, Don’t Ask原则”

“Tell, Don’t Ask”是一种重要的面向对象编程设计原则&#xff0c;它强调的是对象之间如何有效地交流和协作。 1. 什么是 Tell, Don’t Ask 原则&#xff1f; 这个原则的核心思想是&#xff1a; “告诉一个对象该做什么&#xff0c;而不是询问一个对象的状态再对它作出决策。…...

记一次spark在docker本地启动报错

1&#xff0c;背景 在docker中部署spark服务和调用spark服务的微服务&#xff0c;微服务之间通过fegin调用 2&#xff0c;问题&#xff0c;docker容器中服务器来后&#xff0c;注册中心都有&#xff0c;调用服务也正常&#xff0c;但是调用spark启动任务后报错&#xff0c;报错…...