【华为】路由过滤工具

目录

1、匹配感兴趣流量

1.1  ACL

1.2 IP-Prefix List

2、路由策略

2.1 Filter-Policy

2.2 Route-Policy

3、实验配置


在真实的企业网络中,可能会遇到各种各样的需求,这就要我们对网路中的流量进行控制,其中会用到一些工具,这篇文章总结一下华为设备的路由过滤工具。对流量进行控制的一般思路是:首先使用工具对感兴趣流量进行匹配抓取,其次再对匹配抓取的流量进行策略。

1、匹配感兴趣流量

1.1  ACL

访问控制列表ACL(Access Control List)是由permit或deny语句组成的一系列有顺序规则的集合,它通过匹配报文的信息实现对报文的分类。值的注意的是,ACL中的我们叫做通配符,0的部分必须一致,1的部分可为0可为1;并且0和1可以不连续。

ACL的分类:
  • 基本ACL:主要基于源地址、分片标记和时间段信息对数据包进行分类定义,编号范围为2000-2999。
  • 高级ACL:可以基于源地址、目的地址、源端口号、目的端口号、协议类型、优先级、时间段等信息对数据包进行更为细致的分类定义,编号范围为3000-3999。
  • 二层ACL:主要基于源MAC地址、目的MAC地址和报文类型等信息对数据包进行分类定义,编号范围为4000-4999。
  • 用户自定义ACL:主要根据用户自定义的规则对数据报文做出相应的处理,编号范围为5000-5999。

一个ACL可以由多条 “ deny | permit ” 语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则继续匹配下一条。一 旦找到一条匹配的规则,就会执行规则中定义的动作,且不再继续与后续规则进行匹配;如果找不到匹配的规则,则设备会对报文直接进行转发。

需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。

问题:ACL可以灵活的匹配IP地址的前缀,但无法匹配掩码长度。(因为路由表可能接收到的是网段信息,所以可能会存在网络位全0的情况,这种情况下,ACL就不能精确匹配了)这就引出了我们的下一个工具:地址前缀列表

1.2 IP-Prefix List

地址前缀列表即IP-Prefix List。可以通过地址前缀列表,将与所定义的前缀过滤列表相匹配的路由,根据定义的匹配模式进行过滤,以满足使用者的需要。IP-Prefix List能够同时匹配IP地址前缀及掩码长度;并且它只能用于路由信息的过滤,不能由于IP 报文的过滤。

前缀列表的组成及匹配规则:

  1. 前缀过滤列表由IP地址和掩码组成,IP地址可以是网段地址或者主机地址,掩码长度的配置范围为0~32。
  2. IP-Prefix List中的每一条IP-Prefix都有一个序列号index,匹配的时候将根据序列号从小到大进行匹配。
  3. 如果不配置IP-Prefix的index,那么对应的index在上次配置的同名IP-Prefix的index 的基础上,以步长为10进行增长。如果配置的IP-Prefix的名字与index都和已经配置 了的一项IP-Prefix List的相同,仅仅只是匹配的内容不同,则该IP-Prefix List将覆盖原有的IP-Prefix List。
  4. 当所有前缀过滤列表均未匹配时,缺省情况下,存在最后一条默认匹配模式为deny。当引用的前缀过滤列表不存在时,则默认匹配模式为permit

前缀掩码长度范围:

前缀过滤列表可以进行精确匹配或者在一定掩码长度范围内匹配,并通过配置关键字 greater-equal和less-equal来指定待匹配的前缀掩码长度范围。如果没有配置关键字greater-equal或less-equal,前缀过滤列表会进行精确匹配,即只匹配掩码长度为与前缀过滤列表掩码长度相同的IP地址路由;如果只配置了关键字greater-equal,则待匹配的掩码长度范围为从greater-equal指定值到32位的长度;如果只匹配了关键字less-equal,则待匹配的掩码长度范围为从指定的掩码到关键字less-equal的指定值。

2、路由策略

当匹配到感兴趣流量后,就要对流量进行一些策略,这里也有两种工具,分别是Filter-Policy和Route-Policy。

2.1 Filter-Policy

Filter-Policy只能够对接收或者发布的路由进行过滤,可应用于ISIS、OSPF、BGP的协议。

应用各协议中的Filter-Policy工具可通过引用ACL或地址前缀列表,对接收、发布和引入的路由进行过滤。

对于距离矢量协议和链路状态协议,Filter-Policy工具的操作过程是不同的:

(1)距离矢量型协议是基于路由表生成路由的,因此过滤器会影响从邻居接收到的路由和向邻居发布的路由。

(2)链路状态路由协议是基于链路状态数据库来生成路由的,且路由信息隐藏在链路状态LSA中,但Filter-Policy不能对发布和接收的LSA进行过滤,故Filter-Policy不影响链路状态通告或链路状态数据库的完整性以及协议路由表,而只会影响本地路由表,且只有通过过滤的路由才被添加到路由表中,没有通过过滤的路由不会被添加进路由表。

(3)不同协议应用filter-policy export命令对待发布路由的影响范围不同:

  • 对于距离矢量协议,会对引入的路由信息、本协议发现的路由信息进行过滤。

  • 对于链路状态协议,只对引入的路由信息进行过滤。

2.2 Route-Policy

Route-Policy是一种能非常强大的路由策略工具,它可以灵活的与ACL、IP-Prefix List、AS-Path Filter等其他工具一起配合使用。

 Route-Policy有若干个node构成,node之间是“或”的关系。且每个node下可以有若干个if-match和apply字句,if-match之间是“与”的关系。

Route-Policy的每个node都有相应的permit模式或deny模式。如果是permit模式,则当路由项满足该node的所有if-match子句时,就被允许通过该node的过滤并执行该node的apply子句,且不再进入下一个node;如果路由项没有满足该node的所有 if-match子句, 则会进入下一个node继续进行过滤。如果是deny模式,则当路由项满足该node的所有if-match子句时,就被拒绝通过该node的过滤,这时apply子句不会被执行,并且不进入下 一个node;否则就进入下一个node继续进行过滤。

示例:

  • Pref1用来匹配5.5.5.5/32或1.1.2.0/24,它们将被route-policy RP的node 10过滤掉(deny),所以Table-2中见不到5.5.5.5/32和1.1.2.0/24。
  • Pref2用来过滤6.6.6.6/32(deny),所以尽管route-policy RP的node 20是permit, 6.6.6.6/32仍然会被过滤掉。因此,Table-2中见不到6.6.6.6/32。
  • route-policy RP的node 30定义了两个if-match语句,分别针对ACL 2001和ACL 2002。 匹配ACL 2001的路由有1.1.3.0/24(下一跳为34.34.34.2)、1.1.3.0/24(下一跳为 13.13.13.1)、1.1.3.0/25(下一跳为34.34.34.2 )、1.1.3.0/25(下一跳为13.13.13.1), 同时又匹配ACL 2002的路由有1.1.3.0/24(下一跳为13.13.13.1)和1.1.3.0/25(下一跳 为13.13.13.1)。于是,1.1.3.0/24(下一跳为13.13.13.1)和1.1.3.0/25(下一跳为13.13.13.1)的cost被修改为21。
  • 1.1.3.0/24(下一跳为34.34.34.2)和1.1.3.0/25(下一跳为34.34.34.2)继续尝试通过route-policy RP的node 40。由于1.1.3.0 /25满足Pref3,所以1.1.3.0/25(下一跳为 34.34.34.2)的cost被修改为11。
  • 最后,1.1.3.0/24(下一跳为34.34.34.2)通过了route-policy RP的node 50。

3、实验配置

地址及配置要求如图所示,注意:小号路由器地址为.1,大号路由器地址为.2。这里我们使用OSPF协议使他们互通

地址及OSPF的配置:

R1:
interface GigabitEthernet0/0/0
 ip address 13.1.1.1 255.255.255.0 
interface LoopBack0
 ip address 10.1.4.1 255.255.255.0 
#
ospf 1 
 area 0.0.0.0 
  network 10.1.4.0 0.0.0.255 
  network 13.1.1.0 0.0.0.255
R2:
interface GigabitEthernet0/0/0
 ip address 23.1.1.1 255.255.255.0 
interface LoopBack0
 ip address 10.1.5.1 255.255.255.0 
#
ospf 1 
 area 0.0.0.0 
  network 10.1.5.0 0.0.0.255 
  network 23.1.1.0 0.0.0.255
R3:
interface GigabitEthernet0/0/0
 ip address 13.1.1.2 255.255.255.0 
interface GigabitEthernet0/0/1
 ip address 23.1.1.2 255.255.255.0 
interface GigabitEthernet0/0/2
 ip address 34.1.1.1 255.255.255.0
#
ospf 1 
 area 0.0.0.0 
  network 13.1.1.0 0.0.0.255 
  network 23.1.1.0 0.0.0.255 
  network 34.1.1.0 0.0.0.255 
R4:
interface GigabitEthernet0/0/0
 ip address 34.1.1.2 255.255.255.0 
interface LoopBack0
 ip address 10.1.1.1 255.255.255.0 
interface LoopBack1
 ip address 10.1.2.1 255.255.255.0 
interface LoopBack2
 ip address 10.1.3.1 255.255.255.0 
#
ospf 1 
 import-route direct
 area 0.0.0.0 
  network 34.1.1.0 0.0.0.255 

配置路由策略:

思路:根据要求市场部不能访问,财务部和研发部,公司总部不能访问研发部,所以我们可以在R1上做策略在引入时将财务部流量拒绝掉;而研发部我们在R4路由器上发布路由时将研发部的的网段排除在外即可,即R3路由器学习不到研发部的网段。

R1:
#
acl number 2000  
 rule 5 deny source 10.1.1.0 0.0.0.255 
 rule 10 permit any
#
ospf 1 
 filter-policy 2000 import
R4:
#
ip ip-prefix ab index 10 permit 10.1.1.0 24
ip ip-prefix ab index 20 permit 10.1.3.0 24
#
ospf 1 
 filter-policy ip-prefix ab export direct

R4上还可以使用 Route-Policy来实现:

acl 2000
 rule 0 permit source 10.1.1.0 0.0.0.255
 rule 5 permit source 10.1.3.0 0.0.0.255
route-policy huawei-control permit node 10
 if-match acl 2000
ospf 1
 import-route direct route-policy huawei-control

猜你喜欢

转载自blog.csdn.net/weixin_43997530/article/details/108916660
今日推荐