ACL访问控制列表解析_第1页
ACL访问控制列表解析_第2页
ACL访问控制列表解析_第3页
ACL访问控制列表解析_第4页
ACL访问控制列表解析_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,访问控制列表(ACL),主讲:王海超,ISP,什么是访问列表,IP Access-list:IP访问列表或访问控制列表,简称IP ACL IP ACL就是对经过网络设备的数据包根据一定的规则进行数据包的过滤。,为什么要使用访问列表,网络安全性,可以是路由器或三层交换机或防火墙,访问列表的组成,定义访问列表的步骤 第一步,定义规则(哪些数据允许通过,哪些数据不允许通过) 第二步,将规则应用在路由器(或交换机)的接口上 访问控制列表的分类: 1、标准访问控制列表 2、扩展访问控制列表,访问列表规则的应用,路由器应用访问列表对流经接口的数据包进行控制 1.入栈应用(in) 经某接口进入设备内部的

2、数据包进行安全规则过滤 2.出栈应用(out) 设备从某接口向外发送数据时进行安全规则过滤 一个接口在一个方向只能应用一组访问控制列表,F1/0,F1/1,IN,OUT,访问列表的入栈应用,N,Y,是否允许?,Y,是否应用访问列表?,N,查找路由表 进行选路转发,以ICMP信息通知源发送方,以ICMP信息通知源发送方,N,Y,选择出口S0,路由表中是否存在记录?,N,Y,查看访问列表的陈述,是否允许?,Y,是否应用访问列表?,N,S0,S0,访问列表的出栈应用,IP ACL的基本准则,一切未被允许的就是禁止的 定义访问控制列表规则时,最终的缺省规则是拒绝所有数据包通过 按规则链来进行匹配 使用

3、源地址、目的地址、源端口、目的端口、协议、时间段进行匹配 规则匹配原则 从头到尾,至顶向下的匹配方式 匹配成功马上停止 立刻使用该规则的“允许/拒绝”,Y,拒绝,Y,是否匹配测试条件1 ?,允许,N,拒绝,允许,是否匹配测试条件2 ?,拒绝,是否匹配最后一个测试条件?,Y,Y,N,Y,Y,允许,被系统隐含拒绝,N,一个访问列表多个测试条件,访问列表规则的定义,标准访问列表 根据数据包源IP地址进行规则定义 扩展访问列表 根据数据包中源IP、目的IP、源端口、目的端口、协议进行规则定义,ACL的基本用途是限制访问网络的用户,保护网络的安全。 ACL一般只在以下路由器上配置: 1、内部网和外部网的

4、边界路由器。 2、两个功能网络交界的路由器。 限制的内容通常包括: 1、允许那些用户访问网络。(根据用户的IP地址进行限制) 2、允许用户访问的类型,如允许http和ftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制),ACL的工作过程,访问控制列表(ACL) 由多条判断语句组成。每条语句给出一个条件和处理方式(通过或拒绝)。 路由器对收到的数据包按照判断语句的书写次序进行检查,当遇到相匹配的条件时,就按照指定的处理方式进行处理。 ACL中各语句的书写次序非常重要,如果一个数据包和某判断语句的条件相匹配时,该数据包的匹配过程就结束了,剩下的条件语句被忽略。,8.2 ACL

5、语句,一个访问控制列表(ACL)可由多条语句组成,每条ACL语句的形式为: Router(config)# access-list 表号 处理方式 条件 ACL表号:用于区分各访问控制列表。 一台路由器中可定义多个ACL,每个ACL使用一个表号。 其中针对IP数据报的ACL可使用的表号为: 标准访问控制列表:199。 扩展访问控制列表:100199。 同一个ACL中各语句的表号相同。,处理方式:取值有permit(允许)和deny(拒绝)两种。当数据包与该语句的条件相匹配时,用给定的处理方式进行处理。 条件:每条ACL语句只能定义一个条件。,例: access-list 1 permit 10

6、.0.0.0 55 access-list 1 deny 55 第1句表示允许地址为10.*.*.*的数据包通过。 第2句表示拒绝地址为20.*.*.*的数据包通过。 这里的地址指数据包的源地址。,应用ACL,如果只是定义了ACL,它还不会起到任何作用,必须把ACL应用到一个接口上才能起作用。 应用ACL: Router(config)# interface 接口号 Router(config-if)# ip access-group 表号 in | out in:表示在数据包进入此接口时使用ACL进行过滤。 out:表示在数据包离

7、开此接口时使用ACL进行过滤。 通常,使用出站接口检查的数据包数量较少,效率要高一些。,例: Router(config)# interface e0 Router(config-if)# ip access-group 1 out 表示在e0口上使用表号为1的ACL对出站数据包进行过滤。,通配符掩码,在ACL语句中,当使用地址作为条件时,它的一般格式为:地址 通配符掩码。 通配符掩码决定了地址中的哪些位需要精确匹配,哪些为不需要匹配。 通配符掩码是一个32位数,采用点分十进制方式书写。匹配时,“0”表示检查的位,“1”表示不检查的位。 如: 55 表示

8、检查前16位,忽略后16位,所以这个条件表示的地址是 192.168.*.*。,any条件: 当条件为所有地址时,如果使用通配符掩码应写为: 55 这时可以用“any”表示这个条件。 如: Router(config)# access-list 1 permit 55 Router(config)# access-list 1 permit any 上面两个语句是等价的。,host关键字: 当条件为单一IP地址时,如果使用通配符掩码应写为: IP地址 这时可以用“host”关键字定义这个条件。

9、如: Router(config)# access-list 1 permit Router(config)# access-list 1 permit host 上面两个语句是等价的。,源地址,TCP/UDP,数据,IP,eg.HDLC,1-99 号列表,IP标准访问列表,目的地址,源地址,协议,端口号,100-199号列表,TCP/UDP,数据,IP,eg.HDLC,IP扩展访问列表,0表示检查相应的地址比特 1表示不检查相应的地址比特,0,0,0,0,0,0,0,0,反掩码(通配符),思考题 -172.30.3

10、1.0的通配符是什么? 第三个字段 0001 0000 16 0001 0001 17 0001 0010 18 0001 1111 31 所以,掩码 00000000 00000000 00001111 11111111 55 即相同的都需要考察(置0),不相同的则不用考察(置1)。,思考题,到的通配符是什么? 答:55,到的通配符是什么? 答:55,IP标准访问列表的配置,1.定义标准ACL 编号的标准访问列表Router(config)#access-lis

11、t permit|deny 源地址 反掩码 命名的标准访问列表 ip access-list standard name denysource source-wildcard|hostsource|any or permit source source-wildcard|hostsource|any 2.应用ACL到接口 Router(config-if)#ip access-group |name in | out ,access-list 1 permit 55 (access-list 1 deny 55) i

12、nterface serial 0 ip access-group 1 out,,,F0,S0,F1,,IP标准访问列表配置实例,标准ACL配置举例1,R1,E0,一个局域网连接在路由器R1的E0口,这个局域网要求只有来自/8、/24、/24的用户能够访问。,R1(config)# access-list 1 permit 55 R1(config)# access-list 1 permit 55

13、 R1(config)# access-list 1 permit 55 R1(config)# interface e0 R1(config-if)# ip access-group 1 out,配置完成后,可以用命令查看ACL: R1# show access-lists,说明: 1、在每个ACL中都隐含着一个语句: access-list list-num deny any 它位于ACL的最后,表示拒绝所有。所以任何一个与前面各语句都不匹配的数据包都会被拒绝。 2、在ip access-group语句中,用in或out表示入站时匹配或出站时匹配,如果

14、没有指定这个值,默认为out。 3、在每个接口、每个方向上只能应用一个ACL。 4、一个ACL可以应用到多个接口上。,标准ACL配置举例2,R1,E0,一个局域网连接在路由器R1的E0口,这个局域网要求拒绝来自/24的用户访问,其它用户都可以访问。,R1(config)# access-list 1 deny 55 R1(config)# access-list 1 permit any R1(config)# interface e0 R1(config-if)# ip access-group 1 out,注意:access-

15、list 1 permit any语句不能省略,如果省略该语句,则所有和语句1不匹配的数据包都会被隐含的access-list 1 deny any语句拒绝。,标准ACL配置举例3,R1,E0,一个局域网连接在路由器R1的E0口,这个局域网只允许来自/24的用户访问,但其中和两台主机除外。,R1(config)# access-list 1 deny host R1(config)# access-list 1 deny host R1(config)# access-l

16、ist 1 permit 55 R1(config)# interface e0 R1(config-if)# ip access-group 1 out,注意:access-list 1 permit 192.168.20 55语句不能写在另两条语句的前面,如果把它写在第1句,则和因已经满足了条件,不会再进行后面的匹配。,标准ACL配置举例4,R1,E0,一个局域网连接在路由器R1的E0口,这个局域网要求拒绝来自-的用户访问,其它用户都可以访问。,

17、R1(config)# access-list 1 deny 55 R1(config)# access-list 1 deny 55 R1(config)# access-list 1 deny 55 R1(config)# access-list 1 permit any R1(config)# interface e0 R1(config-if)# ip access-group 1 out,说明: 定义ACL时,每条语句都按输入的次序加入到ACL的末尾,如果想要更改某条语

18、句,或者更改语句的顺序,只能先删除整个ACL,再重新输入。 比如删除表号为1的ACL: Router(config)# no access-list 1 在实际应用中,我们往往把路由器的配置文件导出到TFTP服务器中,用文本编辑工具修改ACL,然后再把配置文件装回到路由器中。,扩展访问控制列表,扩展ACL可以使用地址作为条件,也可以用上层协议作为条件。 扩展ACL既可以测试数据包的源地址,也可以测试数据包的目的地址。 定义扩展ACL时,可使用的表号为100199。(针对IP数据报),扩展ACL的语句: access-list 表号 处理方式 条件 表号:取值100199。 处理方式:permi

19、t(允许)或deny(拒绝)。 条件:协议 源地址 目的地址 运算符 端口号 established 协议:用于匹配数据包使用的网络层或传输层协议,如IP、TCP、UDP、ICMP等。 源地址、目的地址:使用“地址 通配符掩码”的形式,也可以使用any、host关键字。 运算符 端口号:用于匹配TCP、UDP数据包中的端口号。,运算符包括lt(小于)、gt(大于)、eq(等于)、neq(不等于)。 端口号用于对应一种应用,如21FTP、23Telnet、25SMTP、53DNS、80HTTP等。 “运算符 端口号”可匹配数据包的用途。如:“eq 80”可匹配那些访问Web网站的数据包。 在扩展

20、ACL语句中, “运算符 端口号”可以没有。,例: access-list 100 permit tcp 55 55 eq 80 表示允许来自192.168.*.*的用户访问位于10.*.*.*的Web站点。,扩展ACL定义后,也需要使用 ip access-group 命令应用在指定接口上才能起作用。 如: Router(config)# interface e0 Router(config-if)# ip access-group 100 out,在每个扩展ACL末尾也有一条默认语句: access-list

21、 list-num deny ip any any 它会拒绝所有与前面语句不匹配的数据包。,扩展ACL配置举例1,R1,E0,一个局域网连接在路由器R1的E0口,这个局域网只允许Web通信流量和Ftp通信流量,其它都拒绝。,R1(config)# access-list 100 permit tcp any any eq 80 R1(config)# access-list 100 permit tcp any any eq 20 R1(config)# access-list 100 permit tcp any any eq 21 R1(config)# interface e0 R1(c

22、onfig-if)# ip access-group 100 out,说明:标准FTP协议使用了两个端口,21用于建立FTP连接,20用于数据传输。,说明: 例1的配置将会极大限制局域网和外网间的应用,它会拒绝除Web和Ftp外的所有应用(包括ICMP、DNS、电子邮件等),也会拒绝那些没有使用标准端口的Web和Ftp应用。 在实际应用中,我们通常只对那些可能有害的访问作出拒绝限制,或者限制用户访问某些有害的站点或服务。,扩展ACL配置举例2,R1,E0,R1是局域网和外网的边界路由器,禁止外网用户用Telnet远程登录本路由器。,S0,192.168.*.*,/24,2

23、0/24,R1(config)# access-list 100 deny tcp any host eq 23 R1(config)# access-list 100 deny tcp any host eq 23 R1(config)# access-list 100 permit ip any any R1(config)# interface s0 R1(config-if)# ip access-group 100 in,说明:这里使用了禁止对两个接口进行Telnet的数据包进入S0口的方法阻断来自外网的Telnet请求。 由

24、于对E0口没有限制,所以它不影响来自内网的Telnet请求。,扩展ACL配置举例3,R1,E0,R1是局域网和外网的边界路由器,1是一个有害的Web网站,禁止内网用户访问该网站。,S0,192.168.*.*,/24,/24,R1(config)# access-list 100 deny tcp 55 host 1 eq 80 R1(config)# access-list 100 permit ip any any R1(config)# interface e0

25、R1(config-if)# ip access-group 100 in,扩展ACL配置举例4,R1,E0,R1是局域网和外网的边界路由器,禁止对S0口的ping操作。,S0,192.168.*.*,/24,/24,R1(config)# access-list 100 deny icmp any host R1(config)# access-list 100 permit ip any any R1(config)# interface s0 R1(config-if)# ip access-group 100 in,说明:pi

26、ng命令使用的是ICMP协议,但ICMP除了具有网络探查功能外,还需要用它传输各种错误信息,所以在路由器上不应该禁止该协议。如果想要禁止ping,最好使用专用的防火墙。,8.5 命名访问控制列表,命名ACL是新版路由器操作系统(11.2以后的版本)增加的一种定义ACL的方法。 命名ACL使用一个符号串作为ACL的名字,不再使用表号。 命名ACL也有标准ACL和扩展ACL两种,一个命名ACL只能是其中的一种。,命名ACL配置方法,Router(config)# ip access-list standard | extended name,standard:定义标准命名ACL。 extended:定义扩展命名ACL。 name:ACL的名字,可自定义。 该命令执行后,提示符变为Router(config-std-nacl)#或Router(config-ext-nacl)#。在此提示符下可输入ACL语句。,命名ACL语句格式:处理方式 条件。 它只比以前的ACL少了前面的“access-list 表号”部分,其它都相同。,例1 配置标准命名ACL,R1,E0,要求拒绝来自/24的数据包通过S0口进入路由器,其它都允许。,S0,R1(config)# ip access-list stan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论