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

至此,实验完成。

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

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

相关文章

Python轻松玩转excel操作指导

目录 一、一图概览 二、表格操作 三、内容操作 四、单元格操作 五、Pandas实现表格操作 六、常见场景示例 一、一图概览 ​ ​本文主要对openpyxl库的常用表格操作进行了梳理,熟练的运用后可极大地提升工作效率。 二、表格操作 #创建一个表格sheet.xlsx #…

C++编程揭秘:虚表机制与ABI兼容性的实例剖析

前言: 假设你的应用程序引用的一个库某天更新了,虽然 API 和调用方式基本没变,但你需要重新编译你的应用程序才能使用这个库,那么一般说这个库是源码兼容(Source compatible);反之,如…

C语言指针相关知识(第五篇章)(非常详细版)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、sizeof和strlen对比二、数组之间的比较(依据strlen和sizeof来呈现)(一)、一维整型数组(二&#…

Value-Based Reinforcement Learning(2)

Temporal Difference (TD) Learning 上节已经提到了如果我们有DQN,那么agent就知道每一步动作如何做了,那么DQN如何训练那?这里面使用TD算法。 简略分析: 是的估计 是的估计 所以: Deep Re…

对vue3/core源码ref.ts文件API的认识过程

对toRef()API的认识的过程: 最开始认识toRef()是从vue3源码中的ref.ts看见的,右侧GPT已经举了例子 然后根据例子,在控制台输出ref对象是什么样子的: 这就是ref对象了,我们根据对象中有没有__v_isRef来判断是不是一个ref对象,当对象存在且__v_isRef true的时候他就判定为是一个…

Linux-组管理和权限管理

1 Liunx组的基本介绍: 在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有所有者、所在组、其他组的概念 所有者所在组其它组改变用户所在的组 2 文件/目录的所有者 一般文件的创建者,谁创建了该文件,就…

从程序被SQL注入来MyBatis 再谈 #{} 与 ${} 的区别

缘由 最近在的一个项目上面,发现有人在给我搞 SQL 注入,我真的想说我那么点资源测试用的阿里云服务器,个人估计哈,估计能抗住他的请求。狗头.png 系统上面的截图 数据库截图 说句实在的,看到这个之后我立马就是在…

游戏找不到d3dcompiler_43.dll怎么办,教你5种可靠的修复方法

在电脑使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到d3dcompiler43.dll”。这个问题通常出现在游戏或者图形处理软件中,它会导致程序无法正常运行。为了解决这个问题,我经过多次尝试和总结,找到了以下五…

idea2023的git从dev分支合并到主分支master

1.本地项目切换到主分支master 右键项目-git-Branches 依次点击项目-Remote-Origin-master-CheckOut 现在你的idea中的这个项目就是远程master分支的代码了。 2.合并dev分支到master 右击项目-git-Merge 选择origin-dev 点击Merge按钮,此时只是合并到本地的maste…

每日一题---有效的括号问题

文章目录 前言1.题目以及分析2.参考代码 前言 前面我们学习了栈的相关操作,现在我们做一道题,进行巩固 Leetcode—有效的括号 1.题目以及分析 这道题就可以使用栈进行操作,因为把最左边的括号当成栈底,最右边的是栈顶&#xff0c…

【每日刷题】Day49

【每日刷题】Day49 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 110. 平衡二叉树 - 力扣(LeetCode) 2. 501. 二叉搜索树中的众数 - 力扣&…

基于YOLOv8的车牌检测与识别(CCPD2020数据集)

前言 本篇博客主要记录在autodl服务器中基于yolov8实现车牌检测与识别,以下记录实现全过程~ yolov8源码:GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite 一、环境配置 …

27【Aseprite 作图】盆栽——拆解

1 橘子画法拆解 (1)浅色3 1 0;深色0 2 3 就可以构成一个橘子 (2)浅色 2 1;深色1 0 (小个橘子) (3)浅色 2 1 0;深色1 2 3 2 树根部分 (1)底部画一条横线 (2)上一行 左空2 右空1 【代表底部重心先在右】 (3)再上一行,左空1,右空1 (4)再上一行,左突出1,…

省市区(输入code) 转相应省市区工具类(两种方式)

方式一 通过调用接口(时间高达1s) package cn.iocoder.yudao.module.supplier.utils;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element;import java.io.BufferedReader; import java.io.InputStreamReader; i…

Java 泛型基础

目录 1. 为什么使用泛型 2. 泛型的使用方式 2.1. 泛型类 2.2. 泛型接口 2.3. 泛型方法 3. 泛型涉及的符号 3.1. 类型通配符"?" 3.2. 占位符 T/K/V/E 3.3. 占位符T和通配符?的区别。 4. 泛型不变性 5. 泛型编译时擦除 1. 为什么使用泛型 Java 为…

基于深度学习的入侵检测系统综述文献概述

好长时间不发博客了,不是因为我摆烂了,是我换研究方向了,以后我就要搞科研了。使用博客记录我的科研故事,邀诸君共同见证我的科研之路。 1、研究方向的背景是什么? (1)互联网发展迅速&#xff…

基于ssm的蛋糕商城系统java项目jsp项目javaweb

文章目录 蛋糕商城系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 蛋糕商城系统 一、项目演示 蛋糕商城管理系统 二、项目介绍 系统角色 : 管理员、用户 一,管理员 管理员有…

Mixed-precision计算原理(FP32+FP16)

原文: https://lightning.ai/pages/community/tutorial/accelerating-large-language-models-with-mixed-precision-techniques/ This approach allows for efficient training while maintaining the accuracy and stability of the neural network. In more det…

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

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

【kubernetes】探索k8s集群中金丝雀发布后续 + 声明式资源管理yaml

目录 一、K8S常见的发布方式 1.1蓝绿发布 1.2灰度发布(金丝雀发布) 1.3滚动发布 二、金丝雀发布 三、声明式管理方法 3.1YAML 语法格式 3.1.1查看 api 资源版本标签 3.1.2查看资源简写 3.2YAML文件详解 3.2.1Deployment.yaml 3.2.2Pod.yaml …