1、总结

 能否匹配路由匹配工具/匹配规则路由匹配是否精确能否做数据包过滤目的
ip-prefix路由前缀+长度范围+路由长度(可选)   精确
能同时匹配前缀号和前缀长度 ,解决ACL不能区分相同前缀、不同掩码的路由的问题
不能 诞生的目的就是精确匹配路由
acl只有基本ACL可以,但是高级acl不能匹配路由通 配 符(反掩码): 只能范围匹配 不精确
对于前缀相同而掩码不同的路由无法匹配
最初是为了做数据包过滤


ACL和地址前缀列表都可以对路由进行筛选,ACL匹配路由时只能使用“通配符”工具匹配路由的网络号,但无法匹配掩码,也就是前缀长度

而地址前缀列表比ACL更为灵活和精确,可以匹配路由的网络号及掩码,还可以匹配路由长度范围,增强了路由匹配的精确度。 

2、访问控制列表(ACL)匹配路由

访问控制列表ACL(Access Control List)是一系列过滤规则的集合,可以称之为规则组。只有基本acl(Basic ACL)可以匹配路由(基本acl 条目为 2000-2999)。

高级acl不能用于路由匹配,因为高级acl可以匹配 Protocol(tcp、udp、icmp等),高级acl用于访问策略控制。

ACL匹配路由时只能使用“通配符”工具匹配路由的网络号,但无法匹配掩码长度


2.1、什么是通配符?

 
通配符(反掩码):反掩码是一个32比特位的数字字符串,格式与IP地址相同,用于指示IP地址中的哪些位将被检查。和判断条件中的IP地址一起确定一个地址范围,如果数据的IP地址属于这个范围,就认为数据符合判断条件,反之则不然。

反掩码各比特位中,0表示“检查相应的位”,1表示“不检查相应的位”。

  如:rule permit source 192.168.100.0 0.0.0.255。使用的反掩码匹配,依据反掩码的0位严格匹配,1位不需要匹配原则,192.168.100这3位严格匹配。最终匹配的IP地址为 192.168.100.0/24所有IP地址及网段(含/24的所有子网段,以及单个IP)



 

关于反掩码几个相关测试题

1.请用一个IP地址和一个通配符表示合法主机地址192.168.100.17 / 32

2.请用一个IP地址和一个通配符表示网络172.160.0.0 / 16

3.请用一个IP地址和一个通配符表示子网192.168.10.8 / 29

4.请用IP地址和通配符表示地址范围192.168.1.16至192.168.1.28

5.反掩码255.255.255.255表示什么?

6.反掩码0.0.0.0表示什么?


反掩码测试题答案

1. 192.168.100.17 0.0.0.0

2.172.160.0.0 0.0.255.255

3. 192.168.10.8 0.0.0.7

4. 192.168.1.16 0.0.0.15

5.反掩码255.255.255.255表示所有IP地址,因为全为1说明不检查所有32比特位,这可以用any取代。反掩码0.0.0.0表示所有32位都要进行匹配。

6.反掩码与IP子网掩码工作原理不同。子网掩码中,数字1和0用来决定是网络、子网,还是相应的主机的IP地址。

3、地址前缀列表(IP-Prefix List)

  地址前缀列表是一种包含一组路由信息过滤规则的过滤器,用户可以在规则中定义前缀和掩码范围,用于匹配路由。

   地址前缀列表进行匹配的依据有两个:掩码长度和掩码范围。

  • 掩码长度:地址前缀列表匹配的对象是IP地址前缀,前缀由IP地址和掩码长度共同定义。例如,10.1.1.1/16这条路由,掩码长度是16,这个地址的有效前缀为16位,即10.1.0.0。
  • 掩码范围:对于前缀相同,掩码不同的路由,可以指定待匹配的前缀掩码长度范围来实现精确匹配或者在一定掩码长度范围内匹配。

3.1、匹配顺序

  • 顺序匹配:按索引号从小到大顺序进行匹配。同一个地址前缀列表中的多条表项设置不同的索引号,可能会有不同的过滤结果,实际配置时需要注意。
  • 唯一匹配:待过滤路由只要与一个表项匹配,就不会再去尝试匹配其他表项。
  • 默认拒绝:默认所有未与任何一个表项匹配的路由都视为未通过地址前缀列表的过滤。因此在一个地址前缀列表中创建了一个或多个deny模式的表项后,需要创建一个表项来允许所有其他路由通过。

3.2、匹配参数:

参数

含义

ipv4-address

用于指定网络号。

mask-length

用于限定网络号的前多少位需严格匹配。

greater-equal greater-equal-value

表示掩码大于等于greater-equal-value

less-equal less-equal-value

表示掩码小于等于less-equal-value

当待过滤的路由已匹配当前表项的网络号时,掩码长度可以进行精确匹配或者在一定掩码长度范围内匹配。

  • 如果不配置greater-equalless-equal,则进行精确匹配,即只匹配掩码长度为mask-length的路由。
  • 如果只配置greater-equal,则匹配的掩码长度范围为大于[greater-equal-value]。
  • 如果只配置less-equal,则匹配的掩码长度范围为[mask-lengthless-equal-value]。
  • 如果同时配置greater-equalless-equal,则匹配的掩码长度范围为:                                                                                     [greater-equal-value≥ 匹配路由前缀范围≤ less-equal-value]。

 4、以下路由的ip-prefix和acl匹配区别

192.168.200.0/30
  192.168.200.4/30
 192.168.206.96/30
192.168.206.100/30
192.168.206.108/30
192.168.206.112/30

 4.1、使用ACL 2500来匹配


 rule 5 permit source 192.168.0.0 0.0.255.255

这会匹配以下路由

 4.2、使用IP prefix来匹配

ip ip-prefix test0712 index 10 permit 192.168.0.0 16

结果无任何路由匹配。

4.2.1如果修改ip-prefix为

  ip ip-prefix test0712 permit 192.168.0.0 16 greater-equal 30 less-equal 32

以上匹配解读:

   “test07”为名称

“permit 192.168.0.0 16”为路由范围。

“greater-equal 30 less-equal 32”为路由长度,表示匹配【30≥路由长度≤32】的路由

结果:路由匹配如下

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐