第1章 ACL 访问控制列表
访问控制表(Access Control List,ACL),又称存取控制串列,是使用以访问控制矩阵为基础的访问控制方法,每一个对象对应一个串列主体。
访问控制表描述每一个对象各自的访问控制,并记录可对此对象进行访问的所有主体对对象的权限。
1.1 为什么要用ACL
流量控制
匹配感兴趣的流量
1.2 标准访问控制列表
只能根据源地址做过滤
针对整个协议采取相关动作{ 允许或禁止}
1.3 扩展访问控制列表
能根据源、目的地地址、端口号等等进行过滤
能允许或拒绝特定的协议
1.4 基本原则
1、按顺序执行,只要有一条满足,则不会继续查找
2、隐含拒绝,如果都不匹配,那么一定匹配最后的隐含拒绝条目,思科默认的
3、任何条件下只给用户能满足他们需求的最小权限
4、不要忘记把ACL应用到端口上
1.5 ACL的操作
1.5.1 入站于出站
进方向和出方向是根据数据流相对于接口来确定的
1.5.2 入方向的ACL的操作
1.5.3 出方向的 ACL的操作
1.5.4 ACL语句
一、标准ACL
access-list { 1-99} {permit/deny} source-ip source-wildcard [log]
二、扩展ACL
access-list { 100-199} {permit/deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operator port] [established] [log]
三、命名ACL
ip access-list {standard/extended} name { permit /deny} source-ip source-wildcard 标准ACL { permit /deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard [operator port] [established][log] 扩展acl
1.5.5 ACL匹配过程
顺序匹配,符合不再执行后面的
所有的都没有匹配到会丢弃(隐含拒绝)
1.6 ACL的配置
1.6.1 ACL的标识
1-99,1300-1999 标准访问控制列表
100-199,2000-2699 扩展访问控制列表
name 命名访问控制列表
1.6.2 标准访问控制列表的配置
access-list { 1-99} {permit/deny} source [wildcard mask]
编号选择 1-99
通配符若无,默认0.0.0.0
'no access-list access-list-number '会删除整个ACL列表
ip access-group access-list-number { in|out }
在接口中应用
应用时关联入或出站方向
默认出站
'no ip access-group access-list-number '会移除接口上应用的访问列表
1.6.3 通配符
在路由器的配置中,经常出现通配符。和子网掩码一样,都是以“0”或“1”表示,不过与子网掩码所表示的意思却不一样。
子网掩码所表示的是IP的网络位和主机位,而通配符则表示与IP是否匹配。
通配符同样是32位,和IP地址一一对应,“0”位代表精确匹配,而“1“位代表不许匹配。
例如路由器EIGRP的配置中:
RouterA(config)#router eigrp 100 RouterA(config-router)#network 10.0.0.0 0.0.0.255 RouterA(config-router)#network 192.168.1.0 0.0.0.255
10.0.0.0 0.0.0.255说明只要接口的IP地址是以“10”开头就参与EIGRP进程。
同理的,192.168.1.0 0.0.0.255说明只要IP是以192.168.1开头的IP就符合。
1.6.4 通配符缩写
192.168.1.1 0.0.0.0 == host 192.168.1.1
精确匹配192.168.1.1这个ip
0.0.0.0 255.255.255.255 == any
匹配所有IP
1.7 【实例】标准ACL
禁止主机A 上外网
1.7.1 拓扑图
1.7.2 配置路由acl
R-acl-1(config)#access-list 1 deny 192.168.1.1 0.0.0.0 R-acl-1 (config)#access-list 1 permit any
应用到接口上
R-acl-1<