您好,欢迎访问三七文档
1访问控制列表(ACL)主讲:王海超ISP什么是访问列表IPAccess-list:IP访问列表或访问控制列表,简称IPACLIPACL就是对经过网络设备的数据包根据一定的规则进行数据包的过滤。√为什么要使用访问列表网络安全性可以是路由器或三层交换机或防火墙访问列表的组成定义访问列表的步骤第一步,定义规则(哪些数据允许通过,哪些数据不允许通过)第二步,将规则应用在路由器(或交换机)的接口上访问控制列表的分类:1、标准访问控制列表2、扩展访问控制列表访问列表规则的应用路由器应用访问列表对流经接口的数据包进行控制1.入栈应用(in)•经某接口进入设备内部的数据包进行安全规则过滤2.出栈应用(out)•设备从某接口向外发送数据时进行安全规则过滤一个接口在一个方向只能应用一组访问控制列表F1/0F1/1INOUT访问列表的入栈应用NY是否允许?Y是否应用访问列表?N查找路由表进行选路转发以ICMP信息通知源发送方以ICMP信息通知源发送方NY选择出口S0路由表中是否存在记录?NY查看访问列表的陈述是否允许?Y是否应用访问列表?NS0S0访问列表的出栈应用IPACL的基本准则一切未被允许的就是禁止的定义访问控制列表规则时,最终的缺省规则是拒绝所有数据包通过按规则链来进行匹配使用源地址、目的地址、源端口、目的端口、协议、时间段进行匹配规则匹配原则从头到尾,至顶向下的匹配方式匹配成功马上停止立刻使用该规则的“允许/拒绝……”Y拒绝Y是否匹配测试条件1?允许N拒绝允许是否匹配测试条件2?拒绝是否匹配最后一个测试条件?YYNYY允许被系统隐含拒绝N一个访问列表多个测试条件访问列表规则的定义标准访问列表根据数据包源IP地址进行规则定义扩展访问列表根据数据包中源IP、目的IP、源端口、目的端口、协议进行规则定义ACL的基本用途是限制访问网络的用户,保护网络的安全。ACL一般只在以下路由器上配置:1、内部网和外部网的边界路由器。2、两个功能网络交界的路由器。限制的内容通常包括:1、允许那些用户访问网络。(根据用户的IP地址进行限制)2、允许用户访问的类型,如允许http和ftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制)ACL的工作过程访问控制列表(ACL)由多条判断语句组成。每条语句给出一个条件和处理方式(通过或拒绝)。路由器对收到的数据包按照判断语句的书写次序进行检查,当遇到相匹配的条件时,就按照指定的处理方式进行处理。ACL中各语句的书写次序非常重要,如果一个数据包和某判断语句的条件相匹配时,该数据包的匹配过程就结束了,剩下的条件语句被忽略。8.2ACL语句一个访问控制列表(ACL)可由多条语句组成,每条ACL语句的形式为:Router(config)#access-list表号处理方式条件ACL表号:用于区分各访问控制列表。一台路由器中可定义多个ACL,每个ACL使用一个表号。其中针对IP数据报的ACL可使用的表号为:标准访问控制列表:1~99。扩展访问控制列表:100~199。同一个ACL中各语句的表号相同。处理方式:取值有permit(允许)和deny(拒绝)两种。当数据包与该语句的条件相匹配时,用给定的处理方式进行处理。条件:每条ACL语句只能定义一个条件。例:access-list1permit10.0.0.00.255.255.255access-list1deny20.0.0.00.255.255.255第1句表示允许地址为10.*.*.*的数据包通过。第2句表示拒绝地址为20.*.*.*的数据包通过。这里的地址指数据包的源地址。应用ACL如果只是定义了ACL,它还不会起到任何作用,必须把ACL应用到一个接口上才能起作用。应用ACL:Router(config)#interface接口号Router(config-if)#ipaccess-group表号[in|out]in:表示在数据包进入此接口时使用ACL进行过滤。out:表示在数据包离开此接口时使用ACL进行过滤。通常,使用出站接口检查的数据包数量较少,效率要高一些。例:Router(config)#interfacee0Router(config-if)#ipaccess-group1out表示在e0口上使用表号为1的ACL对出站数据包进行过滤。通配符掩码在ACL语句中,当使用地址作为条件时,它的一般格式为:地址通配符掩码。通配符掩码决定了地址中的哪些位需要精确匹配,哪些为不需要匹配。通配符掩码是一个32位数,采用点分十进制方式书写。匹配时,“0”表示检查的位,“1”表示不检查的位。如:192.168.1.10.0.255.255表示检查前16位,忽略后16位,所以这个条件表示的地址是192.168.*.*。any条件:当条件为所有地址时,如果使用通配符掩码应写为:0.0.0.0255.255.255.255这时可以用“any”表示这个条件。如:Router(config)#access-list1permit0.0.0.0255.255.255.255Router(config)#access-list1permitany上面两个语句是等价的。host关键字:当条件为单一IP地址时,如果使用通配符掩码应写为:IP地址0.0.0.0这时可以用“host”关键字定义这个条件。如:Router(config)#access-list1permit200.1.1.50.0.0.0Router(config)#access-list1permithost200.1.1.5上面两个语句是等价的。源地址TCP/UDP数据IPeg.HDLC1-99号列表IP标准访问列表目的地址源地址协议端口号100-199号列表TCP/UDP数据IPeg.HDLCIP扩展访问列表0表示检查相应的地址比特1表示不检查相应的地址比特00111111128643216842100000000000011111111110011111111反掩码(通配符)思考题172.30.16.0----172.30.31.0的通配符是什么?第三个字段000100001600010001170001001018…………0001111131所以,掩码000000000000000000001111111111110.0.15.255即相同的都需要考察(置0),不相同的则不用考察(置1)。思考题172.16.8.0到172.16.15.0的通配符是什么?答:0.0.7.255172.16.32.0到172.16.63.0的通配符是什么?答:0.0.31.255IP标准访问列表的配置1.定义标准ACL编号的标准访问列表Router(config)#access-list1-99{permit|deny}源地址[反掩码]命名的标准访问列表ipaccess-liststandard{name}deny{sourcesource-wildcard|hostsource|any}orpermit{sourcesource-wildcard|hostsource|any}2.应用ACL到接口Router(config-if)#ipaccess-group1-99|{name}{in|out}access-list1permit172.16.3.00.0.0.255(access-list1deny0.0.0.0255.255.255.255)interfaceserial0ipaccess-group1out172.16.3.0172.16.4.0F0S0F1172.17.0.0IP标准访问列表配置实例标准ACL配置举例1R1E0一个局域网连接在路由器R1的E0口,这个局域网要求只有来自10.0.0.0/8、192.168.0.0/24、192.168.1.0/24的用户能够访问。R1(config)#access-list1permit10.0.0.00.255.255.255R1(config)#access-list1permit192.168.0.00.0.0.255R1(config)#access-list1permit192.168.1.00.0.0.255R1(config)#interfacee0R1(config-if)#ipaccess-group1out配置完成后,可以用命令查看ACL:R1#showaccess-lists说明:1、在每个ACL中都隐含着一个语句:access-listlist-numdenyany它位于ACL的最后,表示拒绝所有。所以任何一个与前面各语句都不匹配的数据包都会被拒绝。2、在ipaccess-group语句中,用in或out表示入站时匹配或出站时匹配,如果没有指定这个值,默认为out。3、在每个接口、每个方向上只能应用一个ACL。4、一个ACL可以应用到多个接口上。标准ACL配置举例2R1E0一个局域网连接在路由器R1的E0口,这个局域网要求拒绝来自192.168.10.0/24的用户访问,其它用户都可以访问。R1(config)#access-list1deny192.168.10.00.0.0.255R1(config)#access-list1permitanyR1(config)#interfacee0R1(config-if)#ipaccess-group1out注意:access-list1permitany语句不能省略,如果省略该语句,则所有和语句1不匹配的数据包都会被隐含的access-list1denyany语句拒绝。标准ACL配置举例3R1E0一个局域网连接在路由器R1的E0口,这个局域网只允许来自192.168.20.0/24的用户访问,但其中192.168.20.1和192.168.20.5两台主机除外。R1(config)#access-list1denyhost192.168.20.1R1(config)#access-list1denyhost192.168.20.5R1(config)#access-list1permit192.168.20.00.0.0.255R1(config)#interfacee0R1(config-if)#ipaccess-group1out注意:access-list1permit192.168.200.0.0.255语句不能写在另两条语句的前面,如果把它写在第1句,则192.168.20.1和192.168.20.5因已经满足了条件,不会再进行后面的匹配。标准ACL配置举例4R1E0一个局域网连接在路由器R1的E0口,这个局域网要求拒绝来自172.30.16.0----172.30.33.0的用户访问,其它用户都可以访问。R1(config)#access-list1deny172.30.16.00.0.15.255R1(config)#access-list1deny172.30.32.00.0.0.255R1(config)#access-list1deny172.30.33.00.0.0.255R1(config)#access-list1permitanyR1(config)#interfacee0R1(config-if)#ipaccess-group1out说明:定义ACL时,每条语句都按输入的次序加入到ACL的末尾,如果想要更改某条语句,或者更改语句的顺序,只能先删除整个ACL,再重新输入。比如删除表号为1的ACL:Router(config)#noaccess-list1在实际应用中,我们往往把路由器的配置文件导出到TFTP服务器中,用文本编辑工具修改ACL,然后再把配置文件装回到路由器中。扩展访问控制列表扩展ACL可以使用地址作为条件,也可以用上层协议作为条件。扩展ACL既可以测试数据包的源地址,也可以测试数据包的目的地址。定义扩展ACL时,可使用的表号为100~199。(针
本文标题:ACL访问控制列表
链接地址:https://www.777doc.com/doc-6687153 .html