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

华为ensp-BGP路由过滤

学习新思想,争做新青年,今天学习的是BGP路由过滤

实验目的:

掌握利用BGP路由属性AS_Path进行路由过滤的方法
掌握利用BGP路由属性Community进行路由过滤的方法
掌握利用BGP路由属性Next_Hop进行路由过滤的方法

实验内容:

本实验网络中,AS 100模拟了企业总部,AS 200、AS 300、AS 400、AS 500分别模拟了企业的分支机构1、分支机构2、分支机构3、分支机构4。网络需求是:各个分支机构都需要与企业总部进行通信,同时要求分支机构1(AS 200)不能接收其他分支机构的路由;分支机构2(AS 300)不能将自己的路由信息通告给其他分支机构;分支机构4(AS 500)不能接收分支机构3(AS 400)的路由。这些需求都需要针对BGP路由的某些属性进行路由过滤来实现。

实验拓扑:

在这里插入图片描述

实验配置:

1、基本配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int g0/0/0
ip add 10.0.13.1 24
int g0/0/1
ip add 10.0.14.1 24
int g0/0/2
ip add 10.0.12.1 24
q

R2:
sys
sysname R2
int loop 0
ip add 10.0.2.2 32
int g0/0/0
ip add 10.0.12.2 24
int g0/0/1
ip add 10.0.25.2 24
int g0/0/2
ip add 10.0.26.2 24
q

R3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int loop 1
ip add 192.168.1.1 24
int g0/0/0
ip add 10.0.13.3 24
q

R4:
sys
sysname R4
int loop 0
ip add 10.0.4.4 32
int loop 1
ip add 192.168.2.1 24
int g0/0/0
ip add 10.0.14.4 24
q

R5:
sys
sysname R5
int loop 0
ip add 10.0.5.5 32
int loop 1
ip add 192.168.3.1 24
int g0/0/0
ip add 10.0.25.5 24
q

R6:
sys
sysname R6
int loop 0
ip add 10.0.6.6 32
int loop 1
ip add 192.168.4.1 24
int g0/0/0
ip add 10.0.26.6 24
q

2.配置 BGP 路由协议

配置 BGP 路由协议,每台路由器均使用直连物理接口建立 BGP 邻居关系,并通告自己的 Loopback 接口到 BGP 进程中。

[R]bgp 100
[R-bgp]router-id 10.0.1.1
[R-bgp]peer 10.0.12.2 as-number 100
[R-bgp]peer 10.0.12.2 next-hop-local
[R-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]peer 10.0.14.4 as-number 300
[R1-bgp]network 10.0.1.1 255.255.255.255

[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.12.1 next-hop-local
[R2-bgp]peer 10.0.25.5 as-number 400
[R2-bgp]peer 10.0.26.6 as-number 500
[R2-bgp]network 10.0.2.2 255.255.255.255

[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]network 10.0.3.3 255.255.255.255
[R3-bgp]network 192.168.1.0 255.255.255.0

[R4]bgp 300
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.14.1 as-number 100
[R4-bgp]network 10.0.4.4 255.255.255.255
[R4-bgp]network 192.168.2.0 255.255.255.0

[R5]bgp 400
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.25.2 as-number 100
[R5-bgp]network 10.0.5.5 255.255.255.255
[R5-bgp]network 192.168.3.0 255.255.255.0

[R6-bgp]bgp 500
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.26.2 as-number 100
[R6-bgp]network 10.0.6.6 255.255.255.255
[R6-bgp]network 192.168.4.0 255.255.255.0

3.利用 AS_Path 属性进行路由过滤

目前的情况是,每台路由器都接收到了其他路由器的 Loopback 接口的路由信息,然而公司要求分支机构1(AS 200)是不能接收其他分支机构的路由的,但允许与企业总部(AS 100)进行通信。为了实现这一需求,可以利用 AS_Path 属性来进行路由过滤,即只允许 AS_Path 列表中只存在 AS 100 的路由才能被 R3 接收。为此,可以使用 as-path-filter 结合正则表达式来对 BGP 路由的 AS_Path 属性进行匹配,实现路由的过滤。

[R3]ip as-path-filter 1 permit 100$
[R3]bgp 200
[R3-bgp]peer 10.0.13.1 as-path-filter 1 import

4.利用 Community 属性进行路由过滤

公司还要求分支机构2(AS 300)不能将自己的路由信息通告给其他分支机构,但需要将自己的路由信息通告给企业总部(AS 100)。为此,可利用团体属性中的 No-Export 来方便而有效地实现这一需求。

[R4]route-policy 1 permit node 10
[R4-route-policy]apply community no-export
[R4-route-policy]bgp 300
[R4-bgp]peer 10.0.14.1 route-policy 1 export
[R4-bgp]peer 10.0.14.1 advertise-community

[R1]bgp 100
[R1-bgp]peer 10.0.12.2 advertise-community

5.利用 Next Hop 属性进行路由过滤
公司还要求分支机构4(AS 500)不能接收分支机构3(AS 400)的路由,为此,可以利用 Next Hop 属性进行路由过滤来实现这一需求。

[R2]ip ip-prefix 1 permit 10.0.25.5 32
[R2]route-policy 1 deny node 10
[R2-route-policy]if-match ip next-hop ip-prefix 1
[R2-route-policy]route-policy 1 permit node 20
[R2-route-policy]bgp 100
[R2-bgp]peer 10.0.26.6 route-policy 1 export

配置完毕

相关文章:

华为ensp-BGP路由过滤

学习新思想,争做新青年,今天学习的是BGP路由过滤 实验目的: 掌握利用BGP路由属性AS_Path进行路由过滤的方法 掌握利用BGP路由属性Community进行路由过滤的方法 掌握利用BGP路由属性Next_Hop进行路由过滤的方法 实验内容: 本实…...

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以…...

Python提取目标Json键值:包含子嵌套列表和字典

目标:取json中所有的Name、Age字典 思路:递归处理字典中直接包含子字典的情况, import jsondef find_targ_dicts(data,key1,key2):result {}if isinstance(data, dict):if key1 in data and key2 in data: # 第一层字典中包含key1和key2re…...

分享6个对象数组去重的方法

大家好,关于对象数组去重的业务场景,想必大家都遇到过类似的需求吧,针对这样的需求,你是怎么做的呢。 下面我就先和大家讨论下基于对象的某个属性如何去重。 方法一:使用 .filter() 和 .findIndex() 相结合的方法 使…...

Formality:官方Tutorial(一)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 本文是对Synopsys Formality User Guide Tutorial中第一个实验的翻译(有删改),Lab文件可以从以下链接获取。 Formality官方Tu…...

力扣28找出字符串中第一个匹配项的下标

class Solution:def strStr(self, haystack: str, needle: str) -> int:# 特殊情况处理if not needle:return 0# 获取 haystack 和 needle 的长度a len(needle)b len(haystack)# 遍历 haystack,检查每个子字符串是否与 needle 匹配for i in range(b - a 1):if…...

【JAVA】java中将一个list进行拆解重新组装

一、使用场景 1、当需要对一个list中的元素属性进行重新赋值,比如一个list中存储了订单数据,我们需要改变list中每个订单的id,然后再重新输出订单list if(CollectionUtils.isNotEmpty(orderList)){ orderList.forEach(p->{ …...

在 Windows 上使用 SSH 密钥访问 Linux 服务器

本章目录: 前言1. 准备工作2. 生成 SSH 密钥对步骤 1:打开命令行步骤 2:运行 ssh-keygen 命令步骤 3:选择密钥保存位置步骤 4:设置密钥密码(可选)步骤 5:生成密钥对 3. 查看生成的密钥文件4. 将…...

小白0基础centos8安装docker

总述:博主作为0基础小白将详细记录第一次从centos8的下载到安装docker的过程,包括中间出现的问题和解决方案 1Centos8下载 参见博文CentOS 8 的安装(官方安装、清华大学开源软件镜像站、阿里云镜像、网易镜像下的安装步骤)_cent…...

机器学习之逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告

逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告 目录 逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告1 逻辑回归算法1.1 概念理解1.2 算法导入1.3 算法优缺点 2 LogisticRegression理解2.1查看参数定义2.2 参数理解2.3 方法2.4基本格式 3 数据标准…...

openGauss连接是报org.opengauss.util.PSQLException: 尝试连线已失败

安装好高斯数据库后然后用java连接时报如下错误: 解决方法: 在openGauss数据库的安装路径下/opt/opengauss/data/single_node(这个路径根据自己实际情况变化)有个pg_hba.conf文件,修改里面host内容如下,我这里设置的是所有ip都能…...

详细的一条SQL语句的执行流程

SQL 语句的执行流程会因数据库管理系统的不同而略有差异,但一般来说,主要包括以下几个阶段: 查询解析 词法分析:数据库系统首先将输入的 SQL 语句按字符流进行扫描,依据词法规则把它分割成一个个的单词,如…...

适用于小白的程序报错提问 AI 模板

#工作记录 程序报错提问 AI 模板 1、你现在将扮演python专家,请保持连续对话,请基于你的专业知识修改代码并回答! 2、可以向我询问任何有利于你分析问题的信息。 3、你修改的程序代码,运行后报错,报错信息我放在最后…...

web实操9——session

概念 数据保存在服务器HttpSession对象里。 session也是域对象,有setAttribute和getAttribute方法 快速入门 代码 获取session和塞入数据: 获取session获取数据: 请求存储: 请求获取: 数据正常打印&#xff1a…...

OFDM学习-(二)长短序列和PPDU整体数据处理流程

OFDM学习 (二)长短序列和PPDU整体数据处理流程 OFDM学习前言一、短序列短序列的作用 二、长序列三、PLCP/SIGNAL/DATA数据处理流程三、fpga实现STS模块LTS模块训练序列模块仿真波形 总结 前言 根据框图可以知道发射机这部分信号在DA转换之前&#xff0c…...

.NET周刊【12月第4期 2024-12-22】

国内文章 dotnet 简单使用 ICU 库进行分词和分行 https://www.cnblogs.com/lindexi/p/18622917 本文将和大家介绍如何使用 ICU 库进行文本的分词和分行。 dotnet 简单聊聊 Skia 里的 SKFontMetrics 的各项属性作用 https://www.cnblogs.com/lindexi/p/18621674 本文将和大…...

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…...

鸿蒙开发:实现键值数据库存储

前言 鸿蒙当中数据持久化存储,为我们提供了多种的实现方式,比如用户首选项方式,关系型数据库方式,键值型数据库方式,文件存储方式等等,对于数据量比较的小的,我们直接选择轻量级的用户首选项方式…...

WebGL 实践(一)开发环境搭建

WebGL 是一种基于 JavaScript 的 API,用于在浏览器中渲染 2D和3D 图形,很多场景都能用,例如游戏开发、数据可视化、在线教育和虚拟现实等应用领域。 零、基础知识 相关基础知识很重要,如果会html、JavaScript等技术掌握起来会更…...

在线机考|2024华为实习秋招春招编程题(最新)——第3题_PCB印刷电路板布线_300分(八)

题目内容 在PCB印刷电路板设计中,器件之间的连线需要避免线路的阻抗值增大、而且赛件之间还有别的器件和别的干扰源,在布线时我们希望受到的干扰尽量小。现将电路板简化成一个MN的矩阵,每个位置(单元格)的值表示其源干扰度。 如果单元格的值为0,表示此位置没有干扰源;如果单…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

LLMs 系列实操科普(1)

写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​:Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...