分类: 系统运维
2008-09-09 23:32:57
访问控制列表(ACL)
一、 叙述
1. ACL是应用在路由器接口的指令列表。
2. 基本原理:ACL使用包过滤技术、在路由器上读取OSI 7层模型的第3层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据定义好的规则,对包进行过滤,从而达到访问控制的目的。
3. ACL通过在路由器接口处控制数据包是转发还是丢弃,来过滤通信流量。ACL适用于所有的路由协议,如IP IPX Apple Talk.可在多层交换机上配置。
4. ACL可分为两种基本类型:
标准:检查被路由数据包的源地址。基于源网络\子网\主机IP地址,来决定是允许还是拒绝转发数据包。使用1~99之间的数字作为表号。
扩展:检查被路由的源地址目标地址,源端口目标端口,协议和其他参数。使用100~199之间作为表好。
5. ACL的工作原理
作用:ACL有助于限定网络通信量和某些用户及设备对网络的使用。提供网络访问的基本安全手段。ACL可用于QoS对数据流进行控制。
处理过程:ACL对路由器本身产生的数据包不起作用,没有匹配语句默认拒绝,并返回一个因特网控制消息协议(ICMP)的管理性拒绝消息。
ACL的入与出:在接口的一个方向上,只能应用1个access-list。
#ip acess-group num {in\out}
IN:先检查ACL允许后才查询路由表。ACL不处理从该接口离开路由器的数据包,
OUT:先查询路由表后检查ACL。ACL不处理从该接口进入路由器的数据包。
应尽量把访问控制列表应用到入站的接口,因为它比应用到出站接口效率高,将需要丢弃的数据包在路由器进行查询路由表之前就拒绝。
6. permit 和deny
permit 允许数据包通过应用了访问控制列表的接口
deny 拒绝数据包通过,如果满足了deny条件,就直接丢弃该数据包。
7. ACL的通配符
Any :任何地址:代表
Host :某一个主机:代表172.10.10.26
二、 标准和扩展配置
1. 标准:在全局模式下
#access-list 1-99 {permit | deny} source wildcard log
应用到接口
#ip access-group num { in | out}
2. 扩展:全局模式下
#access-list 100-199 {permit | deny} protocol [source wildcard distination wildcard] [operator operan]
Operator operan-----it(小于)、 gt(大于)、 eq(等于)、 neq(不等于)和一个端口号。
#access-list 101 deny tcp 172.16.16.4
#access-list 101 permit ip any any
应用到接口
#ip access-group 101 out
3. 命名访问控制列表
使用一个字母数字组合的字符串代替前面所使用的数字来表示ACL的表号。
命名IP访问控制列表允许从指定的访问列表删除单个条目。但是,条目无法有选择地插入到列表中的某个位置。如果添加条目,该条目在列表末尾。
命令:全局模式
#ip access-list {standard|extended} name
#{permit | deny} [source wildcard] any [test conditions] log
#{ permit | deny } protocol source distination eq 23
应用到接口:#ip access-group name out\in
查看:#show access-list
本章总结:
基本原理:只有在数据包与第一个判断条件不匹配时,它才交给ACL中的下一个条件判断语句进行比较;在与某条件语句匹配后,就结束比较过程。不在检查以后的条件判断语句。如果没有与任一个语句匹配,则它必须与最后隐含的拒绝匹配。
应用访问控制列表首先使用access-list命令创建ACL,再用ip access-group命令把该ACL应用到某一个接口上。