访问控制列表(ACL)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章访问控制列表(ACL)5.1ACL概述利用ACL可以对经过路由器的数据包按照设定的规则进行过滤,使数据包有选择的通过路由器,起到防火墙的作用。访问控制列表(ACL)由一组规则组成,在规则中定义允许或拒绝通过路由器的条件。ACL过滤的依据主要包括源地址、目的地址、上层协议等。ACL有两种:标准访问控制列表、扩展访问控制列表。ACL的基本用途是限制访问网络的用户,保护网络的安全。ACL一般只在以下路由器上配置:1、内部网和外部网的边界路由器。2、两个功能网络交界的路由器。限制的内容通常包括:1、允许那些用户访问网络。(根据用户的IP地址进行限制)2、允许用户访问的类型,如允许http和ftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制)ACL的工作过程访问控制列表(ACL)由多条判断语句组成。每条语句给出一个条件和处理方式(通过或拒绝)。路由器对收到的数据包按照判断语句的书写次序进行检查,当遇到相匹配的条件时,就按照指定的处理方式进行处理。ACL中各语句的书写次序非常重要,如果一个数据包和某判断语句的条件相匹配时,该数据包的匹配过程就结束了,剩下的条件语句被忽略。5.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上面两个语句是等价的。5.3标准访问控制列表标准ACL只能使用地址作为条件。标准ACL使用数据包的源地址匹配ACL语句中的条件。定义标准ACL时,可使用的表号为1~99。(针对IP数据报)标准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可以应用到多个接口上。R1R2PC1:.2PC2:.1.1.2PC3:.1.1.2E0:.1E0:.1.1.1E1:.1.1.1S0:.1S0:.2192.168.0.0/24192.168.1.0/2410.0.0.0/820.0.0.0/8实例1的实验验证:标准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时,每条语句都按输入的次序加入到ACL的末尾,如果想要更改某条语句,或者更改语句的顺序,只能先删除整个ACL,再重新输入。比如删除表号为1的ACL:Router(config)#noaccess-list1在实际应用中,我们往往把路由器的配置文件导出到TFTP服务器中,用文本编辑工具修改ACL,然后再把配置文件装回到路由器中。5.4扩展访问控制列表扩展ACL可以使用地址作为条件,也可以用上层协议作为条件。扩展ACL既可以测试数据包的源地址,也可以测试数据包的目的地址。定义扩展ACL时,可使用的表号为100~199。(针对IP数据报)扩展ACL的语句:access-list表号处理方式条件表号:取值100~199。处理方式:permit(允许)或deny(拒绝)。条件:协议源地址目的地址[运算符端口号][established]协议:用于匹配数据包使用的网络层或传输层协议,如IP、TCP、UDP、ICMP等。源地址、目的地址:使用“地址通配符掩码”的形式,也可以使用any、host关键字。运算符端口号:用于匹配TCP、UDP数据包中的端口号。运算符包括lt(小于)、gt(大于)、eq(等于)、neq(不等于)。端口号用于对应一种应用,如21—FTP、23—Telnet、25—SMTP、53—DNS、80—HTTP等。“运算符端口号”可匹配数据包的用途。如:“eq80”可匹配那些访问Web网站的数据包。在扩展ACL语句中,“运算符端口号”可以没有。例:access-list100permittcp192.168.0.00.0.255.25510.0.0.00.255.255.255eq80表示允许来自192.168.*.*的用户访问位于10.*.*.*的Web站点。扩展ACL定义后,也需要使用ipaccess-group命令应用在指定接口上才能起作用。如:Router(config)#interfacee0Router(config-if)#ipaccess-group100out在每个扩展ACL末尾也有一条默认语句:access-listlist-numdenyipanyany它会拒绝所有与前面语句不匹配的数据包。扩展ACL配置举例1R1E0一个局域网连接在路由器R1的E0口,这个局域网只允许Web通信流量和Ftp通信流量,其它都拒绝。R1(config)#access-list100permittcpanyanyeq80R1(config)#access-list100permittcpanyanyeq20R1(config)#access-list100permittcpanyanyeq21R1(config)#interfacee0R1(config-if)#ipaccess-group100out说明:标准FTP协议使用了两个端口,21用于建立FTP连接,20用于数据传输。说明:例1的配置将会极大限制局域网和外网间的应用,它会拒绝除Web和Ftp外的所有应用(包括ICMP、DNS、电子邮件等),也会拒绝那些没有使用标准端口的Web和Ftp应用。在实际应用中,我们通常只对那些可能有害的访问作出拒绝限制,或者限制用户访问某些有害的站点或服务。扩展ACL配置举例2R1E0R1是局域网和外网的边界路由器,禁止外网用户用Telnet远程登录本路由器。S0192.168.*.*192.168.0.1/24200.1.1.1/24R1(config)#access-list100denytcpanyhost200.1.1.1eq23R1(config)#access-list100denytcpanyhost192.168.0.1eq23R1(config)#access-list100permitipanyanyR1(config)#interfaces0R1(config-if)#ipaccess-group100in说明:这里使用了禁止对两个接口进行Telnet的数据包进入S0口的方法阻断来自外网的Telnet请求。由于对E0口没有限制,所以它不影响来自内网的Telnet请求。扩展ACL配置举例3R1E0R1是局域网和外网的边界路由器,60.54.145.21是一个有害的Web网站,禁止内网用户访问该网站。S0192.168.*.*192.168.0.1/24200.1.1.1/24R1(config)#access-list10

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功