思科ACL访问控制列表常规配置操作详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思科ACL访问控制列表常规配置操作详解
本⽂实例讲述了思科ACL访问控制列表常规配置操作。
分享给⼤家供⼤家参考,具体如下:
⼀、ACL概述
ACL (Access Control List,访问控制列表)是⼀系列运⽤到路由器接⼝的指令列表。
这些指令告诉路由器接收哪些数据包、拒绝哪些数据包,接收或者拒绝根据⼀定的规则进⾏,如源地址、⽬标地址、端⼝号等。
ACL使得⽤户能够管理数据流,检测特定的数据包。
路由器将根据ACL中指定的条件,对经过路由器端⼝的数据包进⾏检査。
ACL可以基于所有的Routed Protocols (被路由协议,如IP、IPX等)对经过路由器的数据包进⾏过滤。
ACL在路由器的端⼝过滤数据流,决定是否转发或者阻⽌数据包。
ACL应该根据路由器的端⼝所允许的每个协议来制定,如果需要控制流经某个端⼝的所有数据流,就需要为该端⼝允许的每⼀个协议分别创建ACL。
例如,如果端⼝被配置为允许IP、AppleTalk和IPX协议的数据流,那么就需要创建⾄少3个ACL, 本⽂中仅讨论IP的访问控制列表。
针对IP协议,在路由器的每⼀个端⼝,可以创建两个ACL:—个⽤于过滤进⼊(inbound)端⼝的数据流,另⼀个⽤于过滤流出(outboimd)端⼝的数据流。
顺序执⾏:—个ACL列表中可以包含多个ACL指令,ACL指令的放置顺序很重要。
当路由器在决定是否转发或者阻⽌数据包的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检査数据包是否满⾜某⼀个指令条件。
当检测到某个指令条件满⾜的时候,就执⾏该指令规定的动作,并且不会再检测后⾯的指令条件。
ACL作⽤:
* 限制⽹络流量,提⾼⽹络性能。
* 提供数据流控制。
* 为⽹络访问提供基本的安全层。
⼆、ACL 类型
1. 标准ACL: access-list-number编号1~99之间的整数,只针对源地址进⾏过滤。
2. 扩展ACL: access-list-number编号100~199之间的整数,可以同时使⽤源地址和⽬标地址作为过滤条件,还可以针对不
同的协议、协议的特征、端⼝号、时间范围等过滤。
可以更加细微的控制通信量。
3. 动态ACL
4. ⾃反ACL
5. 基于时间的ACL
三、标准ACL
3.1 通配符掩码
使⽤通配符掩码与源或⽬标地址⼀起分辨匹配的地址范围。
掩码位匹配含义:设置为“1”表⽰忽略IP地址中对应位(IP取0或1都可以匹配);设置为“0”表⽰IP地址中对应位必须精确匹配。
例如:(1)192.168.1.0 0.0.0.255 匹配的是192.168.1.0~192.168.1.255
(2)192.168.1.0 0.0.0.254 匹配192.168.1.0⽹段中所有偶数IP
(3)192.168.1.1 0.0.0.254 匹配192.168.1.0⽹段中所有奇数IP
any关键字:代替地址掩码对0.0.0.0 255.255.255.255,匹配任何IP
host关键字:代替通配符掩码0.0.0.0,精确匹配某个IP。
例如:要实现匹配IP地址192.168.1.2,则可以写成192.168.1.2
0.0.0.0或者写成host 192.168.1.2。
(注:标准ACL中没有通配符掩码默认该掩码为 0.0.0.0,host也可以省略;扩展ACL中通配符 0.0.0.0或 host关键字不可以省略)
3.2 配置标准ACL的⽅法
3.2.1 配置步骤
配置标准ACL需要两步,⼀是创建访问控制列表,⼆是将列表绑定到特定端⼝。
Step 1 创建ACL
全局模式下配置ACL。
创建标准ACL的基本格式: access-list access-list-number { deny | permit } { 源地址 [ 源地址通配符掩码 ] | any } [ log ]
其中,access-list-number是1~99的ACL编号;deny拒绝,permit允许;log是⽇志选项,匹配的条⽬信息显⽰在控制台上,也可以输出到⽇志服务器。
例如:在某路由器R3上创建⼀组ACL配置如下:
R3 (config) #access-list 1 deny 12.1.1.1 拒绝R1的IP地址12.1.1.1,通配符掩码 0.0.0.0 可以省略。
R3 (config) #access-list 1 permit any 允许其余所有IP
注意:访问控制列表最后隐含⼀条deny any 规则;ACL从上往下匹配,规则顺序不能改变。
Step 2 应⽤ACL
创建好列表后,要将ACL绑定到每个它想应⽤的接⼝才能实现访问控制功能。
例如:将上述列表应⽤到R3的S1/0接⼝,配置为:
R3 (config) #interface s1/0
R3 (config-if) #ip access-group 1 in 在接⼝下调⽤ACL 1,针对的是从s1/0接⼝进⼊路由器R3的流量
3.2.2 编辑修改标准ACL
1)删除ACL
删除编号即可删除ACL。
命令格式:
R3 (config) #no access-list 1
2)取消ACL在接⼝的应⽤
命令格式:
R3 (config) #int s1/0
R3 (config-if) #no ip access-group 1 in
3)编辑ACL
标准ACL不⽀持插⼊或删除⼀⾏操作,可以将现有ACL拷贝到记事本⾥修改,然后粘贴到路由器的命令⾏中。
4)查看ACL
命令格式:
R3#show access-lists
R3#show access-lists 1
3.3 配置标准命名ACL的⽅法
标准命名ACL指使⽤字符串代替数字来标识ACL。
其优点包括:
可以在不删除整个ACL情况下修改。
字符串直观标识ACL⽤途。
可以配置超过99个标准ACL。
注意:命名不能相同。
创建标准命名ACL格式:Router (config)# ip access-list standard access-list name
例如:
R3 (config)# ip access-list standard deny-R1
R3 (config-std-nac1)#deny 12.1.1.1
R3 (config-std-nac1)#permit any
R3 (config-std-nac1)#exit
R3 (config)#int s1/0
R3 (config-if)#ip access-group deny-R1 in
可局部修改:
1)删除某⼀句:
R3 (config)# ip access-list standard deny-R1
R3 (config-std-nac1)#no deny 12.1.1.1
2)使⽤⾏号删除某⼀句:
R3 (config)# ip access-list standard deny-R1
R3 (config-std-nac1)#no 20 删除第20⾏内容
3)删除整个ACL:
R3 (config)#no ip access-list standard deny-R1
3.4 标准ACL放置的位置
ACL仅对穿越路由器的数据包进⾏过滤,对本路由器起源的数据包不做过滤(详细案例见《CCNA学习与实验指南》崔北亮著,访问控制列表⼀章)
尽量应⽤在靠近⽬标端。
四、扩展ACL
4.1 配置扩展ACL
Step 1 创建扩展ACL
基本格式:access-list access-list-number {deny | permit | remark} 协议类型 source [source-wildcard] [operator operand] [port port-number or name] destination destination-wildcard [operator operand] [port port-number or name] [established]
实例:配置实现拒绝R1去往R3的Telent通信,允许其他服务。
R2 (config) # access-list 100 deny tcp host 12.1.1.1 host 23.1.1.3 eq Telent
R2 (config) # access-list 100 permit ip any any
解释:Telent流量使⽤的是TCP协议,⽬标端⼝23
因此此处拒绝TCP协议,源地址是R1,源端⼝任意;⽬标地址R3,⽬标端⼝23(配置语句中Telent表⽰23)。
Step 2 应⽤ACL
将列表应⽤于R2的S1/0接⼝,当数据包进⼊R2的时候判断,配置为:
R2 (config) # int s1/0
R2 (config) # ip access-group 100 in
4.2 配置扩展命名ACL
类似于标准命名ACL:
ip access-list extended tcp-firewall
4.3 扩展ACL放置的位置
尽量应⽤在靠近源端,这样可以使⼀些⾮法流量尽早丢弃,节省中间设备带宽和CPU资源。
五、反射ACL
5.1 概念
提供真正意义上的单向访问控制。
5.2 应⽤
六、动态ACL
可以根据⽤户验证过程创建特定的临时的ACL。
七、基于时间的ACL。