首页 > 其他分享 >路由策略(前缀列表,策略工具-filter-policy,策略工具-Router-policy,双点双向路由重发布)

路由策略(前缀列表,策略工具-filter-policy,策略工具-Router-policy,双点双向路由重发布)

时间:2024-01-24 09:37:55浏览次数:35  
标签:1.0 策略 R3 acl permit policy 路由

1.前缀列表

image-20240124090208174

image-20240124090226261

默认是拒绝,如果没写允许,就都是拒绝

image-20240124090316017

Greater-equal 26 less-equal 32 从子网掩码26-32被匹配,其他的被拒绝

image-20240124090326502

2.策略工具1:filter-policy(过滤策略)

image-20240124090342102

Export只对引入的路由,,对引入的路由在过滤,是不是发给我的邻居使用,import对所有路由器都可用

image-20240124090401437

image-20240124090413216

*ospf:import*

image-20240124090430627

R1传给R2的ospf,现在进行不允许10.1.1.0的不通过

>  acl 2000 
>
>  rule deny soure 10.1.1.0 0.0.0.255 
>
>  rule permit soure any

ospf:export

image-20240124090519602

Isis引入bgp

Import-router bgp permit-ibgp (默认是引入ebgp,ibgp是不引入的,所以有了这条路由就可以引入)

image-20240124090536372

export

> acl 2002
>
>  rule permit source 192.168.1.0 0.0.0.255
>
>  rulr dent soure any
>
> 

由上可以,我的R1引入bgp(192.168.1.0 192.168.2.0 192.168.3.0 )
然后经过filter-policy export 在r2上查看路由表只有192.168.1.0过来了
R3,R1用bgp建立对等体,都属于as100,R3宣告自身1.0 2.0 3.0
R1与R2通过isis建立对等体,R1引入bgp路由时permit-ibgp加入ibgp路由,然后R2就能收到1.0 2.0 3.0的路由了,然后我通过acl 2002限制过往路由,只允许1.0通过

Import

接上边案例,如果我R1只想接受1.0的数据包,那么我就建立一个

> Acl 2003
>
> Rule permit source 192.168.1.0 0.0.0.255
>
> Rulr deny source any

然后在进入R1的bgp里边

>  Bgp 100
> filter-policy 2003 import

写完以后再查看R1里边路由就没有了2.0 3.0就只存在1.0了

如果我想在R3配置bgp的时候就不想让1.0出去给他过滤掉,那可以在R3设置acl 然后在bgp 出方向应用,这样R1也就也没有了1.0的路由了

2.策略工具2:Router-policy

image-20240124091124987

多个node是方便给不同的路由不同的操作

If-match 是与的关系,必须都匹配才可以进行

Aplly是配置到路由的动作

image-20240124091206973

实验:

image-20240124091220781

image-20240124091232821

image-20240124091250292

image-20240124091301442

现在·如果我想也让2.0 3.0 4.0 引入但是对其属性都为默认:

*Router-policy xx permit node 20 设置一条路由策略,里边不做任何修改即可,值得注意的是router-policy 10 20的名称要一直,最后修改的只有node号,再次查看即可*

image-20240124091329778

3.双点双向路由重发布(路由重发布=路由引入)

image-20240124091418364

***3.1次优路径***

image-20240124091432277

就R3来说,他学到了两条去往10.1.1.1的路由,一条是通过R1通过引入ospf外部路由学到的(优先级为150),一条是通过R4的isis学到的(优先级为15),所以R3在去往10.1.1.1的时候默认去往了优先级更高的那边

解决方法:

  1. 在R3的isis进程内通过filter-policy禁止来自R4的10.1.1.0/24的路由加入本地路由
> Acl 2001
>
> Rule deny source 10.1.1.0 0.0.0.255
>
> Rule permit source any
>
> Isis
>
> Filter-policy 2001 import 
  1. 在R3通过acl匹配10.1.1.0/24的路由,在router-policy引用该acl的路由设置优先级比isis的15小,然后在ospf下调用这个路由策略即可
> Acl 2000
>
> Rule permit source 10.1.1.0 0.0.0.255    设置acl匹配路由
> Router-policy xl permit node 10      //设置路由策略名称为xl动作允许node号为10
>
> If-match acl 2000            //关联acl
>
> Apply preference 14           //动作为 优先级14
>
> Ospf 1
>
> Preference ase router-policy xl     //ase代表外部路由,意思是将这个外部路由按照xl这个路由策略进行修改优先级

3.2 路由环路

image-20240124091530146

在R4通过tracert 172.16.1.1可看到,产生了环路

image-20240124091552967

就是R1引入的这条直连路由,原本是ospf的但是通过它被传到了isis里边变成了isis然后在R3,R2又通过isis进行重发布,所以就形成了环路,就是路由回灌

解决方法:

1.在R3的ospf中因为isis路由时,通过router-policy过滤掉172.16.1.0/24的路由

> Acl 2001
>
> Rule deny source 172.16.1.0 0.0.0.255
>
> Rule permit source any          // 通过acl过滤掉
>
> Router-policy xl permit node 10       //设置路由策略
>
> If-match acl 2001              //关联acl

本来就是ospf的所以就不需要再次引入

> Ospf
>
> Import-router isis 1 router-policy xl
当时不只是R3要做,R2也要做,如上操作即可

测试:在R4通过tracert 172.16.1.1

2.使用tag给路由打上标签,这样在R2将路由从ospf引入的isis打上标签,在R3将isis引入到ospf是过滤掉带标签的路由

R2:

> Acl 2000
>
> Rule permit source 172.16.1.0 0.0.0.255          //匹配路由
> Router-policy xl permit node 10     //设置路由策略
>
> If-match acl 2000           //关联acl
>
> Apply tag 200            //打上标签 200
>
> Isis 1 
>
> Import-router ospf router-policy xl      //引入路由策略.

需要注意的是如果isis需要进行修改,比如打上标签的这个动作需要将带宽设置为wide

也就是在R2,R3,R4进入isis 1 cost-style wide

image-20240124091650636

然后现在在做一条过滤的在R3进行过滤操作

> Router-policy gl deny node 10
>
> If-match tag 200
>
> Router-policy gl permit node 20
>
> Ospf 1
>
> Import-router isis router-policy gl

现在这些我们做的只是从R1-R2-R4-R3的操作还有一种是R1-R3-R4-R2的操作,我们就如上操作R3将路由信息打上tag标签,R2进行tag过滤即可

标签:1.0,策略,R3,acl,permit,policy,路由
From: https://www.cnblogs.com/Ting-G/p/17983878

相关文章

  • router4j--SpringCloud动态路由利器
    前言本文介绍Java的动态路由中间件:router4j。router4j用于SpringCloud项目,它可以将某个url请求路由到指定的机器上,也可以将所有请求强制转到指定机器。问题描述Java后端在开发SpringCloud项目时如果同一个应用起了多个实例,会遇到以下问题:无法将指定url请求强制转到个人电脑。这样会......
  • 策略模式【结合springboot实现】
    Hello!~大家好啊,很高兴我们又见面了,今天我们一起学习设计模式–【策略模式】初次对此模式不懂的,或者想偷懒的,我强烈建议大家跟着我的一起把概念和代码一起敲一遍!~为啥子??因为我就是这样学会的,哈哈哈!1.首先我们看下此模式的整体UML图selector:选择器又叫做上下文conte......
  • Discarded invalid param(s) "xxx" when navigating.路由params传值报错
    从VueRouter的2022-8-22更新后,无法使用name+params的方式进行传递,官方给出的说法是所以我采用了HistoryAPI的模式A组件import{useRouter}from"vue-router"letrouter=useRouter()constparams={title:'标题'}functiontoRouter(){router.push({name:......
  • 从 fatal 错误到 sync.Map:Go中 Map 的并发策略
    从fatal错误到sync.Map:Go中Map的并发策略原创 波罗学 码途漫漫 2024-01-2121:00 发表于上海 听全文为什么Go语言在多个goroutine同时访问和修改同一个map时,会报出fatal错误而不是panic?我们该如何应对map的数据竞争问题呢?码途漫漫踏实地写......
  • gin框架路由讲解
    gin框架路由讲解点击关注......
  • 二、nextjs API路由如何做好JWT登录鉴权、身份鉴权,joi字段校验,全局处理异常等(c-shoppi
    介绍在这篇文章中,我们将学习如何在C-Shopping电商开源项目中,基于Next.js14,处理所有API路由中添加身份验证和错误处理中间件的思路与实现。这篇文章中的代码片段取自我最近开源项目C-Shopping,完整的项目和文档可在https://github.com/huanghanzhilian/c-shopping地址查看。Next......
  • 二、nextjs API路由如何做好JWT登录鉴权、身份鉴权,joi字段校验,全局处理异常等(c-shoppi
    介绍在这篇文章中,我们将学习如何在C-Shopping电商开源项目中,基于Next.js14,处理所有API路由中添加身份验证和错误处理中间件的思路与实现。这篇文章中的代码片段取自我最近开源项目C-Shopping,完整的项目和文档可在https://github.com/huanghanzhilian/c-shopping地址查看。Next.js......
  • 数据库缓存策略
    数据库缓存策略以下是数据库与缓存的五种常见策略。1缓存旁路缓存旁路(Cache-Aside)在缓存旁路策略中,数据库缓存位于数据库旁边。当应用程序请求数据时,它会首先检查缓存如果缓存中存在数据(缓存命中),则会直接返回数据如果缓存中没有数据(缓存未命中),则应用程序将查询数据库,然......
  • VUE框架CLI组件化配置Router切换路由和保持路由状态和路由组件的销毁------VUE框架
    <template><div><MyHeader></MyHeader><div><h1>省份</h1><!--在默认的情况下,我们切换组件会导致原组件被销毁--><button@click="forward()">前进</button>......
  • 策略模式
    if...else...的优雅写法,可以配合委托模式一起使用定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户补充定义:处理大量if...else...代码类型:行为型适用场景:系统有很多类,而他们的区别仅仅在于他们的行为策略不同一个系统需......