HCIP学习--BGP3

目录

前置内容

BGP下一跳的修改问题

BGP的属性

配置

PrefVal权重属性

负载分担

LocPrf

负载分担

NextHop

AS-PATH

Ogn

配置

 MED

配置

BGP选路规则 

BGP的社团属性 

配置及解释


前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

HCIP学习--BGP2_板栗妖怪的博客-CSDN博客

BGP下一跳的修改问题

来讲一下,BGP中对于下一跳的修改问题,基于昨天的实验来讲一下,修改下一跳有多种修改方法

[r2-bgp]peer  172.16.1.3 next-hop-local

除去上面这种,还可以下面来一种路由策略

[r2]route-policy aa permit node 10匹配所有流量

[r2-route-policy]apply ip-adress next-hop peer-address修改包中下一跳地址为本地地址

[r2-bgp]peer 132.1.1.3 route-policy aa export在r2讲路由发给邻居132.1.1.3时的出接口执行这个策略

但是如果按上面第二种配置完成后就可能会出现问题,你用1的环回去ping8的环回ping不同,出现了环路,出现环路的原因是,首先1环回去往8环回,然后1去往2然后2去往8的下一跳是7的接口,然后递归查表,去往7的下一跳是3或者5,然后你看3的路由表,你会发现去往8的下一跳是2然后就成环了,那么三上去往8的为啥是2,是你自己改的。就是你改了2去往3和5下一跳,然后5把去往8的路由传给2,然后2再传给3,3上的下一跳经过路由策略的修改,就会变成2,然后就会出现问题。

所以第二个修改下一跳的路由策略是针对所有路由,

第一种修改实际仅针对R2从本地的EBGP邻居学习到的路由给3才会修改

总结:IBGP邻居间传递路由在一个AS内部,若贸然修改属性,极易出现环回,这就是BGP的AS-BY-AS特性

BGP的属性

属性

传播范围  

默认值       

大优小优

权重属性(PrefVal)

不传播(私有 不同设备之间的私有属性,只在本地有效可以在本地修改决定本地的下一个设备的路由选那条)(只可以在接受的路由的入接口配置,因为不传播)

0

(0-65535)

  越大越好

只有本地作用,不管前面是啥设备,只要我在我这修改这一个属性,就可以直接干涉路由,对于自己身上的选路很方便

本地优先级(LocPrf)

仅在IBGP邻居关系间传输

100

(0-255)

大优

干涉IBGP邻居关系选路,使用最多的策略,属性如果是从EBGP邻居接受过来的话是,这个属性不显示,然后在IBGP上显示就是100

下一跳(NextHop)

下一跳可达

优选0.0.0.0

AS-path

整个BGP

记录条目经过的所有AS编号(当你在AS3中前面经过AS2和AS1那么路由中显示1,2。AS号只能添加,不能减少

起源属性(Ogn)

来源种类

Network人一条一条宣告产生
Ilmport将某种协议批量的导入BGP协议
EGP重发布到BGP

MED

度量:BGP协议默认没有度量值

社团属性

默认大多数厂商的产品在BGP协议中不携带社团属性

配置

PrefVal权重属性

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1   

本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1

负载分担

访问不同目标时,让路由器选择不同的路径,起到所有路径被使用效果

(和负载均衡的区别:负载均衡是去往一个目标可以走两条相同的路)

[r3]ip ip-prefix p permit 1.1.1.0 24   抓住网络号

[r3]route-policy p permit node 10    定制策略

[r3-route-policy]if-match ip-prefix p    匹配流量

[r3-route-policy] apply preferred-value 1   修改优先级属性

[r3-route-policy]q

[r3]route-policy p permit node 20    由于路由策略存在分发列表的功能,必须考虑空表

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer 4.4.4.4 route-policy p import   和邻居传递路由的控制层面方向调用;

优先级不传播的特性只能在本地的入方向调用

举个例子来理解入方向R1要传路由给R2然后,在R2的g0/0/0接口就是R2的入接口

LocPrf

 [r4-bgp]default local-preference 1   本地传递路由给本地所有IBGP邻居时,修改属性为1

负载分担

以上图做例子 

[r3]ip ip-prefix l permit 1.1.1.0 24抓取相应流量

[r3]route-policy l permit node 10      

[r3-route-policy]apply local-preference 101 修改本地优先级

[r3-route-policy]if-match ip-prefix l匹配

[r3-route-policy]q

[r3]route-policy l permit node 20空表放过其他路由

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy l import    可以在IBGP邻居关系间的出或入方向调用,是在3的靠近3的接口

NextHop

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0。而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0。本地优选0.0.0.0的路由传递给本地的其他BGP邻居

下图是本地宣告的路由

AS-PATH

优选经过的AS号数量最少的路径

同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收

可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路,(人为操作只能添加,不能减少)可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置

如何干涉到IBGP中的选路,以下图作为例子

看图现在又两条路可以将1的环回的路由传给3,现在修改上面那条路由,在2设备的入接口配置,修改上面那条路经过多个AS,那么在AS1内部,选路也会优先选下面那条路

[r2]ip ip-prefix as index 10 permit 1.1.1.0 24

[r2]route-policy as permit node 10

[r2-route-policy]if-match ip-prefix as

[r2-route-policy] apply as-path 3 4 5 additive修改AS属性经过345,标红的意思是马上执行

[r2-route-policy]route-policy as permit node 20空表

[r2-bgp]peer 12.1.1.1 route-policy as import在R2的入接口调用

配置后结果

出向调用为  x 3 4 5   X代表实际经过过的AS

入向调用为  3 4 5 X   X代表实际经过过的AS

注:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习

解决方案

重复添加实际已经经过的AS编号来增加数量,BGP选路看的是AS-PATH的数量

[r2-route-policy]apply  as-path  1 1 1 additive

Ogn

来源种类

Network人一条一条宣告产生 标记为 i

Ilmport将某种协议批量的导入BGP协议 标记为

EGP重发布到BGP 标记为e

来个例子

三者优先级i优于e优于?

配置

就以上面那个表格为例子

向让上面去往1.1.2.0/24的网段的路走下一跳为4.4.4.4的那条

[r2]ip ip-prefix o permit 1.1.2.0 24

[r2]route-policy o permit node 10

[r2-route-policy]if-match  ip-prefix o

[r2-route-policy]apply origin egp 2    编写对端设备的AS号

[r2-route-policy]q

[r2]route-policy o permit node 20

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer  3.3.3.3 route-policy o export 将2的那条路改成e类型

控制层面流量的入或出接口调用均可

下图是配置成功的结果

 MED

将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中
故利用MED干涉选路,其实就是人为的修改度量值来影响路由器加表
可用于干涉EBGP/IBGP选路
最常用于EBGP选路干涉
常常用于AS1干涉AS2对AS1的选路

配置

以上图作为例子来理解一下AS1干涉AS2对AS1的选路

假设AS1是电信的设备。AS2是联通的设备,真正工程中你只能是一方的人,不能既是电信又是联通的人,假设你现在是电信的人,你要在电信这边来配置,干涉联通对电信的选路

<r1>tracert -a 1.1.1.1 3.3.3.3可以显示你经过的下一跳

去往3.3.3.3是经过了12.1.1.1 还经过了23.1.1.2

<r1>ping -r -a 1.1.1.1 3.3.3.3 可知回包如何回

看后面两行,12.1.1.1    1.1.1.1经过了这两个回来的

修改度量配置

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

[r1-route-policy]if-match ip-prefix med

[r1-route-policy]apply cost 2

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer  12.1.1.2 route-policy med export

BGP选路规则 

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递  权限最高属性    可以干涉EBGP/IBGP选路

优选本地优先级(Local_Preference)最高的路由。
IBGP邻居关系间传递    只能,最常干涉IBGP关系的选路

选手动聚合>自动聚合>network>import>从对等体学到的。

优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

起源类型IGP>EGP>Incomplete。
起源属性 i优于e优于?; 可在控制层面任意接口修改;

对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost

最常用于干涉EBGP选路的属性

  1. 优选从EBGP学来的路由(EBGP>IBGP)。
  2. 优选AS内部IGP的Metric最小的路由。
  3. 优选Cluster_List最短的路由。
  4. 优选Orginator_ID最小的路由。
  5. 优选Router_ID最小的路由器发布的路由。
  6. 优选具有较小IP地址的邻居学来的路由。

BGP的社团属性 

配置及解释

[r1]route-policy com permit node 10

[r1-route-policy]apply community no-advertise  针对所有的流量修改属性

no-advertise  接收到的条目中若存在该社团属性,将不再传递该路由

no-export   接收到的条目若存在该社团属性,将不传递给下一个AS

no-export-subconfed  接收到的条目若存在该社团属性,将不传递给下一个小AS

(注:若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致)

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

注:默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性  下面有如何定义的配置

[r1-bgp]peer 12.1.1.2 advertise-community   逐跳行为,每台设备均需开启传递性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LVS-NAT配置】

配置 node1&#xff1a;128&#xff08;客户端&#xff09; node2&#xff1a;135&#xff08;调度器&#xff09; RS&#xff1a; node3&#xff1a;130 node4&#xff1a;132 node2添加网络适配器&#xff08;仅主机模式&#xff09; [rootnode2 ~]# nmtui[rootnode2 ~]#…

利用 Splashtop Enterprise 改善公司的网络安全

在我们日益数字化的世界中&#xff0c;对强有力的网络安全措施的需求从未像现在这样迫切。随着组织扩大其数字足迹并采用远程办公解决方案&#xff0c;他们面临着一系列不断变化的挑战。 威胁行为者不断寻找利用漏洞的新方法&#xff0c;这使得企业保持领先地位至关重要。俗话…

Spring Boot实现第一次启动时自动初始化数据库流程详解

随着互联网的发展项目中的业务功能越来越复杂&#xff0c;有一些基础服务我们不可避免的会去调用一些第三方的接口或者公司内其他项目中提供的服务&#xff0c;但是远程服务的健壮性和网络稳定性都是不可控因素。 在测试阶段可能没有什么异常情况&#xff0c;但上线后可能会出…

HCIP BGP小综合

BGP小综合 AS配置AS1AS2 中的小自治系统64512AS2 中的小自治系统64513AS3 测试 首先该实验分成三个AS&#xff0c;AS2里面有联邦&#xff0c;所以配置顺序 要先将IBGP通&#xff0c;然后配置AS1,AS3和联邦 AS配置 AS1 R1 # bgp 1router-id 1.1.1.1peer 12.1.1.2 as-number …

计算机设计大赛国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…

MySQL8安装和删除教程 保姆级(Windows)

下载 官网: mysql官网点击Downloads->MySQL Community(GPL) Downloads->MySQL Community Server(或者点击MySQL installer for Windows) Windows下有两种安装方式 在线安装 一般带有 web字样 这个需要联网离线安装 一般没有web字样 安装 下载好之后,版本号可以不一样&…

超好用的接口自动化框架,lemon-easytest内测版发布,赶紧用起来~

easytest easytest 是一个接口自动化框架。 功能特点&#xff1a; 支持 http 接口测试 支持 json&#xff0c;html,xml 格式的响应断言 支持数据库断言 支持用例标记筛选 支持用例失败重运行 支持多线程 安装 pip install lemon_easytest 快速使用 不需要写任何代码…

k8s常用资源管理 控制

目录 Pod&#xff08;容器组&#xff09;&#xff1a;Pod是Kubernetes中最小的部署单元&#xff0c;可以包含一个或多个容器。Pod提供了一种逻辑上的封装&#xff0c;使得容器可以一起共享网络和存储资源 1、创建一个pod 2、pod管理 pod操作 目录 创建Pod会很慢 Pod&…

腾讯云轻量应用服务器搭建WordPress网站教程

腾讯云百科分享使用腾讯云轻量应用服务器搭建WordPress网站教程流程&#xff0c;WordPress 是全球最流行的开源的博客和内容管理网站的建站平台&#xff0c;具备使用简单、功能强大、灵活可扩展的特点&#xff0c;提供丰富的主题插件。腾讯云轻量应用服务器提供 WordPress 应用…

打破传统直播,最新数字化升级3DVR全景直播

导语&#xff1a; 近年来&#xff0c;随着科技的不断创新和发展&#xff0c;传媒领域也正经历着一场前所未有的变革。在这个数字化时代&#xff0c;直播已经不再仅仅是在屏幕上看到一些人的视频&#xff0c;而是将观众带入一个真实世界的全新体验。其中&#xff0c;3DVR全景直…

ARMday2

.text .global _start _start:mov r0,#0x1mov r1,#0x0sum:cmp r0,#0x64bhi stopaddls r1,r1,r0addls r0,r0,#0x1bls sumstop:b stop .end

Opencv将数据保存到xml、yaml / 从xml、yaml读取数据

Opencv将数据保存到xml、yaml / 从xml、yaml读取数据 Opencv提供了读写xml、yaml的类实现&#xff1a; 本文重点参考&#xff1a;https://blog.csdn.net/cd_yourheart/article/details/122705776?spm1001.2014.3001.5506&#xff0c;并将给出文件读写的具体使用实例。 1. 官…

STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路

文章目录&#xff1a; 第一部分&#xff1a;项目开始前的计划与准备 1.项目策划和开发规范 1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分&#xff1a;调通硬件电路与驱动程序 第三部分&#xff1a;编写最基础的应用程序 第四部分&…

我们常说这个pycharm里有陷阱,第三方库导入失败,看这里!

最近有小伙伴遇到了明明安装了 python 第三方库&#xff0c;但是在 pycharm 当中却导入不成功的问题。 ​ 一直以来&#xff0c;也有不少初学 python 的小伙伴&#xff0c;一不小心就跳进了虚拟环境和系统环境的【陷阱】中。 本文就基于此问题&#xff0c;来说说在 pycharm 当…

前端:Vue.js学习

前端:Vue.js学习 1. 第一个Vue程序2. Vue指令2.1 v-if、v-else-if、v-else2.2 v-for2.3 事件绑定 v-on:2.4 v-model 数据双向绑定2.5 v-bind 绑定属性 3. Vue组件4. Vue axios异步通信5. 计算属性6. 插槽 slots7. 自定义事件内容分发 1. 第一个Vue程序 首先把vue.js拷贝到本地…

【Linux进程篇】环境变量

【Linux进程篇】环境变量 目录 【Linux进程篇】环境变量基本概念常见环境变量查看环境变量方法测试PATH测试HOME测试SHELL和环境变量相关的命令环境变量的组织方式通过代码如何获取环境变量命令行参数命令行第三个参数通过第三方变量environ获取 本地变量通过系统调用获取或设置…

打造专属企业展示小程序

在当今的数字化时代&#xff0c;企业展示小程序已经成为了推广企业形象和吸引客户的重要工具。而如何打造一个专属的企业展示小程序呢&#xff1f;下面将带您一步步操作&#xff0c;通过乔拓云网来实现这一目标。 首先&#xff0c;您需要注册登录乔拓云网并进入操作后台。在乔拓…

(一)创建型设计模式:3、建造者模式(Builder Pattern)

目录 1、建造者模式含义 2、建造者模式的讲解 3、使用C实现建造者模式的实例 4、建造者模式的优缺点 5、建造者模式VS工厂模式 1、建造者模式含义 The intent of the Builder design pattern is to separate the construction of a complex object from its representatio…

vue自定义指令动态绑定

在企业微信侧边栏应用中&#xff0c;给dialog添加了拖拽功能&#xff0c;但是因为dialog高度超过了页面高度&#xff0c;所以高度100%时拖拽有个bug--自动贴到窗口顶部而且企业侧边栏宽高都有限制&#xff0c;拖拽效果并不理想&#xff0c;所以就想缩小dialog再进行拖拽。 拖拽…

【生成式AI】ProlificDreamer论文阅读

ProlificDreamer 论文阅读 Project指路&#xff1a;https://ml.cs.tsinghua.edu.cn/prolificdreamer/ 论文简介&#xff1a;截止2023/8/10&#xff0c;text-to-3D的baseline SOTA&#xff0c;提出了VSD优化方法 前置芝士:text-to-3D任务简介 text-to-3D Problem text-to-3D…