首页 > 代码库 > 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