首页 > 代码库 > ACL

ACL

ACL 访问控制列表

一.ACL概述

     ACL:访问控制列表,ACL使用包过滤技术,通过读取第三层和第四层源IP、目标IP、源端口、目标端口等信息按预先定义好的规则进行过滤,达到访问控制的目的。


二.ACL使用原则

    1.最小特权原则:只给用户访问所需要的最小权限。


    2.最靠近受控对象原则:对所有规则顺序执行,找到满足条件规则就允许通过。


    3.默认丢弃原则:在所有规则中找不到满足的条件就将数据包丢弃,这是结尾默认隐含的规则。


    4.ACL规则需要应用到接口上才能生效。


三.ACL分类

技术分享

    图中各设备接口配置:

R1路由器

f0/0:192.168.1.3/24

网关:192.168.1.1

R2路由器

f0/0:192.168.1.2/24

网关:192.168.1.1

R3路由器

f0/0-1 属于vlan1,IP:192.168.1/24

f0/2属于vlan2,IP:192.168.2.1

R4路由器

f0/0:192.168.2.2/24

网关:192.168.2.1


    1.标准访问控制列表

格式: access-list 列表号  permit|deny (IP wild 表示网段)|(host IP 表示主机)

标准访问控制列表中列表号取值为0-99

标准访问控制列表应用尽量接近目的IP的接口

no掉任意一个规则整个列表全部删除

 

禁止192.168.1.0网段中1.3这台路由器访问192.168.2.2,其它IP可以访问。

R3(config)#access-list 10 deny host 192.168.1.3

R3(config)#access-list 10 permit any (默认access-list列表隐含一条deny any的规则)

R3(config)#interface vlan 2

R3(config-if)# ip access-group 100 out


    2.扩展访问控制列表

格式:access-list 100 permit|deny 协议 过滤源主机范围 过滤源端口号  过滤目的主机范围 过滤目的端口号 

扩展访问控制列表中列表号取值为100-199

扩展访问控制列表应用尽量接近源IP的接口

no掉任意一个规则整个列表全部删除


禁止192.168.1.0网段中1.3这台路由器访问192.168.2.2路由器的80端口,其它IP可以访问。

R3(config)# access-list 100 deny tcp host 192.168.1.3 host 192.168.2.2 eq 80

R3(config)# access-list 100 permit ip any any

R3(config)# int vlan 1

R3(config)# ip access-group 100 in


     

    3.基于名称的访问控制列表

ip access-list standard|extended ACL名称

no序号或IP可以删除单个规则不会删除整个列表


建立标准访问控制列表10 ,禁止192.168.1.3,192.168.1.4,192.168.1.5访问192.168.2.2,其它IP可以访问,删除禁止192.168.1.4规则,添加禁止192.168.1.6访问规则。


禁止192.168.1.3-5访问2.2

R3(config)# ip access-list standard 10

R3(config-std-nacl)#deny host 192.168.1.3

R3(config-std-nacl)#deny host 192.168.1.4

R3(config-std-nacl)#deny host 192.168.1.5

R3(config-std-nacl)#permit any

R3(config)#int vlan 2

R3(config-if)#ip access-group 10 out

生成结果

Standard IP access list 10

    10 deny   192.168.1.3

    30 deny   192.168.1.5

    20 deny   192.168.1.4

    40 permit any


删除禁止192.168.1.4访问,添加禁止192.168.1.6访问

R3(config)# ip access-list standard 10

R3(config-std-nacl)#no 20  或  no deny host 192.168.1.4

R3(config)# 20 permit host 192.168.1.6 (序号20指定此规则序号可以省略)

生成结果

Standard IP access list 10

    10 deny   192.168.1.3

    30 deny   192.168.1.5

    20 deny   192.168.1.6

    40 permit any


    4.反向访问控制列表

在扩展访问控制列表后加上established ,表示只有已经建立TCP连接的会话才能通过。


允许192.168.1.0网段访问192.168.2.2路由器,192.168.2.2路由器无法访问1.0网段。

R3(config)# access-list 100 permit tcp host 192.168.2.2 192.168.1.0 0.0.0.255 established

R3(config)# int vlan 1

R3(config)# ip access-group 100 out

     5.基于时间的访问控制列表。

time-range    时间段名称   

absolute start [小时:分钟] [日 月 年] [end] [小时:分钟] [日 月 年]


不允许其它网段的用户在周末访问192.168.2.2上的FTP资源,其它时间可以下载该FTP资源

R3(config)#time-range test

R3(config-time-range)#periodic weekend 00:00 to 23:59 

R3(config-time-range)#exit

R3(config)# access-list 101 deny tcp any 192.168.2.2 0.0.0.0 eq ftp time-range test

R3(config)#interface vlan 2

R3(config)# ip access-group 101 out


ACL