您的位置:首页 > 其它

18 ACL访问控制列表(access control list)

2014-08-05 16:16 218 查看
对IP网络流量进行配置,允许或者不允许某些包连接某些服务器
对流量进行分类
可以把它简单认为是一个防火墙
当把ACL当作过滤器来使用的时候
允许或者不允许某些包通过路由器
没有ACL的时候,所有的包都是允许到所有的地方去的


ACL所能分辨的信息到4层,ACL也称为包防火墙,可以根据流量的TCP/IP或者UDP或者端口号来进行过滤,但是并不能进行内容过滤
ACL可以对流量进行分类,不会对流量进行过滤,只能起到分检器的作用

当数据包进去路由器的时候,先检查路由表,有的话去检查出接口是够挂载ACL(ACL当做过滤器来使用的时候,是需要绑定接口的,两个方向:出向还是入向,即检测进来的还是检测出去的包。一个接口上最多挂两个ACL,也就是说每个方向挂载一个,可以在一个ACL上设定多个规则),是的话进行ACL控制测试,ACL允许该包通过的话就转发。若其中任意过程为否,该包丢弃。
一个ACL可以设定多个判定条件,只要匹配一个就可以转发,多个条件之间的逻辑关系是或,当匹配到其中一个判定条件的时候,立即执行该条件后的动作,若全部不匹配,则将该包丢弃。

ACL分为两种类型:
标准ACL:速度快,只能基于发送的源IP地址进行判断
扩展ACL:扩展的ACL较为精细一点,可以基于源地址,目标地址,协议,端口号进行判断。速度相对来说慢一点。
怎么区分两种ACL:基于编号:当编号在1-99,1300-1999就是标准的
当编号是100-199,2000-2699就是扩展的
基于命名:明确指出ACL类型

标准访问控制列表的语法格式(基于编号)
Access-listaccess-list-number
{permit | deny | remark}source 【mask】
示例:
拒绝所有来自1.1.1.1的数据包
Access-list 1 deny 1.1.1.1 0.0.0.0(反码,0表示匹配,1表示无所谓)
Access-list 1 permit 0.0.0.0 255.255.255.255 (因为默认是拒绝所有,没有这条命令数据包是无法通过的)
或者:access-list 1 deny host1.1.1.1
Access-list 1 permit any (host和any是预先设定好的通配符)
允许所有来自192.168.1.0/24的数据包
Access-list1 permit 192.168.1.0 0.0.0.255
配置完之后还要绑定到端口。
(规则顺序很重要,但是编号ACL不允许删除单独的一条规则
例如
Access-list1 deny 1.1.1.0 0.0.0.255
Access-list1 permit 1.1.1.1 0.0.0.0
这样的话第二条规则永远不会生效,因为在匹配了第一条规则后,就会立即执行第一条规则之后的动作,不再向下进行匹配)
在接口配置模式下:
Ipaccess-group access-list-number {in | out}
标准ACL配置大体分为两步:
①:在全局配置模式下创建访问控制列表,并且设定规则
②:在接口配置模式下挂载ACL,并指定方向。
扩展访问控制列表语法格式
示例
拒绝所有从1.1.1.1到2.2.2.2 的ping包(ping使用的是ICMP协议)
Access-list100 deny icmp host 1.1.1.1 host 2.2.2.2
Access-list100 permit ip any any
拒绝所有从1.1.1.0/24 到2.2.2.0/24的http流量
Access-list 100 deny tcp 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 eq(端口号) 80
命名访问控制列表(可以单独删除其中的一条规则)
示例:
Ipaccess-list standard name
Deny host 172.16.4.13
Permit 172.16.4.0 0.0.0.255
Interface e0
Ip access-group name {out | in}
删除的时候可以直接no其中一条
Remark 注释 没有什么意义,只是简单的注释
可以通过show access-list 查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: