BGP基础实验(1.10)

news/2024/11/27 23:42:45/

目标:

 1、首先为所有路由器配置接口ip和环回

r1:

[r1]int lo0
[r1-LoopBack0]ip add 1.1.1.1 24
[r1-LoopBack0]int gi 0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24

r2:

[r2]int lo0
[r2-LoopBack0]ip add 2.2.2.2 24
[r2-LoopBack0]int gi 0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.1.1.2 24 
[r2-GigabitEthernet0/0/0]int gi 0/0/1
[r2-GigabitEthernet0/0/1]ip add 23.1.1.1 24

r3:

[r3]int lo0
[r3-LoopBack0]ip add 3.3.3.3 24
[r3-LoopBack0]int gi 0/0/0
[r3-GigabitEthernet0/0/0]ip add 23.1.1.2 24
[r3-GigabitEthernet0/0/0]int gi 0/0/1
[r3-GigabitEthernet0/0/1]ip add 34.1.1.1 24

r4:

[r4]int lo0
[r4-LoopBack0]ip add 4.4.4.4 24
[r4-LoopBack0]int gi 0/0/0
[r4-GigabitEthernet0/0/0]ip add 34.1.1.2 24
[r4-GigabitEthernet0/0/0]int gi0/0/1
[r4-GigabitEthernet0/0/1]ip add 45.1.1.1 24

[r4]int gi 0/0/2
[r4-GigabitEthernet0/0/2]ip add 54.1.1.1 24
r5:

[r5]int lo0
[r5-LoopBack0]ip add 5.5.5.5 24
[r5-LoopBack0]int gi0/0/0
[r5-GigabitEthernet0/0/0]ip add 45.1.1.2 24

[r5]int gi 0/0/2
[r5-GigabitEthernet0/0/2]ip add 54.1.1.2 24

[r5-LoopBack1]ip add 6.6.6.6 24

2、下面在r2、r3、r4之间使用OSPF创造一个IGP环境

r2:

[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255

[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

r3:

[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

r4:

[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0

这时r2和r1,r3之间已经使用OSPF共享路由了

 3、现在在AS1 与AS2之间使用BGP进行连接,AS2与AS3之间使用BGp进行连接建立两个EBGP,并且在AS2中在两个边界路由器之间使用BGP建立一个IBGP
r1-r2

r1:

[r1]bgp 1  AS号
[r1-bgp]router-id 1.1.1.1  
[r1-bgp]peer 12.1.1.2 as-number 2    声明邻居的ip 和AS号

r2:

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1

因为BGP使用TCP进行传输的所以在r1上查看TCP的信息

 r2-r4

这里注意:在建立IBGP时建议使用建立路由器的环回进行bgp的建立

r2:

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 4.4.4.4 as-number 2     声明邻居的ip 和AS号
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0  这里是在声明在给4.4.4.4 发包时将源ip是本地的环回 0

r4:

[r4]bgp 2
[r4-bgp]router-id 4.4.4.4 
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0  这里是在声明在给2.2.2.2 发包时将源ip是本地的环回 0

这时r2与r4的IBGP就建立成功了

r4-r5

这时有一个问题在r4、r5之间使用环回建立bgp时互相不知道对方的环回,这里的解决方法使用静态路由让他们连接:

r4:

[r4]ip route-static 5.5.5.5 24 45.1.1.2
[r4]ip route-static 5.5.5.5 24 54.1.1.2

r5:

[r5]ip route-static 4.4.4.0 24 45.1.1.1
[r5]ip route-static 4.4.4.0 24 54.1.1.1

这样r4的环回就和r5的环回连接了 

下面建立bgp:

[r4]bgp 2
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0

[r5]bgp 3
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 2
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0

这时又有问题了因为r4-r5的ttl值大于1无法建立邻居,这里修改r4-r5之间的ttl值

[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2

[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2

 这时三条BGP都已经建立成功了

4、进行路由宣告实现全网的环回除了r5的环回都可以互相可达

r1:

[r1]bgp 1
[r1-bgp]network 1.1.1.0 24

查看BGP表

 这里r4也会从r2哪里学习到r1的环回但是并不 优  因为BGP的AS-by-AS机制规定在一个AS中属性不会变化所以r4不认识去1.1.1.1的下一跳12.1.1.1所以无法到达r1

解决:这里在r2上修改给r4分享去r1的路由信息时把去r1路由的下一跳信息改为本地(即r2)

[r2-bgp]peer 4.4.4.4 next-hop-local   给邻居4.4.4.4路由时将下一跳修改为本地

r4会给r5去r1的路由信息它的路由会直接优因为AS-by-AS只在IBGP之间有效r4-r5时EBGP 

下面将r5的环回6.6.6.6 24 传入左边的各个路由器:

这时r2上有了和刚在r4一样的情况

解决:

[r4-bgp]peer 2.2.2.2 next-hop-local

路由黑洞产生的原因:BGP条目在BGP中单播进行正常传播,可以跳过没有运行BGp协议的路由器;显示可达,但是数据层面无法跳过没有运行BGP洗衣的路由器无法传播

 这个时候需要解决一个问题因为BGP的路由黑洞因为r3上没有进行BGP配置,控制层面:当r2把路由共享给r3和r4  但是r3无法看BGP的信息只有转发给r4,r4再给r5,  所以当r2的环回需要ping 数据层面:r5的环回时到r3时  无法传输到r4所以无法到达

解决方案:在r3上运行BGP

r3:

[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0

r2:

[r2]bgp  2
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0

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

 这时r2应该将自己的6.6.6.6分享给r3但是并没有分享,这是因为BGP上的防环机制--IBGP水平分割:从IBGP学习到的路由不能传到下一个IBGP中去,所以r5传给r4属于EBGP->IBGP  r4传给r2属于IBGP->IBGP可以传递但是r2->r3也是IBGP->IBGP禁止传递;

解决方案:在r3-r4之间建立BGP让r4直接将r5的环回给r3

r3:

[r3]bgp 2
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0

r4:

[r4]bgp 2
[r4-bgp]peer 3.3.3.3 as-number 2
[r4-bgp]peer 3.3.3.3 connect-interface lo0

[r4-bgp]peer 3.3.3.3 next-hop-local

 现在r3可以正常学习到了r5的环回并且选路优

5、现在将r2、r3、r4的环回通过BGP宣告给r1和r5

[r2-bgp]network 2.2.2.0 24

[r3-bgp]network 3.3.3.0 24

[r4-bgp]network 4.4.4.0 24

查看r1、r5的BGP表

 

 测试:

 

 


http://www.ppmy.cn/news/10935.html

相关文章

Java中常用API总结(5)—— Object类中的深克隆和浅克隆

对象克隆一、前言二、浅克隆1.概述2.实例1️⃣思路2️⃣继承cloneable接口底层原理3️⃣重写clone方法底层原理3.代码实现三、深克隆1.概述2.实例3.代码实现四、结语一、前言 本文将详细讲述Object类中的对象克隆方法,其中包含深克隆和浅克隆,两者有一定…

产线工控安全之现状分析及方案应对

产线安全现状 工业控制系统是支撑国民经济的重要设施,是工业领域的神经中枢。现在工业控制系统已经广泛应用于电力、通信、化工、交通、航天等工业领域,支撑起国计民生的关键基础设施。 随着传统的工业转型,数字化、网络化和智能化的工业控…

Apache与Nginx虚拟机的三种访问+非简单请求+跨域知识点整理

Apache 在D:\project\web\index.html中写入 <h1>welcome useing apache!</h1>基于ip访问 打开phpstudy_pro\Extensions\Apache2.4.39\conf\extra\httpd-vhosts.conf写入 <VirtualHost 192.168.1.4:80>ServerAdmin 88888888163.com #管理员邮箱DocumentRoo…

【Linux】进程信号万字详解(上)

&#x1f387;Linux&#xff1a; 博客主页&#xff1a;一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 看似不起波澜的日复一日&#xff0c;一定会在某一天让你看见坚持…

若依分离版解决单个账号多设备登录问题

若依分离版解决单个账号多设备登录问题 1.application.yml添加相关配置&#xff0c;用于灵活控制单个账号多设备登录的情况 #token配置 token: # 这个是若依框架本身存在的配置 # 是否允许并多设备登录 true:允许 false:不允许 这个是新增的配置singleLogin: false2.Cach…

测试开发 | 跨平台设备管理方案 Selenium Grid

Selenium Grid 是 Selenium 的三大组件之一&#xff0c;它可以在多台机器上并行运行测试&#xff0c;集中管理不同的浏览器版本和浏览器配置。通过将客户端命令发送到远程浏览器的实例, Selenium Grid 允许在远程计算机 (虚拟或真实) 上执行 WebDriver 脚本. 它旨在提供一种在多…

【Python】python深拷贝和浅拷贝(二)

【Python】python深拷贝和浅拷贝&#xff08;二&#xff09; 前言 上一期我们介绍了Python中深拷贝和浅拷贝的定义以及它们在执行过程中内存结构&#xff0c;同时也给出了深拷贝和浅拷贝的方法。&#xff08;没有看上一期的朋友看这里&#xff0c;python深拷贝和浅拷贝&#…

基于javascript专题一总结(2023年版)

目录 函数柯里化 定义 #实现 #应用场景 #参数复用 Nodejs的EventEmitter #Api #基本使用 #手动实现EventEmitter #JavaScript自定义事件 防抖 浅拷贝和深拷贝 数组去重&#xff0c;扁平&#xff0c;最值 去重 #Object #indexOf filter #Set #排序 #去除重复…