文章目录

  • Filter-policy工具理论与实践
    • 作用
    • 对RIP发送的路由做过滤 示例1
    • 对RIP发送的路由做过滤 示例2
    • 对RIP接收到路由做过滤
    • 对OSPF接收到路由做过滤 示例1
    • 对OSPF接收到路由做过滤 示例2

Filter-policy工具理论与实践

作用


用于控制路由更新、接收的一个工具。(就是过滤路由信息的)
只能过滤路由信息,无法过滤LSA
路由协议按照算法分为两类:
1、距离矢量路由协议:
典型的代表是RIP,特征是路由器之间传递的是路由表,通告给直连路由器。哪些路由信息是我没有的我就把它学过来,然后把它放到自己的路由表当中。

当然我也把我的路由表通告出去给直连路由器,经过周期性的通告之后,网络当中的路由器就知道了全网的路由。

在路由更新报文中携带的就是路由信息,在距离矢量路由协议当中去部署filter-policy时,不管是入站还是出站方向,都是没有问题的。

2、链路状态路由协议(Link state protocol):
与距离矢量路由协议工作方式是截然不同的,距离矢量路由协议传递的是路由信息。但是链路状态路由协议比如OSPF,OSPF首先建立OSPF邻接关系,在建立邻接关系的过程中,它们会同步双方的LSDB链路状态数据库,链路状态数据库所装载的是LSA链路状态通告消息,对于链路状态路由协议来说。

路由器之间交互的不是路由信息,而是LSA链路状态通告,LSA可以简单认为路由器对所有的直连接口的状态与所连接的邻居状态,这样的信息叫LSA,把LSA进行泛洪,每一个人都描述一下我家门口是什么情况(有什么路,多少门)网络当中路由器收集完泛洪的LSA,都装载到LSDB链路状态数据库当中(每台路由器都维护着一个LSDB),LSDB相当于每一台路由器对整个区域拓扑结构以及网段信息的完整了解,相当于地图。

接下来就是基于它们所存储的LSDB,来运行一套SPF算法,最短路径优先算法,这个算法是以自己在这个地图上为根来计算自己到达网络中每一个网段的最短的路径,最终是把这些最短路径生成路由表,在加载到每一台路由器的路由表中。

换句话说对于链路状态路由协议而言,每一台路由器都会维护着LSDB链路状态数据库,LSDB中所存储的是很多LSA,而路由器能够根据LSA计算路由信息,它们把计算出来的路由加载到routing information base中,所谓的routing information base就是路由信息库也就是路由表,而路由器之间交互的信息并不是把路由发给邻居,而是把LSA发送给邻居。

从某种程度上说,链路状态路由协议要比距离矢量路由协议工具机制高级一些,当然OSPF的优势不止这些。既然链路状态路由协议之间交互的不是路由信息, 且去使用filter-policy过滤路由信息就有些限制了。

对RIP发送的路由做过滤 示例1


在R2上部署filter-policy export,将其通告给R3的RIP路由进行过滤,只把192.168.3.0/24路由过滤掉,其他路有放行。

完成部署后R2的路由表里面拥有完整的路由信息,而R3将无法通告RIP学习到192.168.3.0/24路由,因为已经被R2过滤了。

出的方向影响别人,入的方向影响自己,看你是让别人收不到还是让自己收不到。

在方向的后面也可以选择往哪个接口出去,对哪个接口向外发的路由做过滤,如果不加接口就是对所有的接口生效,如果加了只对这特定的接口所发送的路由做过滤。

R1的配置(含接口IP):

<Huawei>sys
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0]q
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]undo summary
[R1-rip-1]net 192.168.12.0
[R1-rip-1]q
[R1]int loopback 1
[R1-LoopBack1]ip add 192.168.1.1 24
[R1-LoopBack1]q
[R1]int loop 2
[R1-LoopBack2]ip add 192.168.2.1 24
[R1-LoopBack2]q
[R1]int loop 3
[R1-LoopBack3]ip add 192.168.3.1 24
[R1-LoopBack3]q
[R1]rip 1
[R1-rip-1]network 192.168.1.0
[R1-rip-1]network 192.168.2.0
[R1-rip-1]network 192.168.3.0

R2的配置(含接口IP):

[Huawei]sys R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.23.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]undo summary
[R2-rip-1]net 192.168.12.0
[R2-rip-1]net 192.168.23.0
[R2-rip-1]q在没有配置以下命令时,R3的路由表是有4条路由的
[R2]ip ip-prefix hello deny 192.168.3.0 24      #把这条路由过滤掉
[R2]ip ip-prefix hello permit 0.0.0.0 0 less-equal 32       #其他路由放行
[R2]rip 1
[R2-rip-1]filter-policy ip-prefix hello export GigabitEthernet 0/0/1
#因为是要在R2上配置去对R3来生效就是export方向,g0/0/1也就是连接R3的接口,如果后面不跟接口意味着所有接口生效。

R3的配置(含接口IP):

<Huawei>sys
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.23.3 24
[R3-GigabitEthernet0/0/0]q
[R3]rip 1
[R3-rip-1]ver 2
[R3-rip-1]undo summ
[R3-rip-1]net 192.168.23.0

对RIP发送的路由做过滤 示例2


也是filter-policy也是应用在出方向,但是场景有所不同,第一个示例这三个直连网段直接在R1用network命令发布的,但现在直接把这三条路由以外部形式引入RIP域中,这时搭配filter-policy对引入到RIP的外部路由做过滤。所以是在AS边界也就是RIP域边界路由器上做过滤的行为,这台路由器要把外部路由注入到RIP,如果不做过滤,意味着R1将所有的外部路由注入到RIP中,然后向RIP域通告,这时我们希望注入部分路由,这时就可以用到filter-policy来进行过滤。在过滤时注意filter-policy命令,前面跟上个示例一样,最后跟了一个direct关键字,除了direct还有ospf、rip、bgp、static等,这其实是指定了路由类型,因为这个路由器是把外部路由注入到RIP中,让RIP向外通告,这时我们希望在通告时做过滤,我们可以关联外部路由的类型,比如说如果我指定的是direct,意思就是当R1把直连的路由注入到RIP,而且向外通告我来做一个filter-policy过滤,如果把direct改成ospf,意思就是当R1把OSPF的路由注入到RIP之后,向RIP域通告时我来做一个filter-policy过滤。

[R2] ip ip-prefix 1 deny 192.168.3.0 24
[R2] ip ip-prefix 1 permit 0.0.0.0 0 less-equal 32
[R2] rip
[R2-rip-1] filter-policy ip-prefix 1 export direct

对RIP接收到路由做过滤


这个例子对RIP所接收的路由来做过滤,正常情况下,R1通过RIP学习到3条RIP路由(1.0,2.0,3.0),R3也是通告RIP学习到4条路由(1.0,2.0,3.0,12.0),现在我们希望在R2上来做过滤,让他自己学不到3.0路由,可以以部署filter-policy,import方向,就是当别人把RIP路由通告给我时,缺省情况下我是接收的,但是我可以在接收前设置一个关卡,只放特定路由进来,注意事项,需求时不希望R2学习到3.0路由,所以我们在IP前缀列表是deny语句,而允许其他所有,这时我在R2上应用这个IP前缀列表,它产生的结果是R2自己的路由表中3.0没有了,同时要注意由于距离矢量协议把自己的路由表通告给其他直连路由器,因此R2自己的路由表没有3.0,他就不会向R3通告3.0路由,所以filter-policy对R2自己以及下游所有路由器产生影响。

[R2] ip ip-prefix 1 deny 192.168.3.0 24
[R2] ip ip-prefix 1 permit 0.0.0.0 0 less-equal 32
[R2] rip
[R2-rip-1] filter-policy ip-prefix 1 import [GigabitEthernet0/0/0]
Display IP ip-prefix

对OSPF接收到路由做过滤 示例1


R1,R2,R3处于同一个OSPF区域当中,现在我们在R1上通告192.168.3.0/24路由,R2,R3缺省情况可以学习到,但我们希望让R2路由表中不要出现192.168.3.0/24路由,也就是R2要过滤掉192.168.3.0/24路由。

Filter-policy只能对路由做过滤,没办法对LSA做过滤,对于R2来讲先收到了R1所产生的type1类LSA,1类LSA当中就有描述R1直连接口状态,包括网段信息等,R2根据LSA收集放入LSDB里面,在通过LSA来运行相应的算法计算,然后把得到路由装载到路由表里,注意所谓import方向的filter-policy产生的作用在计算出路由的环节,也就是说R2已经收到了相应LSA,根据LSA计算得出路由并且把路由装载到路由表之前被filter-policy过滤了,所以在R2上是看不到192.168.3.0/24路由的。这个动作对R3没有影响,因为R2的LSDB已经有type1LSA,他会把LSA泛洪给R3,所以R3的LSDB也能够学习到这个LSA,而且他自己也能产生路由并装载到路由表,所以R3的路由表是有192.168.3.0/24的路由。

R1的配置(含接口IP):

<Huawei>sys
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24
[R1-GigabitEthernet0/0/0]q
[R1]int loopback 1
*[R1-LoopBack1]ip add 192.168.1.1 24
*[R1-LoopBack1]ospf network-type broadcast      #为了让这个子网的路由信息在路由表中看到真实的掩码,如果不加,其他路由器学到这条路由就会是32位的主机路由。
[R1-LoopBack1]q
[R1]int loopback 2
*[R1-LoopBack2]ip add 192.168.2.1 24
*[R1-LoopBack2]ospf network-type broadcast
[R1-LoopBack2]q
[R1]int loopback 3
*[R1-LoopBack3]ip add 192.168.3.1 24
*[R1-LoopBack3]ospf network-type broadcast
[R1-LoopBack3]q
[R1]ospf 1 ro 1.1.1.1
[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 192.168.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 192.168.2.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 192.168.3.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 192.168.12.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]quit

R2的配置(含接口IP):

<Huawei>sys
[Huawei]sys R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip ad 192.168.23.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]ospf 1 ro 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 192.168.23.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit[R2]ip ip-prefix hcie deny 192.168.3.0 24       #定义IP前缀列表
[R2]ip ip-prefix hcie permit 0.0.0.0 0 less-equal 32        #放行其他路由
[R2]ospf 1 ro 2.2.2.2
[R2-ospf-1]filter-policy ip-prefix hcie import      #关联
#在OSPF去应用filter-policy如果是import方向,后面是不能跟接口

R3的配置(含接口IP):

<Huawei>sys
[Huawei]sys R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.23.3 24
[R3-GigabitEthernet0/0/0]quit
[R3]ospf 1 ro 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]networ 192.168.23.3 0.0.0.0



我们发现R2的路由表已经没有了192.168.3.0/24路由,但是R2的下联路由器也就是R3,他路由表里面还是有192.168.3.0/24的路由,这是为什么,因为R1所产生的类型1的LSA已经被R3收到了,所以就可以根据LSA所包含的信息来计算192.168.3.0路由,这就是在R2上应用了import方向的filter-policy它自己没有路由,而R3还有,这是因为filter-policy只能对路由信息产生作用。

对OSPF接收到路由做过滤 示例2


配置跟上面的一样,但是场景有所不同,不同在区域的划分,上面的示例所有路由器均在同一个区域,而现在是分了两个区域,分了两个区域有什么变化,OSPF其实是有很多种LSA的类型,用来描述各种场景下OSPF链路状态信息,1类LSA所有路由器都会产生,用来描述直连接口状态,像刚才场景所有路由器在用一个区域,每台路由器向外泛洪1类LSA,大家都会收到其他路由器泛洪的1类LSA,1类LSA描述的就是直连接口,IP,网段信息,对端路由器的状态等,所有路由器根据过1类LSA计算区域内部的路由,需要注意的是1类LSA只在area内部泛洪不会泛洪到区域外,所以第二示例,变化的是在整个OSPF网络中有2个区域,这时R1所产生的1类LSA只在区域0内泛洪,R3所产生的1类LSA只在区域1内泛洪,换句话说就是R3是不可能收到R1产生的1类LSA,那么它是怎么学习到R1一侧的路由呢,首先R1产生的1类LSA能够被R2收到,R2的话根据区域1内部泛洪的1类LSA就能够计算出区域内部的路由,然后R2自己在掌握了区域0内部的路由,R2会把这些路由以3类LSA描述注入到区域1,就是R2掌握了区域0内部的路由信息后,会为区域1描述这些区域0的路由,注意是为area1描述area0,描述的内容就是area0的网段信息,使用type-3 lsa描述。这时,同样的配置,运行在R2的OSPF里边,产生的结果是R2的路由不会再有192.168.3.0/24路由,同时R3路由表当中这条路由也会被过滤掉,这是因为在华为数通产品,OSPF的操作是手续爱你R2得到区域0内部的路由后,会为area1注入到type-1 lsa描述它所计算出来的区域0内的路由,我们把这个路由称为区域间路由,对于R2来说area0是区域内部的路由,但是对于R3来说这些路由就是区域间的路由,如果R2的路由表当中192.168.3.0/24路由被过滤掉后,他就不会去向area1去注入描述192.168.3.0/24的type-3 lsa,既然没有lsa,R3就没办法计算这条区域之间的路由,这就是根本原因。所以并不是说filter-policy过滤掉了LSA,而是filter-policy把R2原本应该接收的区域内部路由过滤掉了,导致它不向area1内去产生type-3 lsa描述那条路由,最终导致R3无法学习到192.168.3.0/24路由。

[R2] ip ip-prefix 1 deny 192.168.3.0 24
[R2] ip ip-prefix 1 permit 0.0.0.0 0 less-equal 32
[R2] ospf 1
[R2-ospf-1] filter-policy ip-prefix 1 import

Filter-policy工具理论与实践相关推荐

  1. 大数据理论与实践6 分布式ETL工具Sqoop

    ETL是指数据收集层,指的是数据抽取(Extract).转换(Transform).加载(Load),在真正的大数据工作中,很大的工作量都在做这一块的内容. Sqoop简介 只要用于在Hadoop和关 ...

  2. 《图形着色器的理论与实践(第2版)》翻译——第11章:着色器和图像处理(1)(Image Manipulation and Shaders)

    本书是图形学编程的不错读物,通过浅显易懂,理论结合实践的方式介绍着色器的使用,我在翻译的过程中尽量保持原文的段落和含义,会删除比较无关的内容. 专有词汇会附加英文原词,用标签的形式表示,如 着色器(s ...

  3. WAIC 2021 | 百度量子计算段润尧:从理论到实践谈量子人工智能

    在 WAIC 2021 AI 开发者论坛上,百度研究院量子计算研究所所长段润尧发表主题演讲<量子人工智能:从理论到实践>.在演讲中,段润尧讲述了量子计算的理论基础,对量子人工智能的发展现状 ...

  4. Java 理论与实践: 流行的原子——新原子类是 java.util.concurrent 的隐藏精华(转载)...

    简介: 在 JDK 5.0 之前,如果不使用本机代码,就不能用 Java 语言编写无等待.无锁定的算法.在 java.util.concurrent 中添加原子变量类之后,这种情况发生了变化.请跟随并 ...

  5. 视频编解码的理论和实践2:Ffmpeg视频编解码

    近几年,视频编解码技术在理论及应用方面都取得了重大的进展,越来越多的人想要了解编解码技术.因此,网易云信研发工程师为大家进行了归纳梳理,从理论及实践两个方面简单介绍视频编解码技术. 相关阅读推荐 &l ...

  6. delphi usb 读写_写作论语 | 崔嵘:写我所读——国外整本书阅读中读写结合的理论与实践(上)...

    崔嵘简介 崔嵘,博士,首都师范大学初等教育学院副教授.硕士研究生导师, 澳大利亚弗林德斯大学教育学院客座副教授,美国明尼苏达大学访问学者,北京市语文现代化研究会秘书长.全国名师工作室联盟学术委员会学术 ...

  7. 高盛发布区块链报告:从理论到实践(中文版)

    投资组合经理之摘要 现在硅谷和华尔街都为了区块链着迷,逐渐忘记了作为其技术源头的比特币.但对其潜在应用的讨论仍十分抽象和深奥.焦点在于使用分布式账本建立去中心化市场,并削弱现有中间商的控制权. 但区块 ...

  8. (转)光照图的理论和实践

    转自:http://www.cnblogs.com/minggoddess/archive/2012/12/03/2800133.html 光照图的理论和实践 这是我翻译的一篇文章,不知道哪年翻译的, ...

  9. [转]Android 常见安全漏洞修复理论与实践

    前言 前段时间公司对应用在爱加密上进行了安全扫描,本文将基于爱加密的漏洞分析报告,针对部分内容,介绍理论修复实践 最小化特权准则概念介绍 最小化特权准则,即指组件只能供自身应用调用,尽可能禁止其他应用 ...

最新文章

  1. python 大数据学习 遇到的问题,及解决方法。
  2. map-reduce的八个流程
  3. DCMTK:DSRDocument类的测试程序
  4. 2021Golang技术基础知识及学习路线图
  5. cout输出数组_让程序从1开始一直执行++操作,10秒钟能输出最大的数是多少
  6. 配置淘宝Maven镜像仓库
  7. iPhone7无服务问题解决方案-越狱绕过手机激活
  8. 符号表工具addr2line
  9. js从服务器获取word文档,javascript - 使用Office.js API将Word文档(.docx)保存到后端服务器 - 堆栈内存溢出...
  10. 随笔3:有调节的中介示例之 Model 1
  11. vue中给字段base 64加密
  12. 健康的生活——导言篇
  13. centos6.5kvm虚拟化技术
  14. 【傻瓜式教程】Windows下安装Hive MySQL版【附安装Hadoop教程】全网最详细的图文教程
  15. 文章解读 -- Self-Supervised Pillar Motion Learning for Autonomous Driving
  16. 游客模式android,Android之游客登录模式
  17. 【Android】获取手机上所有电话卡的运营商和信号强度
  18. c++ ofstream write 写入失败
  19. HD2 update NODO
  20. 上门洗车小程序软件开发所需要的功能有哪些呢?

热门文章

  1. 史上最强C语言教程----位段
  2. 猿创征文|瑞吉外卖——移动端_订单明细
  3. c语言程序中如何加密密码,在C源代码中加密密码
  4. CTF学习之MISC之图片隐写与文档隐写
  5. graphviz 画决策树_决策树算法实战篇
  6. 详解研发企业内部关注两大核心:专利申请和专利侵权分析
  7. 1020【编程入门】猴子吃桃的问题
  8. 会员通、服务通、商品通、营销通,全域大数据解决方案有秘诀
  9. 达梦DM8数据启用操作系统验证登录
  10. Revit开发 - 选择实体(PickObject)