用访问控制列表实现包过滤ISSUE1.0日期:杭州华三通信技术有限公司版权所有,未经授权不得使用与传播要增强网络安全性,网络设备需要具备控制某些访问或某些数据的能力。ACL包过滤是一种被广泛使用的网络安全技术。它使用ACL来实现数据识别,并决定是转发还是丢弃这些数据包。由ACL定义的报文匹配规则,还可以被其它需要对数据进行区分的场合引用。引入了解ACL定义及应用掌握ACL包过滤工作原理掌握ACL的分类及应用掌握ACL包过滤的配置掌握ACL包过滤的配置应用注意事项课程目标学习完本课程,您应该能够:ACL概述ACL包过滤原理ACL分类配置ACL包过滤ACL包过滤的注意事项目录概述ACL(AccessControlList,访问控制列表)是用来实现数据包识别功能的ACL可以应用于诸多方面包过滤防火墙功能NAT(NetworkAddressTranslation,网络地址转换)QoS(QualityofService,服务质量)的数据分类路由策略和过滤按需拨号概述(续)1.ACL(AccessControlList,访问控制列表)是用来实现流识别功能的。网络设备为了过滤报文,需要配置一系列的匹配条件对报文进行分类,这些条件可以是报文的源地址、目的地址、端口号等。2.当设备的端口接收到报文后,即根据当前端口上应用的ACL规则对报文的字段进行分析,在识别出特定的报文之后,根据预先设定的策略允许或禁止该报文通过。3.由ACL定义的报文匹配规则,可以被其它需要对流量进行区分的场合引用,如包过滤、QoS中流分类规则的定义等。ACL概述ACL包过滤原理ACL分类配置ACL包过滤ACL包过滤的注意事项目录的包过滤技术对进出的数据包逐个过滤,丢弃或允许通过ACL应用于接口上,每个接口的出入双向分别过滤仅当数据包经过一个接口时,才能被此接口的此方向的ACL过滤入方向过滤入方向过滤出方向过滤出方向过滤接口接口路由转发进程位通配符掩码和IP地址结合使用以描述一个地址范围通配符掩码和子网掩码相似,但含义不同0表示对应位须比较1表示对应位不比较和192.168.2.0/24ACL概述ACL包过滤原理ACL分类配置ACL包过滤ACL包过滤的注意事项目录的标识利用数字序号标识访问控制列表可以给访问控制列表指定名称,便于维护访问控制列表的分类数字序号的范围基本访问控制列表2000~2999扩展访问控制列表3000~3999基于二层的访问控制列表4000~4999用户自定义的访问控制列表5000~5999注:WLAN的访问控制列表范围100~199根据无线客户端的SSID制定匹配规则的标识(续)基本访问控制列表只根据报文的源IP地址信息制定规则接口接口从1.1.1.0/24来的数据包不能通过从2.2.2.0/28来的数据包可以通过DA=3.3.3.3SA=1.1.1.1DA=3.3.3.3SA=2.2.2.1分组分组高级访问控制列表根据报文的源IP地址、目的IP地址、IP承载的协议类型、协议特性等三、四层信息制定规则接口接口从1.1.1.0/24来,到3.3.3.1的TCP端口80去的数据包不能通过从1.1.1.0/24来,到2.2.2.1的TCP端口23去的数据包可以通过DA=3.3.3.1,SA=1.1.1.1TCP,DP=80,SP=2032DA=2.2.2.1,SA=1.1.1.1TCP,DP=23,SP=3176分组分组二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则用户自定义ACL可以根据任意位置的任意字串制定匹配规则报文的报文头、IP头等为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。ACL概述ACL包过滤原理ACL分类配置ACL包过滤ACL包过滤的注意事项目录包过滤配置任务启动包过滤防火墙功能,设置默认的过滤规则根据需要选择合适的ACL分类创建正确的规则设置匹配条件设置合适的动作(Permit/Deny)在路由器的接口上应用ACL,并指明过滤报文的方向(入站/出站)的匹配顺序IPv4ACL支持两种匹配顺序1.配置顺序:按照用户配置规则的先后顺序进行规则匹配2.自动排序:按照“深度优先”的顺序进行规则匹配的匹配顺序(续1)基本IPv4ACL的“深度优先”顺序判断原则如下:(1)先看规则中是否带VPN实例,带VPN实例的规则优先(2)再比较源IP地址范围,源IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先(3)如果源IP地址范围相同,则先配置的规则优先的匹配顺序(续2)高级IPv4ACL的“深度优先”顺序判断原则如下(1)先看规则中是否带VPN实例,带VPN实例的规则优先(2)再比较协议范围,指定了IP协议承载的协议类型的规则优先(3)如果协议范围相同,则比较源IP地址范围,源IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先(4)如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先(5)如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先(6)如果上述范围都相同,则先配置的规则优先的匹配顺序(续3)二层ACL的“深度优先”顺序判断原则如下(1)先比较源MAC地址范围,源MAC地址范围小(即掩码中“1”位的数量多)的规则优先;(2)如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(即掩码中“1”位的数量多)的规则优先;(3)如果源MAC地址范围、目的MAC地址范围相同,则先配置的规则优先。启动包过滤防火墙功能防火墙功能需要在路由器上启动后才能生效设置防火墙的默认过滤方式系统默认的默认过滤方式是permit[sysname]firewallenable[sysname]firewalldefault{permit|deny}[sysname]aclnumberacl-number配置基本ACL,并指定ACL序号基本IPv4ACL的序号取值范围为2000~2999[sysname-acl-basic-2000]rule[rule-id]{deny|permit}[fragment|logging|source{sour-addrsour-wildcard|any}|time-rangetime-name]定义规则制定要匹配的源IP地址范围指定动作是permit或deny步长1.步长的含义①步长的含义是:设备自动为ACL规则分配编号的时候,每个相邻规则编号之间的差值。例如,如果将步长设定为5,规则编号分配是按照0、5、10、15……这样的规律分配的。缺省情况下,步长为5。②当步长改变后,ACL中的规则编号会自动从0开始重新排列。例如,原来规则编号为5、10、15、20,当通过命令把步长改为2后,则规则编号变成0、2、4、6。③当使用命令将步长恢复为缺省值后,设备将立刻按照缺省步长调整ACL规则的编号。例如:ACL3001,步长为2,下面有4个规则,编号为0、2、4、6。如果此时使用命令将步长恢复为缺省值,则ACL规则编号变成0、5、10、15,步长为5。步长(续)2.步长的作用①使用步长设定的好处是用户可以方便地在规则之间插入新的规则。例如配置好了4个规则,规则编号为:0、5、10、15。此时如果用户希望能在第一条规则之后插入一条规则,则可以使用命令在0和5之间插入一条编号为1的规则。②另外,在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,步长是5,那么系统分配给新定义的规则的编号将是30。注意事项1.当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息2.新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在3.当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变注意事项(续)4.用户可以通过命令aclnumberacl-number[nameacl-name]match-order{auto|config}修改IPv4ACL的匹配顺序为auto或者config,但必须在IPv4ACL中没有规则的时候修改5.对已经有规则的IPv4ACL是无法修改其匹配顺序的。6.在使用rulecomment命令为规则定义描述信息时,该规则必须存在配置高级IPv4ACL,并指定ACL序号高级IPv4ACL的序号取值范围为3000~3999[sysname-acl-adv-3000]rule[rule-id]{deny|permit}protocol[destination{dest-addrdest-wildcard|any}|destination-portoperatorport1[port2]established|fragment|source{sour-addrsour-wildcard|any}|source-portoperatorport1[port2]|time-rangetime-na