访问控制列表ACL
-
策略限制
-
企业网络中的设备在进行通信时,需要保证数据传输的安全可靠性和网络的性能稳定
-
访问控制列表ACL可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行处理。从而可以实现对网络的访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等
ACL在企业网络中的应用
ACL应用场景
ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的操作
ACL可以通过定制规则来允许或者拒绝流量的通过
ACL分类
基本ACL 2000-2999 源IP地址等
高级ACL 3000-3999 源ip地址、目的地址、源端口、目的端口等
二层ACL 4000-4999 源mac地址、目的Mac地址、以太帧协议等
命名ACL 命名
ACL的工作原理
ACL规则
每个ACL可以包含多个规则,RTA根据规则对数据流量进行过滤
从第一条语句开始向下匹配。一旦匹配成功则进行执行并不在进行后续匹配
ACL工作原理
- 从第一条语句开始向下匹配,一旦匹配成功则进行执行并不再进行后续匹配
- 路由器的一个接口同一个方向最多只能够有一个列表,但一个列表中可以有多条语句
- 列表在调用时需要分清出入口,以数据流向为参照,进入接口的是"in" 出口是"out"
- 访问控制列表在接口应用的方向
- 出:已经过路由器的处理,正离开路由器接口的数据包
- 入:已到达路由器接口的数据包,将被路由器处理
- 从路由器的角度来看,数据包可以分为进入的和出去的数据包。在不同方向应用ACL时,是对两种不同数据流量进行过滤,分别是出口流量和入口流量。
- ACL是一组判断语句的集合,具体对下列数据包进行检测并控制:
从入站接口进入设备的数据包;从出站接口离开设备的数据包。
注意事项
- 1、访问控制列表对路由器本身产生的数据包不起作用
- 2、只有在数据包与第一个判断条件不匹配时,它才交给ACL中的下一个条件判断语句进行比较
- 3、如果不与任一语句匹配,则它必与最后隐含的拒绝匹配(思科) ***华为默认允许。
- 4、写规则时按照从具体到普遍的次序来排列条目
- 5、将较经常发生的条件放在较不经常发生的条件之前
- 6、在一个接口中只能应用一个acl策略
ACL的配置
-
基本访问控制列表
基于源IP地址过滤数据包
标准访问控制列表的访问控制列表号是2000-2999
应用ACL时尽量放在离目标更近******* -
高级访问控制列表
基于源IP地址、目的IP地址、指定协议、端口和标志来过滤数据包
扩展访问控制列表的访问控制列表号是3000-3999
应用ACL时尽量放在离源更近******* -
命名访问控制列表
命名访问控制列表允许在标准和扩展访问控制列表中使用名称代替表号
案例1
例1:在流策略中应用ACL,使设备对192.168.1.0/24网段的报文进行过滤,拒绝192.168.1.2和192.168.1.3主机地址的报文通过,允许192.168.1.0/24网段的其他地址的报文通过。
流策略的ACL默认动作为permit,该例属于“deny少部分报文,permit大部分报文”的情况,所以只需配置rule deny xxx。
#
acl number 2000
rule 5 deny source 192.168.1.2 0
rule 10 deny source 192.168.1.3 0
rule 15 permit source 192.168.1.0 24
#
案例2
例2:在流策略中应用ACL,使设备对192.168.1.0/24网段的报文进行过滤,允许192.168.1.2和192.168.1.3主机地址的报文通过,拒绝192.168.1.0/24网段的其他地址的报文通过。
流策略的ACL默认动作为permit,该例属于“permit少部分报文,deny大部分报文”的情况,所以需先配置rule permit xxx,再配置rule deny xxxx。
#
acl number 2000
rule 5 permit source 192.168.1.2 0
rule 10 permit source 192.168.1.3 0
rule 15 deny source 192.168.1.0 0.0.0.255
#
案例3
在Telnet中应用ACL,仅允许管理员主机(IP地址为172.16.105.2)能够Telnet登录设备,其他用户不允许Telnet登录。
Telnet的ACL默认动作为deny,该例属于“permit少部分报文,deny大部分报文”的情况,所以只需配置rule permit xxx。
#
acl number 2000
rule 5 permit source 172.16.105.2 0
#
案例4
在Telnet中应用ACL,不允许某两台主机(IP地址为172.16.105.3和172.16.105.4)Telnet登录设备,其他用户均允许Telnet登录。
Telnet的ACL默认动作为deny,该例属于“deny少部分报文,permit大部分报文”的情况,所以需先配置rule deny xxx,再配置rule permit。
#
acl number 2000
rule 5 deny source 172.16.105.3 0
rule 10 deny source 172.16.105.4 0
rule 15 permit
#
案例5
在FTP中应用ACL,不允许用户在周六的00:00–8:00期间访问FTP服务器,允许用户在其他任意时间访问FTP服务器。
FTP的ACL默认动作为deny,该例属于“deny少部分报文,permit大部分报文”的情况,所以需先配置rule deny xxx,再配置rule permit xxxx。
#
time-range t1 00:00 to 08:00 Sat
time-range t2 00:00 to 23:59 daily
#
acl number 2000
rule 5 deny time-range t1
rule 10 permit time-range t2
#
基本ACL:
需求1:实现办公室不能够访问server
[Huawei]acl 2001
[Huawei-acl-basic-2001]rule deny source 10.10.1.0 0.0.0.255
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 2001
[Huawei]display acl all //查看所有ACL策略
规则编号的步长:
默认步长为5,当定义其他步长值再恢复为5时,所有规则的编号将重新按步长5排序。
[Huawei-acl-basic-2000]step 3
[Huawei-acl-basic-2000]undo step
***需求2:实现PC2不能访问lnternet
[Huawei]acl 2002
[Huawei-acl-basic-2002]rule deny source 10.10.1.20 0.0.0.0
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]traffic-filter outbound acl 2002
注意:如果外网定义了Easy ip 那么策略应该是如下:
acl number 2000
rule 4 deny source 10.10.1.20 0
注意:流量在被路由器ACL处理时,如果配置了NAT,会先进行NAT转换,再通过ACL过滤。
或者:
????
????
删除定义的规则:
[Huawei-acl-basic-2001]dis th
[V200R003C00]
#
acl number 2001
rule 5 deny source 10.10.1.0 0.0.0.255
#
return
[Huawei-acl-basic-2001]undo rule 5
删除ACL:
[Huawei-GigabitEthernet0/0/2]undo traffic-filter outbound
[Huawei]undo acl 2001
思考:
在需求1中设置办公室不能访问Server后Server能访问办公室吗?
[Huawei-acl-adv-3001]rule deny icmp source 10.10.1.0 0.0.0.255 destination any icmp-type echo
[Huawei-GigabitEthernet0/0/1]traffic-filter outbound acl 3001
高级ACL:
允许PC1访问web服务器的WWW服务
允许PC1能够通过ICMP连接web服务
禁止PC1访问web服务器的其他服务
[Huawei]acl 3002
[Huawei-acl-adv-3002]rule permit tcp source 10.10.1.10 0 destination 172.16.1.10 0 destination-port eq 80
[Huawei-acl-adv-3002]rule permit icmp source 10.10.1.10 0 destination 172.16.1.10 0
[Huawei-acl-adv-3002]rule deny ip source 10.10.1.10 0 destination 172.16.1.10 0
[Huawei-acl-adv-3002]int g0/0/0
[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 3002
修改策略,允许3389端口进行流量放行
[Huawei-acl-adv-3002]rule 11 permit tcp source 10.10.1.10 0 destination 172.16.1.10 0 destination-port eq 3389
继续修改策略,禁止pc1访问web服务:
[Huawei-acl-adv-3000]undo rule 5
恢复pc能够访问web服务:
[Huawei-acl-adv-3000]rule 12 permit tcp source 10.10.1.10 0 destination 172.16.1.10 0 destination-port eq www
设置10.10.1.0网段不能向外发起TCP连接,但是其他人可向10.10.1.0发起TCP连接。
# acl number 3003
# rule 5 permit tcp source 10.10.1.0 0.0.0.255 tcp-flag ack
# rule 10 permit tcp source 10.10.1.0 0.0.0.255 tcp-flag rst
# rule 15 deny tcp source 10.10.1.0 0.0.0.255
# interface GigabitEthernet0/0/0
# traffic-filter inbound acl 3003
命名ACL:
限制内网用户禁止在上班时间访问互联网:
通过命名ACL及时间限制实现
[Huawei]time-range nowww 9:00 to 12:00 working-day
[Huawei]time-range nowww 14:00 to 18:00 working-day
[Huawei]time-range nowww from 00:00 2014/01/01 to 23:59 2014/12/31
[Huawei]acl name dmm
[Huawei-acl-adv-dmm]rule deny tcp source any destination-port eq www time-range nowww
[Huawei-acl-adv-dmm]rule permit ip
[Huawei-GigabitEthernet0/0/1]traffic-filter inbound acl name dmm
<0-6> Day of the week(0 is Sunday) //一周中的任意一天,代表可用数字代替,0表示周日
Fri Friday //周五
Mon Monday //周一
Sat Saturday //周六
Sun Sunday //周日
Thu Thursday //周四
Tue Tuesday //周二
Wed Wednesday //周三
daily Every day of the week //每天
off-day Saturday and Sunday //双休日 6-7
working-day Monday to Friday //工作日,1-5
[Huawei]display time-range all
[Huawei]display clock //查看时间
<Huawei>clock datetime 11:11:11 2020-12-12
[Huawei]acl name jibenacl basic //创建一个基本的命名ACL
二层ACL过滤:
acl 4000
rule deny source-mac 5489-98cd-1b07
# interface GigabitEthernet0/0/0
traffic-filter inbound acl 4000
2.通过acl实现远程管理控制:
实现PC1能够远程管理R1:
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 10.10.1.10 0
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]set authentication password cipher 123456
[Huawei-ui-vty0-4]user privilege level 3
[Huawei-ui-vty0-4]acl 2000 inbound
通过修改acl策略实现WEB服务器也能够管理R1:
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 172.16.1.2 0
通过命令查询acl策略时,策略最后括号中表示已经匹配次数
[Huawei-GigabitEthernet0/0/1]dis acl all
Total quantity of nonempty ACL number is 2
Advanced ACL 3000, 3 rules
Acl's step is 5 '
rule 10 permit icmp source 10.10.1.10 0 destination 172.16.1.2 0 (2 matches)
<Huawei>clock timezone beijing add 08:00:00
<Huawei>clock datetime 15:21:00 2021-01-18
<Huawei>dis clock
2021-01-18 15:21:16
Monday
Time Zone(beijing) : UTC+08:00
# nat server protocol tcp global current-interface 3389 inside 10.10.1.10 3389