HCIE之BGP路由策略(三)

news2024/11/16 3:25:23

BGP

  • 一、路由控制工具
      • ACL
      • IP-PREFIX
      • Route-Policy
  • 二、BGP路由控制
      • 通过更改MED属性调节选路
      • 通过更改Local_Pref属性调节选路
      • 理解ACL、IP-PREFIX和Route-Policy中permit、deny的含义
  • 三、BGP属性特点-团体属性
      • 练习
      • no-advertise属性
      • ORF

一、路由控制工具

在对BGP进行路由控制之前,我们先复习复习路由控制的几种选路工具

ACL

  • ACL访问控制列表,即用于流量的匹配与控制,但也能够用于匹配路由条目。
  • 基于接口的ACL(1000-1999)
  • 基本ACL(2000-2999) 仅能匹配源
  • 高级ACL(3000-3999) 能匹配五元组
  • 二层ACL(4000-4999)
acl 2000   //创建ACL编号2000
rule 0 permit source 1.1.0.0  0.0.255.255 	//匹配规则permit(通过)/deny(拒绝),通过1.1.0.0/16

IP-PREFIX

  • 地址前缀列表即IP-PrefixList。可以通过地址前缀列表,将与所定义的前缀过滤列表相匹配的路由,根据定义的匹配模式进行过滤,以满足使用者的需要。
  • 当用于过滤IP前缀,能同时匹配前缀号和掩码长度
  • 不能用于过滤数据包
  • 缺省情况下,存在最后一条默认匹配模式为deny
  • 当引用的前缀过滤列表不存在时,默认匹配模式为permit
ip ip-prefix name permit 192.168.1.0 24 greater-equal 25 less-equal 32 

Route-Policy

  • Route-Policy是一种功能非常强大的路由策略工具,它可以灵活地与ACL、IP-Prefix、As-Path-Filter等其它工具配合使用。
  • 主要用于路由过滤和路由属性设置等,从而影响流量经过的路径

二、BGP路由控制

在这里插入图片描述
通过全互联将AR1上的11.1.1.1和11.1.1.2宣告,使得AR3上的路由如下图所示:
在这里插入图片描述

通过更改MED属性调节选路

通过将AR1上11.1.1.1到AR3上的路由修改MED值为1000,观察AR3上路由和上图会发生何种差异
[AR1]ip ip-prefix 11.1 permit 11.1.1.1 32
[AR1]route-policy MED permit node 10
[AR1-route-policy]if-match ip-prefix 11.1
[AR1-route-policy]apply cost 1000
[AR1-bgp]peer 13.1.1.3 route-policy MED export
先通过前缀列表抓住11.1.1.1,然后通过路由策略调用该前缀列表,最后在bgp中调用该路由策略,并指明路由的方向为出方向。

PS:通过查看BGP路由表可知,MED属性越小越优,那么11.1.1.1的路由最优则为下一跳为2.1.1.1的,表中现象正常,但是11.1.1.2的下一跳13.1.1.1为何没有了呢
在这里插入图片描述
ACL、IP-Prefix、Route-Policy末尾都是拒绝所有,所以在抓取某些特定前缀时,末尾加上允许其他即可
正确写法:
[AR1]ip ip-prefix 11.1 permit 11.1.1.1 32
[AR1]route-policy MED permit node 10
[AR1-route-policy]if-match ip-prefix 11.1
[AR1-route-policy]apply cost 1000
[AR1]route-policy MED permit node 1000
[AR1-bgp]peer 13.1.1.3 route-policy MED export
在这里插入图片描述
查看11.1.1.1的详细描述,查看路由不优的原因为MED
在这里插入图片描述

通过更改Local_Pref属性调节选路

AR3上未修改LP时的路由信息
在这里插入图片描述
我们通过更改AR3上的LP值来查看AR2上的路由情况
[AR3-bgp]default local-preference 200
在这里插入图片描述

理解ACL、IP-PREFIX和Route-Policy中permit、deny的含义

AR1上创建环回口 2 3 5 6 地址分别为1.1.2.1 1.1.3.2 5.5.5.5 6.6.6.6并宣告
AR1和AR2建立邻居在这里插入图片描述

[AR2]route-policy rp permit node 20
[AR2-route-policy]if-match ip-prefix pref2
[AR2]ip ip-prefix pref2 deny 6.6.6.6 32在这里插入图片描述
查看AR2上的BGP路由表,未将6.6.6.6干掉
PS:原因在于,ACL和IP前缀列表的permit和deny仅为匹配和为【匹配,并非允许和通过,这样,在当前环境中IP-prefix未匹配6.6.6.6,也就不会将6.6.6.6路由干掉,如下图:
在这里插入图片描述
我们在AR2上将策略路由import
[AR2-bgp]peer 12.1.1.1 route-policy rp import
末尾隐含拒绝所有,BGP路由表为空
在这里插入图片描述
我们在末尾加上permit
[AR2]route-policy rp permit node 50
在这里插入图片描述
在这里插入图片描述

三、BGP属性特点-团体属性

  • 团体属性是BGP私有属性,在BGP对等体之间传递,不受AS限制
  • 团体属性是在BGP中一种给路由条目打上标记,用于确保路由过滤和选路的连续性,从而使得BGP路由器可以过滤进出路由更新或优选某些路由
  • 可选传递属性,必须针对peer x.x.x.x advertise-community
    • no-advertise
      • 表示不向任何对等体发送匹配的路由,收到此属性路由后,不发布给任何其他BGP对等体
    • no-export
      • 不向AS外发送匹配的路由,但发送给其他子自知系统,收到此属性路由后,不发布到本地AS之外
    • no-export-subconfed
      • 不向AS外发送匹配的路由,也不发送给其他子自治系统,收到此属性路由后,不发送给任何其他子自治系统

练习

AR1上抓起6.6.6.6并打上community100:1标记
[AR1]route-policy comm permit node 10
[AR1-route-policy]if-match ip-prefix 6.6
[AR1-route-policy]apply community 100:1
[AR1]route-policy comm permit node 1000
在这里插入图片描述
[AR1]ip ip-prefix 6.6 permit 6.6.6.6 32
[AR1-bgp]peer 12.1.1.2 route-policy comm export
AR2上查看并没有打上100:1的标记,原因在于COMM默认是不传递的,可选传递属性,必须针对peer x.x.x.x advertise-community
在这里插入图片描述
[AR1-bgp]peer 12.1.1.2 advertise-community
在这里插入图片描述
AR2上有这个标记后,就可以通过community-filter 将这条带有标记的路由匹配
[AR2]ip community-filter 1 permit 100:1

[AR2]route-policy pre-val permit node 10
[AR2-route-policy]if-match community-filter 1
[AR2-route-policy]apply preferred-value 100
[AR2-route-policy]route-policy pre-val permit node 100
[AR2-bgp]peer 12.1.1.1 route-policy pre-val import

在这里插入图片描述
在这里插入图片描述
将拓扑变更成上图

no-advertise属性

[AR1]ip ip-prefix 5.5 permit 5.5.5.5 32
[AR1]route-policy no-adv permit node 10
[AR1-route-policy]if-match ip-prefix 5.5
[AR1-route-policy]apply community no-advertise
[AR1-route-policy]route-policy no-adv permit node 100
[AR1-bgp]peer 12.1.1.2 route-policy no-adv export
[AR1-bgp]peer 12.1.1.2 advertise-community
在这里插入图片描述
no-advertise属性,AR3和AR4上应该没有5.5.5.5的路由
在这里插入图片描述
在这里插入图片描述

ORF

  • AR1向AR2发送大量的路由条目,但是对于AR2来说,可能只需要接收一部分路由条目,这种情况下,可以通过使能ORF来实现

AR2发送ORF报文到AR1,告诉AR1,我只需要10.1.1.1,其余都不需要
[AR2]ip ip-prefix 1.1 permit 10.1.1.1 32
[AR2-bgp]peer 12.1.1.1 ip-prefix 1.1 import
[AR2-bgp]peer 12.1.1.1 capability-advertise orf ip-prefix send
[AR1-bgp]peer 12.1.1.2 capability-advertise orf ip-prefix receive
宣告10.1.1.1 2.1 3.1路由
在这里插入图片描述
路由刷新:
发送route-refesh报文
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1411471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你认识哪几种树结构

二叉树,B,B,B*,R树 二叉树 使用二分结构存储数据,查找数据时,耗时最好可达到O(log2N)。但是二叉树没有平衡的特性,所以在经过一系列的增删后,可能会出现极端的情况,耗时…

利用Python实现中文文本关键词抽取的三种方法

文本关键词抽取,是对文本信息进行高度凝练的一种有效手段,通过3-5个词语准确概括文本的主题,帮助读者快速理解文本信息。目前,用于文本关键词提取的主要方法有四种:基于TF-IDF的关键词抽取、基于TextRank的关键词抽取、…

代理模式-C#实现

该实例基于WPF实现,直接上代码,下面为三层架构的代码。 目录 一 Model 二 View 三 ViewModel 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练…

像搭乐高一样把模型拼在一起

琳琅满目的乐高积木,通过一块又一块的叠加,可以创造出各种栩栩如生的人物、景观等,不同的乐高作品相互组合,又能为爱好者带来新的创意。 我们把思路打开一点,在大模型(LLM)爆发的当下&#xff0…

SpringBlade微服务开发平台

采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeToolBladeTool已推送至…

Nginx部署、Jenkins自动发布、搜索服务概述、ES部署与使用、消息队列概述、RabbitMQ部署及使用

案例1:HIS前端代码测试 Fontend主机部署Nginx #HIS前端代码为编译后代码,可直接部署在nginx上查看效果[rootFontend ~]# yum clean all; yum repolist -vTotal packages: 8,265[rootFontend ~]# yum -y install nginx.x86_64 #安装nginx…

第13章_泛型(集合中使用泛型,比较器中使用泛型,自定义泛型结构,泛型在继承上的体现,通配符的使用)

文章目录 第13章_泛型(Generic)本章专题与脉络1. 泛型概述1.1 生活中的例子1.2 泛型的引入 2. 使用泛型举例2.1 集合中使用泛型2.1.1 举例2.1.2 练习 2.2 比较器中使用泛型2.2.1 举例2.2.2 练习 2.3 相关使用说明 3. 自定义泛型结构3.1 泛型的基础说明3.2 自定义泛型类或泛型接…

[git] windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本,Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…

【GPU】深入理解GPU硬件架构及运行机制

深入理解GPU硬件架构及运行机制 作者:Tim在路上​ 曾看到有一篇名为《The evolution of a GPU: from gaming to computing》的文章。 这篇文章非常热烈的讨论了这些年GPU的进步,这引发了我们的一些思考: 为什么我们总说GPU比CPU要强大,既然…

ISCTF2023 RE FloweyRSA WP

64位无壳,但是进去连main函数都没有 这里应该是main的头部 这里是一个jmp的花指令 jnz short labela 跳转到labela是一段没用的代码 所以把它和labela全部NOP 往下翻,又是必然跳转至label1 把jz short label1到db 0的花指令全部NOP label3这里也是类似的…

【mongoDB】下载与安装教程

目录 1. 下载 2.安装 3.启动 mangoDB是否启动成功 ? 1. 下载 官网地址:https://www.mongodb.com/try/download/community 2.安装 3.启动 在此输入命令操作数据库 mangoDB是否启动成功 ? 在浏览器访问:http://127.0.0.1:27017/ 出现该页面表示m…

jQuery之ajax发送请求(table数据)

一般后端给我们的数据是这样的 比如下面是所有学员信息 访问网址:http://localhost:8080/student/all 前端,我们需要通过点击查询所有学员信息即可显示到下面列表中, 给查询全部学员按钮设置点击事件,点击就发送请求 $("…

Python模块与包:扩展功能、提高效率的利器

文章目录 一、引言1.1 模块与包对于Python开发的重要性1.2 Python作为拥有丰富生态系统的编程语言 二、为什么学习模块与包2.1 复用代码:利用现有模块与包加速开发过程2.2 扩展功能:通过模块与包提供的功能增强应用的能力 三、模块的使用3.1 导入模块&am…

OPENMV驱动云台实现颜色追踪

前言 本篇文章旨在记录我电赛期间学习OPENMV对颜色识别,以及通过串口通信的方式将坐标数据传给单片机,从而驱动舵机云台进行颜色追踪。 一、OPENMV色块识别追踪代码 # Single Color RGB565 Blob Tracking Example # # This example shows off single co…

防御保护---防火墙(安全策略、NAT策略实验)

防御保护---防火墙(安全策略、NAT策略实验) 1.实验需求2.实验说明及思路3.实验配置3.1 配置IP地址以及VLAN3.2 配置防火墙IP地址及划分区域3.3 配置防火墙安全策略3.4 配置防火墙NAT策略 1.实验需求 1.生产区在工作时间内可以访问服务器区,仅…

RabbitMQ 笔记一

概览: MQ基本概念 RabbitMQ入门 基本工作模 1.MQ是什么? MQ:Message Queue, 存储消息的中间件,是消息发送过程中的暂存容器,主要用于解决分布式系统进程间的通信。 分布式系统通信的两种方式:直接远程调用、借助第三…

npm,cnpm install报:Error: certificate has expired at TLSSocket.onConnectSecure

问题描述 最近发现前端项目 CI/CD 时失败,报下面的错误。npm淘宝镜像源证书过期导致的。 [npminstall:get] retry GET https://registry.npm.taobao.org/vue-router after 400ms, retry left 1, error: ResponseError: certificate has expired, GET https://reg…

TS学习笔记十:装饰器及三斜线指令

本节介绍TS中的装饰器和三斜线指令, 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。   三斜线指令是包含单个XML标签的单行注释。 注释的内容会做为编译器指令使用。 讲解视频 20240116-205052装饰器…

CQ 社区版 2.8.0 | 支持TiDB、StarRocks,新增列过滤算法、导出模式设置等

Hello,CloudQuery 社区版 2.8.0 已发布,本文将带大家详细解析本次更新的功能~(完整的讲解视频可点击 👉🏻 CloudQuery 社区版2.8.0 功能讲解演示 本期亮点更新 新增支持数据源 TiDB、StarRocks数据保护新增列过滤脱敏…

【iOS ARKit】人脸检测追踪基础

在计算机人工智能(Artificial Inteligence,AI)物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场、车站、闸机、人流控制、安全支付等众多社会领域&#x…