第44节 ACL——控制路由器上接口大门的进出规则
这里写目录标题
1 ACL概述
- 定义:Access Control List 访问控制列表。访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。
- 作用:访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。
- 是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。
- 检查对象:三层IP包头(源地址、目标地址等)、四层头部(TCP、UDP端口号)、[5层数据]。
- 应用场合:路由器和三层交换机、防火墙配置(一般称为策略)。本节内容主要介绍应用于路由器及三层交换机的ACL。
2 ACL分类及原理
2.1 标准ACL
- 表号范围:1~99。只要将表号设置在这个范围内,就是标准ACL表。
- 特点:只能基于数据包中的“源IP”对包进行过滤。
- 配置位置:流量流经的路由器上,由于标准ACL表只能检查源IP,因此需要尽可能配置在离目标近的路由器,以避免误杀。
- 应用于进口还是出口,取决于流量控制的总方向。
- 要应用到哪个路由器就在哪个路由器上配置命令:
'''创建标准ACL及新增条目'''
en
conf t
access-list 1
access-list 1 permit/deny 源IP或源网段 反子网掩码
access-list 1 deny 10.1.1.1 0.0.255.255
access-list 1 deny 10.1.0.0 0.0.255.255
access-list 1 deny 10.1.1.1 255.255.255.255
access-list 1 deny any
access-list 1 deny host 10.1.1.1
access-list 1 permit any
'''查看表'''
en
show ip access-list 1
'''删除表'''
en
conf t
no access-list 1
'''编辑完ACL表后,需要将ACL表应用于哪个接口哪个反向'''
en
conf t
int f0/0
ip access-group 1 in/out
exit
2.2 扩展ACL
- 表号范围:100~199。
- 特点:可以基于源IP、目标IP、端口号、协议等对数据包进行过滤。
- 配置位置:流量流经的路由器上,由于扩展ACL表条件丰富,因此尽可能配置在离源近的路由器,以减少路由器负担。
- 应用于进口还是出口,取决于流量控制的总方向。
- 要应用到哪个路由器就在哪个路由器上配置命令:
'''创建标准ACL及新增条目'''
en
conf t
acc 100
acc 表号 permit/deny 协议 源IP或源网段 反子网掩码 目标IP或目标网段 反子网掩码 [eq 端口号]
acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
acc 100 deny udp host 10.1.1.1 any eq 53
acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 deny tcp host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 deny icmp host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 permit ip any any
'''查看表'''
en
show ip access-list 1
'''删除表'''
en
conf t
no access-list 1
'''编辑完ACL表后,需要将ACL表应用于哪个接口哪个反向'''
en
conf t
int f0/0
ip access-group 1 in/out
exit
2.3 原理
- 进出(in/out)是针对路由器而言,在每个接口上都有两个方向。

- ACL表贴于哪个口,就控制哪个口的进出,贴于门外,则表示满足规则运行进入;贴于门内,则表示满足规则可以出去。
- 一个接口的一个方向(进和出)仅应用一张ACL表。
- ACL表严格自上而下逐条检查,因此条目顺序很重要。
- ACL表中自上而下有多个条目,每个条目由条件与动作构成。每当有流量来时,严格自上而下逐条检查条目,当条件完全满足时,执行动作;当条件不完全满足时,检查下一条;当所有条件都不满足时,则拒绝通过,这是隐藏在ACL表最后的。
3 ACL编辑
- ACL表编辑及应用应该在整个网络已经能做正常ping通后再考虑。
- ACL表用于过滤数据包,先根据流量的流经,判断应用在哪个路由器、哪个接口、哪个方向上。
- 考虑使用哪种ACL表。
- 开始编写时先判断大部分流量是拒绝通过还是允许通过,决定ACL表最后一行如何编写。
- 建议自下往上编写条目,越往上一般条件限制越严格。
- 一般情况下,标准或扩展ACL表一旦编写好,无法修改某一条、无法删除某一条、也无法修改顺序、也无法插入某一条,只能一直在最后添加新的条目。如果要修改/删除/调整顺序,只能删除整张表,重新写。
4 命名ACL
- 是对标准ACL和扩展ACL的功能完善,不是第三类ACL表。
- 作用:可以对标准或扩展ACL进行自定义命名。
- 优点:(1)自定义命名更容易辨认,也便于记忆。(2)可以任意修改/删除/插入某一条。
- 可以理解为进入ACL表配置模式才能修改/删除/插入条目,在全局配置模式就只能删除整个表。
- 相关命令:
en
conf t
acc 1 deny host 10.1.1.1
acc 1 permit any
acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 permit ip any any
ip access-list extended/standard 自定义表名
ip access-list ex kongzhi-80-oa
permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq 80
permit tcp 172.16.0.0 0.0.255.255 host 10.1.1.1 eq 80
deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0
exit
do sh ip acc
ip access-list ex kongzhi-80-oa
no 20
15 permit tcp 172.16.0.0 0.0.255.255 host 10.1.1.1 eq 80
do sh ip acc
ip access-list ex 100
5 总结
- NTFS权限列表也是ACL表,本节与之无关。
- 重点理解反子网掩码起到的作用。
- 重点理解ACL条目的执行规律。
- 理解ACL应配置在哪个路由器、哪个接口、哪个方向上。
- 掌握相关命令。
6 参考文献
- 《访问控制列表百科》