BGP的基本配置

l 按照以下步骤配置BGP协议:

Ø 1步:设备基本参数配置,AS内配置IGP确保内部网络连通性;

l 配置IGP(OSPF协议等)路由解决peer对等体的源和目标IP之间连通性,确保peer之间TCP(179)连通性

Ø 2步:启动BGP进程

l 在BGP路由器上启动BGP进程,一台路由器上只能配置一个BGP实例

l 仅执行命令router bgp不能在路由器上激活BGP,必须至少执行一个子命令才能在路由器上激活BGP进程

Router(config)#router bgp as-number

l 手工设置BGP Router ID

Router(config-router)# bgp router-id ip-address

Ø 3步:建立BGP对等体

l 指定BGP邻居及激活BGP会话

l BGP邻居都需手工指定,不能像IGP那样通过协议自动发现

l 建立邻居时的指定的Peer IP地址必须路由可达,本端默认使用报文出接口IP地址作为更新源

l 本地的更新源IP地址必须与Peer IP地址相同,不相同,则BGP邻居无法正常建立

l 对端AS号决定了与邻居建立的是EBGP会话还是IBGP会话

Router(config-router)# neighbor {peer-address | peer-group-name} remote-as as-number

Ø 4步:通告BGP路由

l 通过宣告netword的方式引入路由

Ø 如果指定mask,则仅当IP路由表中有与完全匹配的条目时才会引入成功

Ø 如果不指定mask,只通告主类网络号,则仅当BGP路由表中至少有一个子网,才会将该主类网络作为一条

路由引入,但不会引入该主类网络之下的其他子网

Router(config-router)#network network-number [mask mask] [route-map map-tag] [backdoor]

l 通过重分布的方式引入路由

Router(config-router)#redistribute protocol-type [route-map map-tag] [metric metric-value]

Ø 5步: (可选)其他配置,路由策略、路由反射器等

     Ø BGP的验证功能

     l    在同指定BGP对等体建立BGP连接时,可以启用TCP MD5认证,并设置密码

Ø 启用身份验证后,将对通过对等体之间的TCP连接传输的所有数据等进行验证

Ø 认证都是在TCP建立连接的时候完成的

Router(config-router)#neighbor {peer-address | peer-group-name} password [ | 0 | 7] string

BGP基本配置案例

496964da5a0b46e4a3bfc93b94b0000d.png

R1BGP配置

router bgp 123

bgp router-id 1.1.1.1

neighbor 10.1.23.2 remote-as 123

network 1.1.1.1 mask 255.255.255.255

R3BGP配置

router bgp 123bgp router-id 3.3.3.3

neighbor 10.1.12.1 remote-as 123

neighbor 10.1.34.2 remote-as 400

network 3.3.3.3 mask 255.255.255.255

R4BGP配置

router bgp 400bgp router-id 4.4.4.4

neighbor 10.1.34.1 remote-as 123

network 4.4.4.4 mask 255.255.255.255

l 查看BGP的邻居

R1# show ip bgp summary

4f6b3cd266024bc9aabd0399a6ddc147.png

查看BGP的状态

查看BGP路由表R1上查看BGP的路由表

router# show ip bgp

Ø 1.1.1.1/32的路由是本地生成的,因此就是最优的

Ø 3.3.3.3/32是R3的路由,作为IBGP传递来的,满足条件因此最优

Ø 4.4.4.4/32是R3从EBGP邻居学习来的,但无“>”标记,不是最优的,因为其下一跳不可达

1a4cab1e137042828069fb006a2915d2.png

BGP的next-hop不可达问题

l BGP是AS-by-AS的路由协议,而不是router-by-router的路由协议

l 在BGP中,next-hop并不意味着是下一台路由器,而是到达下一个AS的IP地址

l EBGP中,默认next-hop为发送更新的邻居路由器的IP地址

l IBGP中,从EBGP传来的next-hop属性在IBGP中保持不变的被传递

因此,R1不知道如何去往10.1.34.4, 这个地址未被通告到AS123 的IGP里,因此路由不可达,所以不是最优

l 有两种办法解决next-hop不可达的问题

Ø 第1种办法就是把10.1.34.0这个网络宣告到AS123的IGP路由中

R3(config)#router ospf 1

R3(config-router)#network 10.1.34.3 0.0.0.0 area 0

Ø 这样4.4.4.0/24这条路由就会在R1的BGP路由表成为最优路由

Ø 但这种方法并不建议,因为会使得AS之间的链路暴露在AS内部,有一定安全风险

Ø 第2种办法就是在R3上配置next-hop-self,使得向R1发送的路由的下一跳的属性都改为R3自己

Ø 这样R1上4.4.4.0/24这条路由的next-hop就是R3的10.1.23.3,下一跳可达,成为最优路由

Router(config-router)#neighbor {邻居地址|邻居名称} next-hop-sel

f

l 查看具体BGP路由信息,可以看到这条BGP路由的所有BGP属性

8625e1a9809348d882bf9251777fde80.png

BGP的更新源

l BGP路由器可以指定环回接口loopback地址作为BGP连接的源地址,因为只需TCP可达即可建立邻居关系

l 因为loopback接口只要路由器正常运行就始终可用,当BGP邻居之间有多条路径时,可以使得BGP邻居更加稳定

Ø IBGP邻居建议使用环回接口建立邻居, EBGP邻居通常使用直连接口的IP地址作为源地址

Router(config-router)# neighbor {邻居地址|邻居名称} update-source {接口类型}

Ø EBGP邻居使用环回接口建立EBGP则应注意EBGP邻居多跳问题

BGP指定更新源-EBGP

l 如果使用环回接口建立EBGP邻居,需要注意多跳问题

l 如果不进行额外配置,EBGP路由器只能使用直接接口地址作为更新源(到达更新源最多只能1跳),使用环回接口建立EBGP邻居,需要修订跳数

Router(config-router)#neighbor {邻居地址|邻居名称} ebgp-multihop [跳数]

BGP的维护

l 在维护BGP协议的时候,有时候我们需要通过重置BGP会话,来达到刷新路由策略、触发路由更新的目的,有3种触发更新的方式:

Ø 硬重置

Ø 断开相应的TCP连接,通过这些会话收到的所有信息都将失效,并从BGP表中删除

Router#clear ip bgp *

Router#clear ip bgp {as number | peer-address | peer-group-name}

Ø 软重置

l 软重置(soft reconfiguration)

Ø 不拆除并重建TCP或BGP连接,而是仅触发更新操作以便让新的路由策略生效

Ø 软重置可以应用于出站或入站策略,也可同时用于出入站策略

p 入站软重置,本地发送route-refresh给所有BGP邻居,让邻居把最新的路由发送给自己

Router#clear ip bgp {as number | peer-address | peer-group-name} [soft in]

p 出站软重置,本地发送update消息给邻居,让邻居获取到自己的最新路由

Router#clear ip bgp {as number | peer-address | peer-group-name} [soft out]

Ø 路由刷新

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

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

相关文章

SpringBoot学习之Redis下载安装启动【Mac版本】(三十七)

一、下载Redis 1、下载地址:Downloads - Redis 往下滑,找到Downloads区域,这里有若干版本,这里我们选择了7.0的稳定版本 2、我们下载的是redis-7.0.15.tar.gz,这是一个压缩包,我们双击解压这个压缩包,可以得到如下文件 二、安装Redis 1、我们进入redis根目录安装mak…

IDEA使用技巧(常用设置、快捷键等)

IDEA使用技巧 一、IDEA常用基本设置设置代码背景颜色/主题/字体Ctrl鼠标滚轮缩放字体大小设置字符编码左右两侧的Project,Structure,Maven等按钮消失新增类似sout,psvm的模版切换某个模块编译的JDK版本 二、常用快捷键CtrlAltT包裹代码Alt回车联想补全Ct…

Qt : 禁用控件默认的鼠标滚轮事件

最近在写一个模拟器,在item中添加了很多的控件,这些控件默认是支持鼠标滚动事件的。在数据量特别大的时候,及容易不小心就把数据给修改了而不自知。所有,我们这里需要禁用掉这些控件的鼠标滚轮事件。 实现的思想很简单&#xff0c…

数据结构篇其二---单链表(C语言+超万字解析)

目录 前言: 一、顺序表的缺点和链表的引入。 二、链表概述 实现一个简单的链表 空链表的概念 三、链表的功能实现 链表的打印 链表节点的创建 链表的头插(自上而下看完分析,相信你会有所收获) 头插的前置分析 传值调用和…

一、路由基础

1.路由协议的优先级 路由器分别定义了外部优先级和内部优先级(越小越优) 路由选择顺序:外部优先级>>内部优先级(相同时) ①外部优先级:用户可以手工为各路由协议配置的优先级 ②内部优先级&#xf…

汽车信息安全--如何理解TrustZone(2)

目录 1.概述 2 如何切换安全状态 3 TrustZone里实现了什么功能? 4. 与HSM的比较 1.概述 汽车信息安全--如何理解TrustZone(1)-CSDN博客讲解了什么是Trustzone,下面我们继续讲解与HSM的区别。 2 如何切换安全状态 在引入安全扩展后,Arm…

太速科技-多路PCIe的阵列计算全国产化服务器

多路PCIe的阵列计算全国产化服务器 多路PCIe的阵列计算全国产化服务器以国产化处理器(海光、飞腾ARM、算能RSIC V)为主板,扩展6-8路PCIe3.0X4计算卡; 计算卡为全国产化的AI处理卡(瑞星微ARM,算能AI&#x…

MMSeg搭建模型的坑

Input type(torch.suda.FloatTensor) and weight type (torch.FloatTensor) should be same 自己搭建模型的时候,经常会遇到二者不匹配,以这种情况为例,是因为部分模型没有加载到CUDA上面造成的。 注意搭建模型的时候,所有层都应…

Oracle之RMAN联机和脱机备份(二)

rman脱机备份,首先使用rman登入数据库服务器,然后关闭数据库后,启动数据库到mount状态,在执行backup database指定备份整个数据库。 1、启动mount归档模式 sys@ORCL>archive log list; Database log mode Archive Mode Automatic archival Enabl…

STM32H750外设ADC之开始和结束数据转换功能

目录 概述 1 开始转换 1.1 使能ADSTART 1.2 使能JADSTART 1.3 ADSTART 通过硬件清零 2 转换时序 3 停止正在进行的转换( ADSTP、 JADSTP) 3.1 停止转换功能实现 3.2 停止转换流程图 概述 本文主要讲述了STM32H750外设ADC之开始和结束数据转换…

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏 第一步 确认有添加静态库第二步 验证第三步 修改源码在合适的地方配置 ro.product.is_support_SettingsSplitEnabled 即可。第一步 确认有添加静态库 --- a/packages/apps/Settings/Android.bp +++ b/packages/apps/Set…

[集群聊天项目] muduo网络库

目录 网络服务器编程常用模型什么是muduo网络库什么是epoll muduo网络库服务器编程 网络服务器编程常用模型 【方案1】 : accept read/write 不是并发服务器 【方案2】 : accept fork - process-pre-connection 适合并发连接数不大,计算任…

Centos的一些基础命令

CentOS是一个基于开源代码构建的免费Linux发行版,它由Red Hat Enterprise Linux (RHEL) 的源代码重新编译而成。由于 CentOS是基于RHEL构建的,因此它与RHEL具有非常类似的特性和功能,包括稳定性、安全性和可靠性。并且大部分的 Linux 命令在C…

Apache Doris 2.x 版本【保姆级】安装+使用教程

Doris简介 Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于…

COOIS 生产订单显示系统增强

需求说明:订单系统显示页面新增批量打印功能 增强点:CL_COIS_DISP_LIST_NAVIGATION -->TOOLBAR方法中新增隐式增强添加自定义打印按钮 增强点:BADI-->WORKORDER_INFOSYSTEM新增增强实施 实现位置:IF_EX_WORKORDER_INFOSYS…

频裂变加群推广强制分享引流源码

视频裂变加群推广强制分享引流源码,用户达到观看次数后需要分享给好友或者群,好友必须点击推广链接后才会增加观看次数。 引导用户转发QV分享,达到快速裂变引流的效果! 视频裂变推广程序,强制分享链接,引导用户转发,…

数据库MySQL的初级基础操作

文章目录 1. 介绍2. 数据库相关概念3. 启动4. 数据模型5. SQL6. DDL数据库DDL-表操作DDL-表操作-数据类型DDL-表操作-修改DDL-表操作-删除 7. 图形化界面工具DataGrip8. DML(数据操作语言)DML-添加数据DML-修改数据 9. DQL(数据查询语言)基本查询条件查询…

MemFire案例-政务应急物联网实时监测预警项目

客户背景 党的十八大以来,中央多次就应急管理工作做出重要指示:要求坚持以防为主、防抗救相结合,全面提升综合防灾能力;坚持生命至上、安全第一,完善安全生产责任制,坚决遏制重特大安全事故。 面对新形势…

小白学习SpringCloud之Eureka

前言 需要搭建springcloud项目,eureka是其中的一个模块,依赖主要继承父依赖 学习视频:b站狂神说 便于理解,我修改了本地域名》这里!!! 127.0.0.1 eureka7001.com 127.0.0.1 eureka7002.com 127.0.0.1 eureka7003.comEureka入门案例 eureka…

Maven的仓库、周期和插件

一、简介 随着各公司的Java项目入库方式由老的Ant改为Maven后,相信大家对Maven已经有了个基本的熟悉。但是在实际的使用、入库过程中,笔者发现挺多人对Maven的一些基本知识还缺乏了解,因此在此处跟大家简单地聊下Maven的相关内容&#xff0c…