Filter-Policy原理和应用,Filter-Policy原理及应用解析

马肤

温馨提示:这篇文章已超过453天没有更新,请注意相关的内容是否还可用!

摘要:Filter-Policy原理是一种基于特定规则或算法的网络内容过滤机制。它通过识别、分析和筛选网络数据,以实现对不良、不适宜或不安全内容的过滤。Filter-Policy广泛应用于网络安全、社交媒体、网络教育等领域,旨在保护用户免受不良信息的侵害,维护网络环境的健康与安全。通过Filter-Policy的应用,可以有效减少网络欺诈、色情内容等不良信息的传播,提高网络使用的安全性和效率。

Filter-Policy介绍

filter-policy也是一个很常用的路由信息过滤工具,如图10-7所示,SwitchA、SwitchB、SwitchC之间运行某种路由协议,路由在各个设备之间传递,当需要根据实际需求过滤某些路由信息的时候可以使用filter-policy实现。

图10-7 filter-policy的应用场景

Filter-Policy原理和应用,Filter-Policy原理及应用解析 第1张

说明:

filter-policy只能过滤路由信息,无法过滤LSA,不能修改路由属性值。

Filter-Policy过滤路由信息的规则

由于距离矢量路由协议(例如RIP)和链路状态路由协议(例如OSPF)原理上的差异,filter-policy应用在这两种路由协议的时候过滤规则也有所不同。如表10-5所示,在讨论之前有必要回忆一下距离矢量路由协议和链路状态路由协议路由信息传递的区别。

表10-5 距离矢量路由协议和链路状态路由协议原理对比

路由类型

路由传递原理

距离矢量路由协议

各路由设备之间传递的是路由信息。这种路由信息对于报文来说相当于“路标”,设备依靠“路标”来指导报文转发,路标指向哪里报文就转发到哪里。

链路状态路由协议

各路由设备之间传递的是LSA信息。LSA信息的集合(LSDB)形成整个网络的拓扑结构,相当于一张地图,设备依靠“地图+最短路径算法”为报文找到最佳的转发路径。

filter-policy在距离矢量路由协议中的应用

图10-8 filter-policy在距离矢量路由协议中的应用
Filter-Policy原理和应用,Filter-Policy原理及应用解析 第2张

如图10-8所示,在距离矢量路由协议中,设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用filter-policy实现,出方向和入方向的生效位置如图10-8所示。如果要过滤掉上游设备到下游设备的路由,只需要在上游设备配置filter-policy export或者在下游设备上配置filter-policy import。

filter-policy在链路状态路由协议中的应用

图10-9 filter-policy在链路状态路由协议中的应用
Filter-Policy原理和应用,Filter-Policy原理及应用解析 第3张

如图10-9所示,在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计算出路由表。以OSPF为例,filter-policy生效规则如下:

  • filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤。
  • filter-policy export命令用来对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external-LSA)并发布出去。这样可以在引入外部路由时进行特定的过滤,防止形成路由环路。

    通过filter-policy对RIP发布的路由做过滤示例

    需求描述

    如图10-10所示,三台交换机通过RIP交互路由,在SwitchA的RIP进程中引入了三条静态路由(作为测试路由),用户要求在SwitchB上部署filter-policy export,将其通告给SwitchC的路由进行过滤,拒绝192.168.3.0/24这条路由,其他路由放行。

    图10-10 通过filter-policy对RIP发布的路由做过滤示例

    Filter-Policy原理和应用,Filter-Policy原理及应用解析 第4张

    配置方法

    1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

      [SwitchB] ip ip-prefix huawei index 10 deny 192.168.3.0 24       //拒绝这条
      [SwitchB] ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32    //允许所有
    2. 在SwitchB的RIP视图中,部署filter-policy export。

      [SwitchB] rip
      [SwitchB-rip-1] filter-policy ip-prefix huawei export Vlanif20

    结果验证

    做完上述配置以后,查看SwitchB和SwitchC的路由表如下:

    [SwitchB] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 9        Routes : 9        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
        192.168.1.0/24  RIP     100  1           D   192.168.10.1    Vlanif10
        192.168.2.0/24  RIP     100  1           D   192.168.10.1    Vlanif10
        192.168.3.0/24  RIP     100  1           D   192.168.10.1    Vlanif10
       192.168.10.0/24  Direct  0    0           D   192.168.10.2    Vlanif10
       192.168.10.2/32  Direct  0    0           D   127.0.0.1       Vlanif10
       192.168.20.0/24  Direct  0    0           D   192.168.20.1    Vlanif20
       192.168.20.1/32  Direct  0    0           D   127.0.0.1       Vlanif20
    [SwitchC] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 7        Routes : 7        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
        192.168.1.0/24  RIP     100  2           D   192.168.20.1    Vlanif20
        192.168.2.0/24  RIP     100  2           D   192.168.20.1    Vlanif20
       192.168.10.0/24  RIP     100  1           D   192.168.20.1    Vlanif20
       192.168.20.0/24  Direct  0    0           D   192.168.20.2    Vlanif20
       192.168.20.2/32  Direct  0    0           D   127.0.0.1       Vlanif20

    从上面的实验结果来看,在SwitchB上部署filter-policy export以后,SwitchB仍然拥有完整的路由表,而SwitchC已经不能通过RIP学习到192.168.3.0/24这条路由,因为这条路由在SwitchB上发布的时候已经被过滤掉。

    通过filter-policy对RIP接收的路由做过滤示例

    需求描述

    如图10-11所示,三台交换机通过RIP交互路由,在SwitchA的RIP进程中引入了三条静态路由(作为测试路由),用户要求在SwitchB上部署filter-policy import,把192.168.3.0/24这条路由拒绝,其他路由放行。

    图10-11 通过filter-policy对RIP接收的路由做过滤示例

    Filter-Policy原理和应用,Filter-Policy原理及应用解析 第5张

    配置方法

    1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

      [SwitchB] ip ip-prefix huawei index 10 deny 192.168.3.0 24      //拒绝这条
      [SwitchB] ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32   //允许所有
    2. 在SwitchB的RIP视图中,部署filter-policy import。

      [SwitchB] rip
      [SwitchB-rip-1] filter-policy ip-prefix huawei import Vlanif10

    结果验证

    做完上述配置以后,查看SwitchB和SwitchC的路由表如下:

    [SwitchB] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 8        Routes : 8        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
        192.168.1.0/24  RIP     100  1           D   192.168.10.1    Vlanif10
        192.168.2.0/24  RIP     100  1           D   192.168.10.1    Vlanif10
       192.168.10.0/24  Direct  0    0           D   192.168.10.2    Vlanif10
       192.168.10.2/32  Direct  0    0           D   127.0.0.1       Vlanif10
       192.168.20.0/24  Direct  0    0           D   192.168.20.1    Vlanif20
       192.168.20.1/32  Direct  0    0           D   127.0.0.1       Vlanif20
    [SwitchC] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 7        Routes : 7        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
        192.168.1.0/24  RIP     100  2           D   192.168.20.1    Vlanif20
        192.168.2.0/24  RIP     100  2           D   192.168.20.1    Vlanif20
       192.168.10.0/24  RIP     100  1           D   192.168.20.1    Vlanif20
       192.168.20.0/24  Direct  0    0           D   192.168.20.2    Vlanif20
       192.168.20.2/32  Direct  0    0           D   127.0.0.1       Vlanif20

    从上面的实验结果来看,在SwitchB上部署filter-policy import以后,SwitchB和SwitchC的路由表中都不存在192.168.3.0/24这条路由了。

    由于RIP是距离矢量路由协议,它是将自己的路由表通告给它的邻居交换机,当SwitchB的路由表中192.168.3.0/24这条路由被过滤以后,SwitchC也就无法再通过RIP学习到这条路由。也就是说,对于距离矢量路由协议,如果一台设备的路由表被进行了过滤,那么它会继续影响它下游的设备的路由表。

    说明:

    filter-policy export和filter-policy import命令在RIP进程下配置,如果基于接口或者协议对路由进行过滤,则一个接口或协议只能配置一个策略;在没有指定接口和协议的情况下,就认为是配置全局过滤策略,同样只能配置一个策略,如果重复配置,新的策略将覆盖之前的策略。

    通过filter-policy对OSPF接收的路由过滤(区域内)示例

    需求描述

    如图10-12所示,三台交换机同属于OSPF Area 0区域,SwitchA发布测试网段10.1.1.0/24,要求在SwitchB上部署filter-policy import,使得SwitchB的路由表中不允许出现10.1.1.0/24这条路由。

    图10-12 通过filter-policy对OSPF接收的路由过滤(区域内)示例
    Filter-Policy原理和应用,Filter-Policy原理及应用解析 第6张

    配置方法

    1. 在SwitchB上定义一个地址前缀列表,“抓取”符合条件的路由。

      [SwitchB] ip ip-prefix huawei index 10 deny 10.1.1.0 24           //拒绝这条
      [SwitchB] ip ip-prefix huawei index 20 permit 0.0.0.0 0 less-equal 32     //允许所有
    2. 在SwitchB的OSPF视图中,部署filter-policy import。

      [SwitchB] ospf
      [SwitchB-ospf-1] filter-policy ip-prefix huawei import

    结果验证

    做完上述配置以后,查看SwitchB和SwitchC的路由表如下:

    [SwitchB] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 6        Routes : 6        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  Direct  0    0           D   192.168.12.2    Vlanif12
       192.168.12.2/32  Direct  0    0           D   127.0.0.1       Vlanif12
       192.168.23.0/24  Direct  0    0           D   192.168.23.1    Vlanif23
       192.168.23.1/32  Direct  0    0           D   127.0.0.1       Vlanif23
    [SwitchC] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 6        Routes : 6        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
           10.1.1.0/24  OSPF    10   3           D   192.168.23.1    Vlanif23
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  OSPF    10   2           D   192.168.23.1    Vlanif23
       192.168.23.0/24  Direct  0    0           D   192.168.23.2    Vlanif23
       192.168.23.2/32  Direct  0    0           D   127.0.0.1       Vlanif23

    通过SwitchB和SwitchC的路由表可以看到,虽然在SwitchB上10.1.1.0/24这条路由已经被过滤掉,但是LSA信息会继续传递给SwitchC,所以SwitchC的路由表中继续存在10.1.1.0/24这条路由。这样的结果也验证了一开始在注意事项中给出的结论:在链路状态路由协议中,filter-policy只能过滤路由信息,不能过滤LSA信息。

    同时SwitchB和SwitchC的LSDB中仍然存在描述10.1.1.0/24这条路由的LSA信息,为了验证这一点,看一下SwitchB和SwitchC的LSA信息。

    [SwitchB] display ospf lsdb router
       OSPF Process 1 with Router ID 10.10.10.2
                  Area: 0.0.0.0
          Link State Database 
    ………
      Type      : Router
      Ls id     : 10.10.10.1
      Adv rtr   : 10.10.10.1  
      Ls age    : 139 
      Len       : 48 
      Options   :  E  
      seq#      : 80000005 
      chksum    : 0x41c4
      Link count: 2
       * Link ID: 10.1.1.0     
         Data   : 255.255.255.0 
         Link Type: StubNet      
         Metric : 1 
         Priority : Low
       * Link ID: 192.168.12.2 
         Data   : 192.168.12.1 
         Link Type: TransNet     
         Metric : 1
    [SwitchC] display ospf lsdb router
       OSPF Process 1 with Router ID 10.10.10.3
                 Area: 0.0.0.0
         Link State Database 
    …………
      Type      : Router
      Ls id     : 10.10.10.1
      Adv rtr   : 10.10.10.1  
      Ls age    : 81 
      Len       : 48 
      Options   :  E  
      seq#      : 80000005 
      chksum    : 0x41c4
      Link count: 2
       * Link ID: 10.1.1.0     
         Data   : 255.255.255.0 
         Link Type: StubNet      
         Metric : 1 
         Priority : Low
       * Link ID: 192.168.12.2 
         Data   : 192.168.12.1 
         Link Type: TransNet     
         Metric : 1
    

    可以看到SwitchB和SwitchC的LSDB中仍然存在描述10.1.1.0/24这条路由的LSA信息。

    通过filter-policy对OSPF接收的路由过滤(区域间)

    如图10-13所示,相对于上一个场景,这个场景的区别之处是划分了两个不同的区域,SwitchB和SwitchC之间传递的是Type3 LSA,这个Type3 LSA是SwitchB上根据区域间路由生成的。配置方法跟上一个场景一样,不再赘述,直接看一下实验结果。

    图10-13 通过filter-policy对OSPF接收的路由过滤(区域间)
    Filter-Policy原理和应用,Filter-Policy原理及应用解析 第7张

    在部署过滤策略之前先看一下SwitchB和SwitchC的路由表:

    [SwitchB] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 7        Routes : 7        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
           10.1.1.0/24  OSPF    10   2           D   192.168.12.1    Vlanif12
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  Direct  0    0           D   192.168.12.2    Vlanif12
       192.168.12.2/32  Direct  0    0           D   127.0.0.1       Vlanif12
       192.168.23.0/24  Direct  0    0           D   192.168.23.1    Vlanif23
       192.168.23.1/32  Direct  0    0           D   127.0.0.1       Vlanif23
    [SwitchC] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 6        Routes : 6        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
           10.1.1.0/24  OSPF    10   3           D   192.168.23.1    Vlanif23
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  OSPF    10   2           D   192.168.23.1    Vlanif23
       192.168.23.0/24  Direct  0    0           D   192.168.23.2    Vlanif23
       192.168.23.2/32  Direct  0    0           D   127.0.0.1       Vlanif23

    可以看到,在部署路由过滤策略之前,SwitchB和SwitchC的路由表中都有10.1.1.0/24这条路由。

    结果验证

    在SwitchB上部署filter-policy import以后,查看SwitchB和SwitchC的路由表,结果如下:

    [SwitchB] display  ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    -----------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 6        Routes : 6        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  Direct  0    0           D   192.168.12.2    Vlanif12
       192.168.12.2/32  Direct  0    0           D   127.0.0.1       Vlanif12
       192.168.23.0/24  Direct  0    0           D   192.168.23.1    Vlanif23
       192.168.23.1/32  Direct  0    0           D   127.0.0.1       Vlanif23
    [SwitchC] display ip routing-table
    Route Flags: R - relay, D - download to fib, T - to vpn-instance
    ------------------------------------------------------------------------------
    Routing Tables: Public
             Destinations : 5        Routes : 5        
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
          127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       192.168.12.0/24  OSPF    10   2           D   192.168.23.1    Vlanif23
       192.168.23.0/24  Direct  0    0           D   192.168.23.2    Vlanif23
       192.168.23.2/32  Direct  0    0           D   127.0.0.1       Vlanif23

    由于现在划分不同的区域,SwitchC上的10.1.1.0/24这条路由是由SwitchB根据自身学习的路由产生的Type3-LSA描述的,而SwitchB上的这条路由被过滤掉了,因此不能够再产生描述区域间路由的这个Type3-LSA,因此SwitchC上不会再学习到10.1.1.0/24这条路由。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码