网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

访问控制列表ACL

更新时间:2021年10月26日   作者:spoto   标签(Tag):

访问控制列表ACL两大功能:

流量控制
匹配感兴趣流量
 

ACL的3P规则:

在每一个接口的每一个方向上,只能针对每种第三层协议应用一个ACL
l 每种协议一个 ACL :要控制接口上的流量,必须为接口上启用的每种协议定义相应的 ACL。
l 每个方向一个 ACL :一个 ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个 ACL。
l 每个接口一个 ACL :一个 ACL 只能控制一个接口上的流量。

 

 

ACL的规范:

l 每个接口,每个方向,每种协议,你只能设置1 个ACL。
l ACL的语句顺序决定了对数据包的控制顺序。在ACL中各项语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被丢弃时,会按照各项语句在ACL中的顺序,根据各语句的判断条件,对数据包进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句
l 把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。
l 你不可能从ACL 从除去1 行,除去1 行意味你将除去整个ACL。
l 默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句
l 创建了ACL 后要把它应用在需要过滤的接口上
l ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。
l 在路由选择进行以前,应用在接口in方向的ACL起作用。
l 在路由选择决定以后,应用在接口out方向的ACL起作用。

 

 

 

 

标准访问控制列表:

标准访问控制列表

只能根据源地址做过滤
针对整个协议采取相关动作(允许或禁止)
建议将标准访问控制列表放在里目的地址近的地方,因为标准访问控制列表只能对源IP地址进行过滤

 

 

 

 

扩展访问控制列表:

扩展访问控制列表

能根据源、目的地地址、端口号等等进行过滤
能允许或拒绝特定的协议
建议将扩展的访问控制列表放在离源IP地址近的地方,因为扩展访问控制列表可以进行更细化的一些过滤

 

 

 

 

ACL范围:

ACL范围

 

 

 

 

ACL的入站及出站:

ACL的入站及出站

 

 

 

 

入站:

ACL入站

在路由选择进行以前,应用在接口in方向的ACL起作用。
当接口入方向收到一个数据包,首先检查接口是否有调用ACL:
l 没有ACL,则根据IP包头中的目的地址查路由
l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,查路由
l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃
l 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃

 

 

 

 

出站:

ACL出站

在路由选择决定以后,应用在接口out方向的ACL起作用
l 根据IP包头中的目的地址查路由,有路由,则选择出接口,没有路由,则直接丢弃
l 根据路由查到出接口,出接口out方向是否调用ACL?
l 没有ACL,则直接从接口送出去
l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,则从出接口送出去
l 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃
l 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃

 

 

 

 

ACL的匹配流程:

ACL的匹配流程

l 根据语句顺序进行匹配,如果匹配中一条语句,则直接执行动作
l 如果第一条语句没有匹配中,则匹配第二条
l 末尾隐含deny any

 

 

 

 

通配符掩码:

通配符掩码

0 表示严格匹配
1 表示无所谓

简写1:
access-list 1 permit 192.168.1.1 0.0.0.0
access-list 1 permit host 192.168.1.1

简写2:
access-list 1 permit 0.0.0.0 255.255.255.255
access-list 1 permit any

 

 

 

 

标准ACL配置:

标准ACL配置

access-list 1 deny 192.168.1.1 0.0.0.0
access-list 1 permit 0.0.0.0 255.255.255.255

interface e0
ip access-group 1 in

记住:“no access-list access-list-number” 将会删除整个ACL列表。
配置了ACL一定要在接口下调用,否则不生效,或者接口下调用了ACL,但是全局下没有这个ACL,也不生效。

 

 

 

 

扩展ACL配置:

扩展ACL配置

access-list 100 deny tcp any host 192.168.2.200 eq 23
access-list 100 permit ip any any

interface e1
ip access-group 1 out
记住:“no access-list access-list-number” 将会删除整个ACL列表

 

 

 

 

命名标准ACL配置:

ip access-list standard 1 (可以是序号,也可以是名字)
10 permit host 192.168.1.1
20 permit any

 

 

 

 

命名扩展ACL配置:

ip access-list extended 100 (可以是序号,也可以是名字)
10 deny tcp any host 192.168.2.200 eq 23
20 permit ip any any
命名序列号步长默认为10

 

 

 

 

ACL语句修改:

ip access-list extended 100
no 10 //删除语句10
11 deny tcp any host 192.168.2.200 eq 80 //在语句20前插入一条,序号为11

从定义ACL序列号步长:
ip access-list resequence xxxx(ACL序号或命名) 10 10 (递增数值)

 

 

 

 

ACL几个示例:

l 拒绝192.168.2.0 网段,使用TCP协议,去访问其他网段的23端口
ip access-list extended 101
10 deny tcp 192.168.2.0 0.0.0.255 any eq telnet
20 permit ip any any

l 禁止所有网段访问192.168.1.1的snmp端口
ip access-list extended 110
10 deny udp any host 192.168.1.1 eq snmp
s20 permit ip any any

l 拒绝172.16.4.0 网段,使用TCP协议,去访问172.16.3.0网段的20,21端口,放行其他流量
ip access-list extended 101
10 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
20 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
30 permit ip any any

l 禁止172.16.0.0-172.16.255.0/24之间所有偶数子网访问192.168.1.1的80端口
ip access-list extended 101
10 deny tcp 172.16.0.0 0.0.254.255 host 192.168.1.1 eq 80
20 permit ip any any
一个练习而已,不要当真!!

l 禁止192.168.1.0网段使用 6666端口访问192.168.2.0的3389端口
ip access-list extended 101
10 deny tcp/udp 192.168.1.0 0.0.0.255 eq 6666 192.168.2.0 0.0.0.255 eq 3389

 

 

 

 

查看ACL:

show run | section access-list
show ip access-lists
show ip access-lists interface vlan 10
show ip interface vlan 10
Vlan10 is up, line protocol is up
Outgoing access list is not set
Inbound access list is 100

 

 

 

 

限制设备管理:

只允许192.168.1.1,192.168.2.1管理设备
access-list 1 permit 192.168.1.1
access-list 1 permit 192.168.2.1

line vty 0 4
transport input telnet
access-class 1 in

 

 

 

 

注意事项:

交换机的二层接口只能调用in方向的ACL
二层交换机有能力查看ACL中的匹配条件,如源目IP,端口号等等,只是是否有必要而已
交换机ACL可以调用在SVI,或者三层接口上,方法与路由器三层接口一样。
 

 

 

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料