当前位置: 首页 > news >正文

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

要求:

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

至此,实验完成。

相关文章:

  • C# 集合(六) —— 自定义集合Collection类
  • 音视频开发8 音视频中SDL的使用,SDL 在windows上环境搭建,SDL 使用 以及 常用 API说明,show YUV and play PCM
  • C++第十七弹---string使用(下)
  • 详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版)
  • Java 三种主流的消息中间件 RabbitMQ、Kafka 和 RocketMQ 特点以及适用,使用场景 学习总结
  • 【设计模式】JAVA Design Patterns——Command(事务模式)
  • MySQL视图教程(01):创建视图
  • YOLOv10 论文学习
  • 一.架构设计
  • 互联网十万个为什么之什么是虚拟化?
  • kubenetes中K8S的命名空间状态异常强制删除Terminating的ns
  • 架构师必考题--软件系统质量属性
  • 【蓝桥杯】国赛普及-
  • 变分自动编码器(VAE)深入理解与总结
  • ffplay 使用文档介绍
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • axios 和 cookie 的那些事
  • Date型的使用
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • js 实现textarea输入字数提示
  • Laravel 实践之路: 数据库迁移与数据填充
  • rc-form之最单纯情况
  • React+TypeScript入门
  • RxJS: 简单入门
  • tensorflow学习笔记3——MNIST应用篇
  • Webpack 4 学习01(基础配置)
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 第十八天-企业应用架构模式-基本模式
  • 深入浅出Node.js
  • 数据仓库的几种建模方法
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 以太坊客户端Geth命令参数详解
  • hi-nginx-1.3.4编译安装
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #define、const、typedef的差别
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (day18) leetcode 204.计数质数
  • (done) 声音信号处理基础知识(4) (Understanding Audio Signals for ML)
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)Oracle存储过程编写经验和优化措施
  • .form文件_SSM框架文件上传篇
  • .Net Core 中间件验签
  • .Net Core中Quartz的使用方法
  • .NET/C# 使窗口永不获得焦点
  • .Net--CLS,CTS,CLI,BCL,FCL
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET项目中存在多个web.config文件时的加载顺序
  • .ui文件相关
  • /var/log/cvslog 太大
  • @component注解的分类
  • @Value读取properties中文乱码解决方案