BGP实验(一)

news2024/11/24 11:00:20

实验要求:

1、As1存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告,
As3存在两个环回,.一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,
As1还有一个环回地址为10.1.1.0/24,
As3另一套环回地址是11.1.1.0/24,
最终要求这两个环回可以互相通讯。
2、整个As2的IP地址为172.16.0.0/16。
3、As间的骨干链路IP地址随意分配。
4、使用BGP协议让整个网络所有设备的环回可以互相访问。
5、减少路由条自数量,避免环路出现。


实验分析:

首先图中有3个AS,其中AS2还是联邦AS,但是联邦成员AS中有3台路由器,这里就需要结合一下路由发射器。针对R1和R8的两条路由,不进行宣告,我们可以通过路由策略,重发布进BGP,在联邦AS,我们还需要考虑汇总,考虑选路,汇总可以在R2和R7上汇总,然后传递给其他AS号,联邦内部的选路,则需要我们使用路由策略进行干预。

实验开始:

第一步:IP地址规划

172.16.0.0/16
172.16.0.0/24----骨干
172.16.0.0/30----R2-R3
172.16.0.4/30----R2-R5
172.16.0.8/30----R3-R4
172.16.0.12/30----R4-R7
172.16.0.16/30----R5-R6
172.16.0.20/30----R6-R7
…………----保留
172.16.1.0/24----R2环回
172.16.2.0/24----R3环回
172.16.3.0/24----R4环回
172.16.4.0/24----R5环回
172.16.5.0/24----R6环回
172.16.6.0/24----R7环回
…………----保留

这里又是另外一种规划方式,此种更加的贴合实际,环回的地址一般都是掩码为24的网段,而在大型网络中,为提高传输速度,基本上路由器和路由器之间使用点到点的传输,IP地址仅有两个。这也是一种IP的划分思路

第二步、接口IP地址配置

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/0]int l0
[R1-LoopBack0]ip add 192.168.1.1 24
[R1-LoopBack0]int l1
[R1-LoopBack1]ip add 10.1.1.1 24

[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 172.16.0.1 30
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 172.16.0.5 30
[R2]int l0
[R2-LoopBack0]ip add 172.16.1.1 24
[R2]int l1
[R2-LoopBack1]ip add 2.2.2.2 32

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 172.16.0.2 30
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 172.16.0.9 30
[R3]int l0
[R3-LoopBack0]ip add 172.16.2.1 24
[R3]int l1
[R3-LoopBack1]ip add 3.3.3.3 32

[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 172.16.0.10 30
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 172.16.0.13 30
[R4]int l0
[R4-LoopBack0]ip add 172.16.3.1 24
[R4]int l1
[R4-LoopBack1]ip add 4.4.4.4 32

[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 172.16.0.6 30
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 172.16.0.17 30
[R5]int l0
[R5-LoopBack0]ip add 172.16.4.1 24
[R5]int l1
[R5-LoopBack1]ip add 5.5.5.5 32

[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip add 172.16.0.18 30
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip add 172.16.0.21 30
[R6]int l0
[R6-LoopBack0]ip add 172.16.5.1 24
[R6]int l1
[R6-LoopBack1]ip add 6.6.6.6 32

[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip add 172.16.0.22 30
[R7-GigabitEthernet0/0/0]int g0/0/1
[R7-GigabitEthernet0/0/1]ip add 172.16.0.14 30
[R7-GigabitEthernet0/0/1]int g0/0/2
[R7-GigabitEthernet0/0/2]ip add 78.0.0.1 24
[R7]int l0
[R7-LoopBack0]ip add 172.16.6.1 24
[R7]int l1 
[R7-LoopBack1]ip add 7.7.7.7 32

[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip add 78.0.0.2 24
[R8-GigabitEthernet0/0/0]int l0
[R8-LoopBack0]ip add 192.168.2.1 24
[R8-LoopBack0]int l1
[R8-LoopBack1]ip add 11.1.1.1 24

在这里,题目要求没有让我们创建像R2的2.2.2.2的环回,这里是为了IBGP建邻而创建的,可以有先建意识,或者是在配置BGP的时候,再创建,都可

值得一提的是,针对于物理IP地址的配置,管理员手动测试是必要的,否则,如果一个网络非常庞大的情况下,底层不通,将会影响上层通讯。

第三步、起OSPF,AS内部IGP跑通,全网可达

[R2]ospf 1 rou 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]net 172.16.0.1 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 172.16.0.5 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 172.16.1.1 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0

[R3]ospf 1 rou 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 172.16.0.2 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 172.16.0.9 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 172.16.2.1 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0

[R4]ospf 1 rou 4.4.4.4
[R4-ospf-1]a 0
[R4-ospf-1-area-0.0.0.0]net 172.16.0.13 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 172.16.0.10 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 172.16.3.1 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0

[R5]ospf 1 rou 5.5.5.5
[R5-ospf-1]a 0
[R5-ospf-1-area-0.0.0.0]net 172.16.0.17 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 172.16.0.6 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 172.16.4.1 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 5.5.5.5 0.0.0.0

[R6]ospf 1 rou 6.6.6.6
[R6-ospf-1]a 0
[R6-ospf-1-area-0.0.0.0]net 172.16.0.21 0.0.0.0
[R6-ospf-1-area-0.0.0.0]net 172.16.0.18 0.0.0.0
[R6-ospf-1-area-0.0.0.0]net 172.16.5.1 0.0.0.0
[R6-ospf-1-area-0.0.0.0]net 6.6.6.6 0.0.0.0

[R7]ospf 1 rou 7.7.7.7
[R7-ospf-1]a 0
[R7-ospf-1-area-0.0.0.0]net 172.16.0.22 0.0.0.0
[R7-ospf-1-area-0.0.0.0]net 172.16.0.14 0.0.0.0
[R7-ospf-1-area-0.0.0.0]net 172.16.6.1 0.0.0.0
[R7-ospf-1-area-0.0.0.0]net 7.7.7.7 0.0.0.0

在配置BGP协议之前,IGP协议跑通是必要的

也需要进行一下测试。

第四步、BGP协议

[R1]bgp 1
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 12.0.0.2 as 2

[R2]bgp 64512
[R2-bgp]router-id 2.2.2.2	
[R2-bgp]confederation id 2
[R2-bgp]peer 12.0.0.1 as 1
[R2-bgp]peer 3.3.3.3 as 64512
[R2-bgp]peer 3.3.3.3 con l1
[R2-bgp]peer 3.3.3.3 next-hop-local
[R2-bgp]confederation peer-as 64513
[R2-bgp]peer 5.5.5.5 as 64513
[R2-bgp]peer 5.5.5.5 con l1
[R2-bgp]peer 5.5.5.5 ebgp-max-hop 

[R3]bgp 64512
[R3-bgp]router-id 3.3.3.3	
[R3-bgp]confederation id 2
[R3-bgp]peer 4.4.4.4 as 64512
[R3-bgp]peer 4.4.4.4 con l1
[R3-bgp]peer 2.2.2.2 as 64512
[R3-bgp]peer 2.2.2.2 con l1

[R4]bgp 64512
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 2
[R4-bgp]confederation peer-as 64513
[R4-bgp]peer 7.7.7.7 as 64513
[R4-bgp]peer 7.7.7.7 con l1
[R4-bgp]peer 3.3.3.3 as 64512
[R4-bgp]peer 3.3.3.3 con l1
[R4-bgp]peer 7.7.7.7 ebgp-max-hop 

[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 2
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 6.6.6.6 as 64513
[R5-bgp]peer 6.6.6.6 con l1
[R5-bgp]peer 2.2.2.2 as 64512
[R5-bgp]peer 2.2.2.2 con l1
[R5-bgp]peer 2.2.2.2 ebgp-max-hop 

[R6]bgp 64513
[R6-bgp]router-id 6.6.6.6	
[R6-bgp]confederation id 2	
[R6-bgp]peer 7.7.7.7 as 64513
[R6-bgp]peer 7.7.7.7 con l1
[R6-bgp]peer 5.5.5.5 as 64513
[R6-bgp]peer 5.5.5.5 con l1

[R7]bgp 64513
[R7-bgp]router-id 7.7.7.7	
[R7-bgp]confederation id 2
[R7-bgp]confederation peer-as 64512
[R7-bgp]peer 6.6.6.6 as 64513
[R7-bgp]peer 6.6.6.6 con l1
[R7-bgp]peer 4.4.4.4 as 64512
[R7-bgp]peer 4.4.4.4 con l1
[R7-bgp]peer 78.0.0.2 as 3
[R7-bgp]peer 4.4.4.4 ebgp-max-hop 
[R7-bgp]peer 6.6.6.6 next-hop-local

[R8]bgp 3
[R8-bgp]router-id 8.8.8.8
[R8-bgp]peer 78.0.0.1 as 2

AS的基本配置十分简单但是针对联邦AS配置,则需要十分细心,尤其是在联邦内的EBGP对等体建邻,针对AS号等,标识联邦As号,标识其他联邦成员AS号,需要注意。在这里建邻不成功的原因,最有可能是EBGP对等体之间的下一跳没有配置,此时两台路由器之间会弹出重复建邻失败日志。

第五步、BGP宣告、不宣告路由实现互相访问

1)、路由反射器

原因:根据IBGP的防环机制,路由在IBGP对等体之间仅能传一跳。联邦为了克服防环机制,所以在一个AS内部再划分AS,使部分AS之间建立EBGP对等体,但是成员AS号的内部,按理最多只能存在两台路由器,否则第三台路由器依然接受不到,针对这种情况我们就需要使用路由反射器,使得路由继续传递。

验证:

R1宣告路由,查看R3和R4学习情况

[R1]bgp 1
[R1-bgp]net 10.1.1.0 24

之前我们配置了修改下一跳的命令所以R3此时优可加表 

 R4什么也没有,和我们分析相同,配置路由反射器再查看

[R3]bgp 64512
[R3-bgp]peer 2.2.2.2 reflect-client 

 很明显R4学到了优可加表

根据这张实验图中其实我们反射器一个客户就可以了,也可以继续添加,将路由反射器都配置一下

[R3-bgp]peer 4.4.4.4 reflect-client

[R6]bgp 64513
[R6-bgp]peer 7.7.7.7 reflect-client 
[R6-bgp]peer 5.5.5.5 reflect-client

可能遇到这种现象

 很明显R5有两条去10.1.1.0/24的路由,但是R5选择了下一跳为2.2.2.2的。我们分析一下,这条路由下一跳是2.2.2.2,而另一条是12.0.0.1。按理路由传进来,下一跳不会改变,但是我们在R2上曾配置了命令使R3可以递归到,所以12.0.0.1这条路由才是我们从R1学习到的,7.7.7.7则是R2传R3绕了一圈,从R6传来的

所以想要优选R2的路由

[R2-bgp]peer 5.5.5.5 next-hop-local

 选路更正了回来

 但R6上也出现了两条,查看一下详情

 第一条来自5.5.5.5,没有问题。

这里按理来说,R4和R5应该都学习到两条路由,但是R5只学习到一条,这里是因为BGP的选路规则来的,优选RID小的所以,R6的路由来自R5则不会再传回R5,R4有两条,因为学习来自R3和R7,但是会优选R3的路由

宣告环回路由

[R2]bgp 64512
[R2-bgp]net 172.16.1.0 24

[R3]bgp 64512
[R3-bgp]net 172.16.2.0 24

[R4]bgp 64512
[R4-bgp]net 172.16.3.0 24

[R5]bgp 64513
[R5-bgp]net 172.16.4.0 24

[R6]bgp 64513
[R6-bgp]net 172.16.5.0 24

[R7]bgp 64513
[R7-bgp]net 172.16.6.0 24

3)、路由聚合,在R2和R7上做

首先查看R1和R8学到的路由

 在R2上

[R2]bgp 64512
[R2-bgp]aggregate 172.16.0.0 21 detail-suppressed 

 在R7上

[R7]bgp 64513
[R7-bgp]aggregate 172.16.0.0 21 detail-suppressed

 似乎简介了

 但是R2和R7去往对方成员AS选路可能不好,需要方通一些

[R2]ip ip-prefix aa deny 172.16.4.0 24
[R2]ip ip-prefix aa deny 172.16.5.0 24
[R2]ip ip-prefix aa permit 172.16.0.0 21 greater-equal 24 less-equal 24
[R2]route-policy aa permit node 10
[R2-route-policy]if-match ip-prefix aa
[R2-route-policy]q
[R2]bgp 64512
[R2-bgp]aggregate 172.16.0.0 21 suppress-policy aa

[R7]ip ip-prefix aa deny 172.16.2.0 24
[R7]ip ip-prefix aa deny 172.16.3.0 24
[R7]ip ip-prefix aa permit 172.16.0.0 21 greater-equal 24 less-equal 24
[R7]route-policy aa permit node 10
[R7-route-policy]if-match ip-prefix aa
[R7-route-policy]q
[R7]bgp 64513
[R7-bgp]aggregate 172.16.0.0 21 suppress-policy aa

 

3)题目要求我们不可以宣告路由,又想实现联通,使用tunnel隧道

前提,删除前方重发布

在R1和R8上配置

 

 再静态指向一下

[R1]ip route-static 192.168.2.0 255.255.255.0 10.0.0.2

[R8]ip route-static 192.168.1.0 255.255.255.0 10.0.0.1

环回测试:

 

 

 实验结束:总结,主要配置接口IP地址,AS2配置IGP协议,BGP协议配置,不宣告,使用tunnel隧道配置。

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

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

相关文章

研读Rust圣经解析——Rust learn-8(match,if-let简洁控制流,包管理)

研读Rust圣经解析——Rust learn-8(match,if-let简洁控制流,包管理)matchother和占位符_区别easy matchenum matchno valuematch innerOption matchmore better wayif-let整洁控制包管理模块(mod)拆分声明modpub公开use展开引用拆解模块结构m…

docker cmd

sudo docker run --gpus all --name uavrl1 themvs/uav_swarm_reinforcement_learning sudo docker p s-a 86850d5a9dc3 sudo docker run --gpus all --name uavrl12 uavrl:v1.2 ---------- 共享屏幕输入类似指令,实测可行 sudo docker run -it --nethost --ipc…

Leetcode每日一题——“轮转数组”

各位CSDN的uu们你们好呀,今天,小雅兰的内容是轮转数组,下面,让我们进入轮转数组的世界吧 小雅兰之前其实就已经写过了字符串旋转的问题了: C语言刷题(7)(字符串旋转问题&#xff09…

优化 Kafka 的生产者和消费者

背景 如今,分布式架构已经成为事实上的架构模范,这使得通过 REST API 和 消息中间件来降低微服务之间的耦合变得必然。就消息中间件而言,Apache Kafka 已经普遍存在于如今的分布式系统中。Apache Kafka 是一个强大的、分布式的、备份的消息服…

HBase高手之路5—HBase的JavaAPI编程

文章目录Hbase高手之路5—Hbase的JavaAPI编程一、需求与数据集二、准备工作1.下载安装Java2.下载安装Idea3.下载安装maven4.Maven配置国内的镜像库5.Idea使用自定义的maven配置6.创建一个maven测试项目7.创建所需要的包8.创建类文件,输入代码9.运行项目三、创建HBas…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现

更新信息:2023-4-15 更新了代码 【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 更新信息:2023-4-15 更新了代码 1 题目 在银行信用卡或相关的贷款等业务中,对客户授信之前,需…

Linux程序的内存

要研究程序的运行环境,首先要弄明白程序与内存的关系。程序与内存的关系,好比鱼和水一般密不可分。内存是承载程序运行的介质,也是程序进行各种运算和表达的场所。了解程序如何使用内存,对程序本身的理解,以及后续章节…

【CSS-Part3 样式显示模式、背景设置、三大特性 】

CSS-Part3 样式显示模式、背景设置、三大特性一 CSS元素显示模式:1.1块元素:1.2行内元素:1.3行内块元素:(同时具有行内元素和块元素的特点)元素显示模式总结:1.4元素显示模式转换:一种模式的元素需要另一模…

从Navicat 和 DBeaver中导出数据不要文本识别符号 “”

今天需要从MySQL和ClickHouse数据库中导出CSV数据文件,打开CSV数据文件后发现字段的数据带着""这种不需要的符号,研究了一下终于成功导出了不要文本识别符号“”的CSV文件 一、演示从DBeaver导出ClickHouse数据库的表文件 第一步&#xff0c…

SSH、OpenSSH、SSL、OpenSSL及CA

OpenSSL1. SSH、OpenSSH、SSL、OpenSSL关系及区别2. SSH介绍2.1 概念2.2 SSH的主要功能2.3 示例讲解2.4 ssh和sshd的区别3. OpenSSH介绍3.1 概念3.2 OpenSSH程序简介3.3 OpenSSH 包含的组件1. ssh2. scp3. sftp4. sshd5. ssh-keygen6. ssh-copy-id7. ssh-agent8. ssh-add9. ssh…

刘二大人《Pytorch深度学习实践》第九讲多分类问题

文章目录多分类问题损失函数课上代码transforms的使用方法view()函数dim维度的理解为什么要使用item()多分类问题 把原来只有一个输出,加到10个 每个输出对应一个数字,这样可以得到每个数字对应的概率值,这里每个输出做…

Netty实战与调优

Netty实战与调优 聊天室业务介绍 代码参考 /*** 用户管理接口*/ public interface UserService {/*** 登录* param username 用户名* param password 密码* return 登录成功返回 true, 否则返回 false*/boolean login(String username, String password); }/*** 会话管理接口…

如何快速上手Vue框架?

编译软件:IntelliJ IDEA 2019.2.4 x64 运行环境:Google浏览器 Vue框架版本:Vue.js v2.7.14 目录一. 框架是什么?二. 怎么写一个Vue程序(以IDEA举例)?三. 什么是声明式渲染?3.1 声明式3.2 渲染四…

docker安装oracle_11g -- 命还长时,自己搞的小玩具!!!

前言: 如果不是嫌命长, 建议不这么玩, 因为装到最后你会很崩溃, 感觉毫无意义, 就是个玩具, 哎~~~就是玩!!! 参考文档 1.https://blog.51cto.com/u_12946336/5722259 2.https://www.muzhuangnet.com/show/118178.html 3.https://blog.csdn.net/qq_42957435/article/details/1…

spring security+jwt实现认证和授权

最近正在研究前后端分离的开发模式&#xff0c;做做小项目练练手&#xff0c;正好用到了spring security的认证和授权&#xff0c;就总结一波。 首先&#xff0c;引入相关的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId&g…

支付系统设计:收银台设计一

文章目录前言1. 收银台前端页面1. 1 收银台的业务场景1. 2 同应用不同支付场景下的收银台2. 商户平台配置管理2.1 配置流程2.2 支付工具列表配置2.3 支付配置2.3 支付银行配置3. 系统处理流程3.1 下单流程3.1 拉起收银台流程总结前言 收银台即用户日常付款前选择支付方式的页面…

革新设计,小巧强大,水库保卫无忧!

水库安全运行事关广大人民群众生命财产安全&#xff0c;为规范水库管理&#xff0c;落实水库预报、预警、预演、预案措施&#xff0c;提升水库信息化管理水平&#xff0c;保障水库安全运行。水库大坝是重要的国民基础设施&#xff0c;承担着防洪抗旱&#xff0c;节流发电的重要…

新规拉开中国生成式AI“百团大战”序幕?

AI将走向何方&#xff1f; ChatGPT在全球范围掀起的AI热潮正在引发越来越多的讨论&#xff0c;AI该如何管理&#xff1f;AI该如何发展&#xff1f;一系列问题都成为人们热议的焦点。此前&#xff0c;马斯克等海外名人就在网络上呼吁OpenAI暂停ChatGPT的模型训练和迭代&#xf…

SGAT丨单基因分析工具SingleGeneAnalysisTool

Single Gene Analysis Tool 简介&#xff1a;SGAT是一个免费开源的单基因分析工具&#xff0c;基于Linux系统实现自动化批量处理&#xff0c;能够快速准确的完成单基因和表型的关联分析&#xff0c;只需要输入基因型和表型原始数据&#xff0c;即可计算出显著关联的SNP位点&…

学习大数据需要什么语言基础

Python易学&#xff0c;人人都可以掌握&#xff0c;如果零基础入门数据开发行业的小伙伴&#xff0c;可以从Python语言入手。 Python语言简单易懂&#xff0c;适合零基础入门&#xff0c;在编程语言排名上升最快&#xff0c;能完成数据挖掘、机器学习、实时计算在内的各种大数…