本文主要是介绍ACL访问控制列表基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. ACL概述
(1)、ACL全称访问控制列表(Access Control List)。
(2)、基本原理:ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息(如源地址、目的地址、协议口、端口号等),根据预先定义好的规则对包进行过滤,从而达到控制的目的。
(3)ACL目的:限制网络流量、提高网络性能;提供对通信流量的控制手段;提供网络访问的基本安全手段。
(4)、功能:网络中的结点分为资源结点和用户结点两大类,其中资源结点提供服务或数据,而用户结点访问资源结点所提供的服务与数据。ACL的主要功能就是一方面保护资源结点,阻止非法用户对资源结点的访问;另一方面限制特定的用户结点对资源结点的访问权限。
(5)、ACL的访问顺序
a、按照各语句在访问列表的顺序,顺序查找,一旦找到了某一匹配条件,就结束匹配,不再检查后面的语句。
b、如果所有语句都没有匹配,在默认情况下,虽然看不到最后一行,但最后总是拒绝全部流量的。
2. ACL的分类
(1) 标准ACL(表号取值范围1-99)
第一步:定义访问控制列表
命令格式:access-list access-list-number { permit |deny } source [source-wildcard] [log]
参数
| 参数描述 |
access-list-number | 访问控制列表表号 |
permit | deny | 满足条件,拒绝或允许 |
source-wildcard |
通配符,0表示检查,1表示不检查 |
log | 表示将有关数据包匹配情况生成日志表 |
例如:
!定义访问控制列表
router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
!删除访问控制列表(这里无法删除某一条ACL语句,只能删除整个ACL表)
router(config)# no access-list 1
第二步:应用到某一个接口上
命令格式:{ protocol } access-group access-list-number {in | out}
例如:
router(config)# int f0/0
router(config-if)ip access-group 1 out
(2) 扩展ACL(表号取值范围100-199)
第一步:定义访问控制列表
命令格式:access-list access-list-number { permit |deny } protocol source source-wildcard [operator operand] destination destination-wildcard [operatoroperand] [established] [log]
参数
| 参数描述 |
access-list-number | 访问控制列表表号 |
permit | deny | 满足条件,拒绝或允许 |
source-wildcard destination-wildcard |
通配符,0表示检查,1表示不检查 |
log | 表示将有关数据包匹配情况生成日志表 |
protocol | 用来指定协议类型,如IP、TCP、UDP、ICMP等 |
lt,gt,eq,neq | (小于、大于、等于、不等于) |
operand | 一个端口号或应用名称 |
established | 如果数据包使用一个已建立连接,便可允许TCP信息通过 |
例如:
!定义访问控制列表
router(config)# access-list 101 permit tcp 192.168.1.00.0.0.255 192.168.2.0 0.0.0.255 eq 80
!删除访问控制列表(这里无法删除某一条ACL语句,只能删除整个ACL表)
router(config)# no access-list 101
第二步:应用到某一个接口上
命令格式:{ protocol } access-group access-list-number {in | out}
例如:
router(config)# int f0/0
router(config-if)ip access-group 101 out
(3) 命名ACL
第一步:创建一个ACL命名,要求名字字符串要唯一
命令格式:ip access-list{ standard | extended } name
第二步:定义访问控制列表
标准ACL命令格式: { permit | deny } source source-wildcard [log]
扩展ACL命令格式: { permit | deny } protocol source source-wildcard [operatoroperand] destination destination-wildcard [operator operand] [established] [log]
例如:
!定义访问控制列表
router(config)#ipaccess-list extended permit-one
router(config-ext-nacl)# permit tcp 192.168.1.00.0.0.255 192.168.2.0 0.0.0.255 eq 80
!删除访问控制列表(这里可以删除某一条ACL语句)
router(config-ext-nacl)# no permit tcp 192.168.1.0 0.0.0.255 192.168.2.00.0.0.255 eq 80
第三步:应用到某一个接口上
命令格式:{ protocol } access-group name {in | out}
例如:
router(config)# int f0/0
router(config-if)ip access-group permit-one out
这篇关于ACL访问控制列表基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!