ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用( 二 )


ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

文章插图
 
规则编号
•规则编号和步长的概念:
?规则编号:每条规则都有一个相应的编号 , 称为规则编号 , 用来标识ACL规则 。可以自定义 , 也可以系统自动分配 。
?步长:系统自动为ACL规则分配编号时 , 每个相邻规则编号之间会有一个差值 , 这个差值称为“步长” 。缺省步长为5 , 所以规则编号就是5/10/15…以此类推 。
?如果手工指定了一条规则 , 但未指定规则编号 , 系统就会使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号 。
?步长可以调整 , 如果将步长改为2 , 系统则会自动从当前步长值开始重新排列规则编号 , 规则编号就变成2、4、6… 。
•那步长的作用是什么?直接rule 1/2/3/4…为什么不可以?
?先来看一个小题目:如果希望增加一条规则 , 该如何处理?
?可以在rule 10和rule 15之间 , 手工加入一条rule 11 。
?因此 , 设置一定长度的步长的作用 , 是方便后续在旧规则之间插入新的规则 。
ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

文章插图
 
规则编号与步长
•规则编号(Rule ID):
一个ACL中的每一条规则都有一个相应的编号 。
•步长(Step):
步长是系统自动为ACL规则分配编号时 , 每个相邻规则编号之间的差值 , 缺省值为5 。步长的作用是为了方便后续在旧规则之间 , 插入新的规则 。
•Rule ID分配规则:
系统为ACL中首条未手工指定编号的规则分配编号时 , 使用步长值(例如步长=5 , 首条规则编号为5)作为该规则的起始编号;为后续规则分配编号时 , 则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号 。
通配符 (1)
•当进行IP地址匹配的时候 , 后面会跟着32位掩码位 , 这32位称为通配符 。
•通配符 , 也是点分十进制格式 , 换算成二进制后 , “0”表示“匹配” , “1”表示“不关心” 。
•具体看下这2条规则:
?rule 5: 拒绝源IP地址为10.1.1.1报文通过——因为通配符为全0 , 所以每一位都要严格匹配 , 因此匹配的是主机IP地址10.1.1.1;
?rule 15:允许源IP地址为10.1.1.0/24网段地址的报文通过——因为通配符:0.0.0.11111111 , 后8位为1 , 表示不关心 , 因此10.1.1.xxxxxxxx 的后8位可以为任意值 , 所以匹配的是10.1.1.0/24网段 。
•例子:如果要精确匹配192.168.1.1/24这个IP地址对应的网段地址 , 通配符是多少?
?可以得出:网络位需要严格匹配 , 主机位无所谓 , 因此通配符为“0.0.0.255” 。
ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

文章插图
 
匹配规则:
“0”表示“匹配”;“1”表示“随机分配”
ACL原理和作用,ACL类型和特点,ACL匹配和通配符使用

文章插图
 
通配符 (Wildcard)
•通配符是一个32比特长度的数值 , 用于指示IP地址中 , 哪些比特位需要严格匹配 , 哪些比特位无需匹配 。
•通配符通常采用类似网络掩码的点分十进制形式表示 , 但是含义却与网络掩码完全不同 。
通配符 (2)
•如果想匹配192.168.1.0/24网段中的奇数IP地址 , 通配符该怎么写呢?
?我们先来看一看 , 奇数IP地址都有哪些:192.168.1.1、192.168.1.5、192.168.1.11……
?后八位写成二进制:192.168.1.00000001、192.168.1.00000101、192.168.1.00001011……
?可以看出共同点:最后8位的高7位是任意值 , 最低位固定为1 , 因此答案是:192.168.1.1 0.0.0.254(0.0.0.11111110)
•这就得出了通配符的一个特点:通配符中的1或者0是可以不连续的 。
•还有两个特殊的通配符:
?当通配符全为0来匹配IP地址时 , 表示精确匹配某个IP地址;
?当通配符全为1来匹配0.0.0.0地址时 , 表示匹配了所有IP地址 。


推荐阅读