ACL(access control list)访问控制列表(今天所讲为三层ACL)

【作用】 控制数据的访问 互通
【实现】
1 定义规则

2 定义动作
 permit 允许
 deny   拒绝

【分类】 标准ACL 仅仅关注源IP地址
扩展ACL 关注源IP和目标IP 还可以关注IP头部后面的内容

【表示】
ID 即通过不同的数字 表示不同的ACL
名字 便于人们对ACL 的配置与管理
配置
创建ACL
access-list (ID) permit /deny x.x.x.x wildcard-bits
ID的范围1-99标准ACL
ID范围 100-199表示扩展 ACL
x.x.x.x 表示的是一个IP 网络范围 或者一个ip地址
wildcard-bits 通配符
#0和1是交叉出现的
通配符中的0表示的是匹配的位
通配符中的1表示的是不匹配的位
通配符中 只关心0所表示的匹配的位
例如 access-list 1 permit 192.168.1.0 0.0.0.255
1 首先分析ACL的类型
2 其次分析ACL的匹配条件
首先分析通配符 关注通配符中0所对应的IP地址中的位
提取源IP地址中 与通配符0所对应的位
将提取出的位与ACL中的条件进行比对
如果相同则匹配成功 执行动作
如果不同 则匹配失败 继续寻找下一条目 /下一匹配条件
3 最后确认 处理动作
permit 允许
deny 拒绝
在没有正式调用之前 permit和deny 没有实际意义

调用ACL   
确定在正确的设备上 
确定在正确的端口上 
确定在正确的方向上 
interface fa0/1
ip access-group 1 in 
验证与测试
sw#show ip access-lists 验证和查看设备上的ACL信息  
pc>ping 192.168.1.254
show ip interface fa 0/0   查看端口上的ACL信息 

【注意】任何一个ACL后面 都有一个隐含的 deny any
当一个ACL中有多个条目时 对每个条件匹配时 是按照序列号从小到大 依次进行检查 匹配的
标准ACL应该调用在距离目标近的位值
扩展ACL应该调用在距离源近的位置
access-list 1 deny 192.168.1.1 0.0.0.0
access-list 1 permit any
工作中常用的ACL 配置方式 【命名的ACL】
GW(config)#ip access-list standard Deny-Ping
GW(config-std-nacl)#10 deny 192.168.1.2 0.0.0.0 /10 deny host 192.168.1.1
GW(config-std-nacl)#20 permit any
GW(config-std-nacl)#exit
调用ACL
GW(config) interface fas0/0
GW(config-if)# ip access-group Deny-Ping in

为了匹配更加精确的流量 我们使用【扩展ACL】
创建ACL
ip access-list extended notping
10 deny icmp host192.168.1.1 host 192.168.1.254
20 permit ip any any
调用ACL
interface gi0/0
ip access-group notping in
验证 ping
show ip access-list
show ip inter gi0/0