BGP策略实验(路径属性和选路规则)

news2024/10/6 18:30:41

要求:

1、使用preval策略,确保R4通过R2到达192.168.10.0/24
2、使用AS Path策略,确保R4通过R3到达192.168.11.0/24
3、配置MED策略,确保R4通过R3到达192.168.12.0/24
4、使用Local Preference策略,确保R1通过R2到达192.168.1.0/24
5、使用Local Preference策略,确保R1通过R3到达192.168.2.0/24
6、配置负载均衡,确保R1通过R2和R3到达192.168.3.0/24
7、使用As策略,AS 500不接受任何始发于AS 123的路由
8、使用自定义Community策略,确保192.168.3.0/24路由不会被发布到AS 500
9、IBGP使用环回接口建邻,EBGP使用物理接口建邻
10、修改AS 123中的用户网段为Broadcast,方便后续在BGP中宣告

11、BGP宣告路由时,仅宣告24网段的用户路由

做法:

首先,配置IP和环回地址

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip ad 12.0.0.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 13.0.0.1 24
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip ad 15.0.0.1 24
[R1-GigabitEthernet0/0/2]int l 0
[R1-LoopBack0]ip ad 1.1.1.1 32
[R1-LoopBack0]int l 1
[R1-LoopBack1]ip ad 192.168.100.1 24
[R1-LoopBack1]ospf network-type broadcast

[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip ad 24.0.0.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip ad 12.0.0.2 24
[R2-GigabitEthernet0/0/1]int l 0
[R2-LoopBack0]ip ad 2.2.2.2 32
[R2-LoopBack0]int l 1
[R2-LoopBack1]ip ad 192.168.20.1 24
[R2-LoopBack1]ospf network-type  broadcast

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip ad 34.0.0.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip ad 13.0.0.3 24
[R3-GigabitEthernet0/0/1]int l 0
[R3-LoopBack0]ip ad 3.3.3.3 32
[R3-LoopBack0]int l 1
[R3-LoopBack1]ip ad 192.168.30.1 24
[R3-LoopBack1]ospf network-type  broadcast

[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip ad 24.0.0.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/0]ip ad 34.0.0.4 24
[R4-GigabitEthernet0/0/0]int l 0
[R4-LoopBack0]ip ad 192.168.1.1 24
[R4-LoopBack0]int l 1
[R4-LoopBack1]ip ad 192.168.2.1 24
[R4-LoopBack1]int l 2
[R4-LoopBack2]ip ad 192.168.3.1 24

[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip ad 15.0.0.5 24
[R5-GigabitEthernet0/0/0]int l 0
[R5-LoopBack0]ip ad 192.168.10.1 24
[R5-LoopBack0]int l 1
[R5-LoopBack1]ip ad 192.168.11.1 24
[R5-LoopBack1]int l 2
[R5-LoopBack2]ip ad 192.168.12.1 24

随后,测试是否互通,若可以,进入下一步

随后,配置ospf,搭建IGP

[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network  192.168.100.1 0.0.0.0

[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 12.0.0.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 192.168.20.1 0.0.0.0

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 13.0.0.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 192.168.30.1 0.0.0.0

随后,配置BGP

[R1]bgp 123
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 15.0.0.5 as-number 500
[R1-bgp]peer 2.2.2.2 as-number 123    
[R1-bgp]peer 2.2.2.2 connect-interface l0
[R1-bgp]peer 2.2.2.2 next-hop-local
[R1-bgp]peer 3.3.3.3 as-number 123    
[R1-bgp]peer 3.3.3.3 connect-interface l0
[R1-bgp]peer 3.3.3.3 next-hop-local

[R2]bgp 123
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 24.0.0.4 as-number 400
[R2-bgp]peer 1.1.1.1 as-number 123
[R2-bgp]peer 1.1.1.1 connect-interface l0
[R2-bgp]peer 1.1.1.1 next-hop-local

 

[R3]bgp 123
[R3-bgp]router-id 3.3.3.3

[R3-bgp]peer 34.0.0.4 as-number 400
[R3-bgp]peer 1.1.1.1 as-number 123
[R3-bgp]peer 1.1.1.1 connect-interface l0
[R3-bgp]peer 1.1.1.1 next-hop-local

 

   

[R4]bgp 400

[R4-bgp]router-id 4.4.4.4    
[R4-bgp]peer 24.0.0.2 as-number 123
[R4-bgp]peer 34.0.0.3 as-number 123

 

[R5]bgp 500
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 15.0.0.1 as-number 123

随后,使用preval策略,确保R4通过R2到达192.168.10.0 24

    [R4]ip ip-prefix PV permit 192.168.10.0 24
    [R4]route-policy PV permit node 10
    [R4-route-policy]if-match ip-prefix PV
    [R4-route-policy]apply preferred-value 100
    [R4-route-policy]q            要记得允许所有
    [R4]route-policy PV permit node 20
    [R4-route-policy]q
    [R4]bgp 400
    [R4-bgp]peer 24.0.0.2 route-policy PV import

 

    display bgp routing-table 192.168.10.0

使用AS Path策略,确保R4通过R3到达192.168.11.0/24

         AS-Path属性越短则该路由越优,因为这条路径距离目的地所要经过的AS个数更少。
         AS_Path属性最开始是空的列表,当该路由被通告给一个EBGP对等体邻居时,才会被加上一个AS号,在每次经过一个AS时,都会在AS_Path属性的最前端增加最新的AS号。
            而该属性在IBGP对等体之间传播时,这条属性是不会发生改变

R4配置

    [R4]ip ip-prefix AS permit 192.168.11.0 24
    [R4]route-policy AS permit node 10
    [R4-route-policy]if-match ip-prefix AS
    [R4-route-policy]apply as-path 123 123 500 overwrite
    [R4-route-policy]q
     
    [R4]bgp 400
    [R4-bgp]peer 24.0.0.2 route-policy AS import

    当然,我们也可以使用方法二

    [R4]ip ip-prefix AS permit 192.168.11.0 24
    [R4]route-policy PV permit node 15
    [R4-route-policy]if-match ip-prefix PV
    [R4-route-policy]apply as-path 123 123 500 overwrite
    [R4-route-policy]q

    不需要调用,因为PV已经调用过了

   

配置MED策略,确保R4通过R3到达192.168.12.0/24

 

        MED值是继承了IGP协议的度量值。
        MED属性值可以传递给自己的EBGP对等体,并且该EBGP对等体可以将该路由传递给

IBGP对等体,并且因为AS-BY-AS规则,该属性在IBGP对等体之间传递时不变。
        MED属性可以干扰访问本地的流量的走向。也就是说,本AS的策略调整可以影响到别的AS对路径的判断,这是在BGP选路中唯一一个可以影响到其他AS的属性
            即MED是干涉其他的设备,所以MED不在R4上配置
        BGP规定,非本地始发的BGP路由信息,在传递给自己的EBGP对等体时,将MED值修改为0。

R2配置

    [R2]ip ip-prefix MED permit 192.168.12.0 24
    [R2]route-policy MED permit node 10
    [R2-route-policy]if-match ip-prefix MED
    [R2-route-policy]apply cost 200
    [R2-route-policy]q
    [R2]route-policy MED permit node 20
     
    [R2]bgp 123
    [R2-bgp]peer 24.0.0.4 route-policy MED export

R3配置

    [R3]ip ip-prefix MED permit 192.168.12.0 24
    [R3]route-policy MED permit node 10
    [R3-route-policy]if-match ip-prefix MED
    [R3-route-policy]apply cost 20
    [R3-route-policy]q
    [R3]route-policy MED permit node 20
     
    [R3]bgp 123
    [R3-bgp]peer 34.0.0.4 route-policy MED export

使用Local Preference策略,确保R1通过R2到达192.168.1.0/24

        该属性的默认值为100,并且LP属性只能在IBGP对等体之间传递,而不能在EBGP对等体之间传递。
        如果路由在传递到本地时并不携带LP属性,则BGP在决策时,使用缺省值来计算。
        该属性越大越优。
        该属性的传递范围为本AS内部。
        该属性是AS内部优选路由的最佳选择。

R1配置

    [R1]ip ip-prefix LP1 permit 192.168.1.0 24
    [R1]route-policy LP1 permit node 10
    [R1-route-policy]if-match ip-prefix LP1
    [R1-route-policy]apply local-preference 200
    [R1-route-policy]q
    [R1]route-policy LP1 permit node 20
     
    [R1]bgp 123
    [R1-bgp]peer 2.2.2.2 route-policy LP1 import

使用Local Preference策略,确保R1通过R3到达192.168.2.0/24

    [R1]ip ip-prefix LP2 permit 192.168.2.0 24
    [R1]route-policy LP2 permit node 10
    [R1-route-policy]if-match ip-prefix LP2
    [R1-route-policy]apply local-preference 200
    [R1-route-policy]q
    [R1]route-policy LP2 permit node 20
     
    [R1]bgp 123
    [R1-bgp]peer 3.3.3.3 route-policy LP2 import

配置负载均衡,确保R1通过R2和R3到达192.168.3.0/24

R1配置

    [R1]bgp 123
    [R1-bgp]maximum load-balancing 2

使用As策略,AS 500不接受任何始发于AS 123的路由

R1配置

    方法一:

    [R5]ip as-path-filter 1 deny  ^123$
    [R5]ip as-path-filter 1 permit .*
     
    [R5]bgp 500
    [R5-bgp]peer 15.0.0.1 as-path-filter 1 import

    方法二:

    [R1]ip as-path-filter 1 deny ^$    抓空列表
    [R1]ip as-path-filter 1 permit .*
     
    [R1]bgp 123
    [R1-bgp]peer 15.0.0.5 as-path-filter 1 export

使用自定义Community策略,确保192.168.3.0/24路由不会被发布到AS 500

自定义Community策略

打上社团属性标记和打开社团属性传播功能

R4配置

    [R4]route-policy com permit node 10
    [R4-route-policy]apply community 400:500
     
    [R4]bgp 400
    [R4-bgp]network 192.168.3.0 24 route-policy com
    [R4-bgp]peer 24.0.0.2 advertise-community
    [R4-bgp]peer 34.0.0.3 advertise-community

R2配置

    [R2]bgp 123
    [R2-bgp]peer 1.1.1.1 advertise-community

R3配置

    [R3]bgp 123
    [R3-bgp]peer 1.1.1.1 advertise-community

R1配置

    [R1]bgp 123
    [R1-bgp]peer 15.0.0.5 advertise-community

社团属性过滤器

R1配置

    [R1]ip community-filter 1 permit 400:500
    [R1]route-policy com deny node 10
    [R1-route-policy]if-match community-filter 1
    [R1-route-policy]q
    [R1]route-policy com permit node 20
     
    [R1]bgp 123
    [R1]peer 15.0.0.5 route-policy com export

至此,实验完成。

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

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

相关文章

不同网段的通信过程

这里的AA和HH指的是mac地址,上面画的是路由器 底下的这个pc1,或者其他的连接在这里的pc,他们的默认网关就是路由器的这个192.168.1.1/24这个接口 来看看通信的过程 1、先判断(和之前一样) 2、去查默认网关&#xf…

【MySQL】库的基础操作

🌎库的操作 文章目录: 库的操作 创建删除数据库 数据库编码集和校验集 数据库的增删查改       数据库查找       数据库修改 备份和恢复 查看数据库连接情况 总结 前言:   数据库操作是软件开发中不可或缺的一部分&#xff0…

Hibernate

主流ORM框架Object Relation Mapping对象关系映射,将面向对象映射成面向关系。 如何使用 1、导入相关依赖 2、创建Hibernate配置文件 3、创建实体类 4、创建实体类-关系映射文件 5、调用Hibernate API完成操作 具体操作 1、创建 Maven工程,在pom.xml中导…

应用程序图标提取

文章目录 [toc]提取过程提取案例——提取7-zip应用程序的图标 提取过程 找到需要提取图标的应用程序的.exe文件 复制.exe文件到桌面,并将复制的.exe文件后缀改为.zip 使用解压工具7-zip解压.zip文件 在解压后的文件夹中,在.rsrc/ICON路径下的.ico文件…

01.并发编程简介

1 什么是并发编程 所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生。 2 为什么我们要学习并发编程? 最直白的原因就是因为面试需要,大厂的 Java 岗的并发编程能力属于标配。 而在非大厂…

vscode远程连接Ubuntu mysql服务器

注意:刚开始使用root用户死活连接不上,可能就是root用户没有权限的问题,可以尝试创建一个新的数据库用户,授予权限进行连接 ubuntu安装mysql 创建新用户 执行:sudo apt-get install mysql-server安装服务器(yum) 执…

【排序算法】选择排序以及需要注意的问题

选择排序的基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。 第一种实现方法: void SelectSort(int* arr, int n) {for (int j 0…

Python Beautiful Soup 使用详解

大家好,在网络爬虫和数据抓取的领域中,Beautiful Soup 是一个备受推崇的 Python 库,它提供了强大而灵活的工具,帮助开发者轻松地解析 HTML 和 XML 文档,并从中提取所需的数据。本文将深入探讨 Beautiful Soup 的使用方…

C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。

C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。 var response await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken);问题出在SSL/TLS,Windows Server 2012不支持…

深入浅出MySQL事务实现底层原理

重要概念 事务的ACID 原子性(Atomicity):即不可分割性,事务中的操作要么全不做,要么全做一致性(Consistency):一个事务在执行前后,数据库都必须处于正确的状态&#xf…

构建智慧科技园区的系统架构:数字化驱动未来创新

随着科技的不断进步和数字化转型的加速推进,智慧科技园区已成为当今城市发展的重要组成部分。在智慧科技园区建设中,系统架构的设计和实施至关重要,对于提升园区管理效率、优化资源利用、促进创新发展具有重要意义。 一、智慧科技园区系统架构…

文心智能体大赛:百度文心智能体平台初体验

写在前面 博文内容涉及:文心智能体大赛:文心智能体初体验理解不足小伙伴帮忙指正 😃,生活加油 我徒然忘记了热闹,却来不及悟透真正的清冷(《四喜忧国》) 前言 徒然忘记了热闹,却来不及悟透真正的清冷(《四喜忧国》),在…

【论文阅读|cryoET】ICE-TIDE

简介 三维cryoET重建的保真度进一步受到采集过程中物理扰动的影响。这些扰动以各种形式表现出来,例如连续采集之间的样本漂移,导致连续投影未对准,或者由于未散射的电子而导致二维投影中的局部变形。 传统的冷冻电子断层扫描工作流程需要对…

贪心题目总结

1. 最长递增子序列 我们来看一下我们的贪心策略体现在哪里??? 我们来总结一下: 我们在考虑最长递增子序列的长度的时候,其实并不关心这个序列长什么样子,我们只是关心最后一个元素是谁。这样新来一个元素之后&#xf…

深入了解 Golang 多架构编译:交叉编译最佳实践

随着软件开发领域的不断发展,我们面临着越来越多的挑战,其中之一是如何在不同的平台和架构上部署我们的应用程序。Golang(Go)作为一种现代化的编程语言,具有出色的跨平台支持,通过其强大的多架构编译功能&a…

需求开发和管理

人们对需求术语的困惑甚至延伸到整个学科的称谓上。有些作者将整个范围都称为“需求工程”。有些人统称为“需求管理”。还有些人认为这些活动属于广义上的业务分析的一个分支。我们发现,最好将需求工程分为需求开发和需求管理,如图所示。不管项目遵循什…

C++笔记之Unix时间戳、UTC、TSN、系统时间戳、时区转换、local时间笔记

C++笔记之Unix时间戳、UTC、TSN、系统时间戳、时区转换、local时间笔记 ——2024-05-26 夜 code review! 参考博文 C++笔记之获取当前本地时间以及utc时间

网络统一监控运维管理解决方案(ppt原件方案)

网络统一监控运维管理解决方案 1. 构建完善的网络运维体系:通过组织、流程、制度的完善、支撑手段的建设,构建低成本高效率的IT运营体系,推动IT运营工作自动化、智能化、一体化化发展。 2. 构建网络一体化监控能力:构建从设备、…

QT之常用控件

一个图形化界面当然需要有各种各样的控件,QT也不例外,在QT designer中就有提供各种各样的控件,用以开发图形化界面。 而想使用好一个QT控件,就需要了解这些控件。 QWidget 在QT中,所有控件都继承自 QWidget 类&…

基于Python Selenium web测试工具 - 基本用法详解

这篇文章主要介绍了Selenium(Python web测试工具)基本用法,结合实例形式分析了Selenium的基本安装、简单使用方法及相关操作技巧,需要的朋友可以参考下 本文实例讲述了Selenium基本用法。分享给大家供大家参考,具体如下: Seleni…