第十一章:ACL原理与配置
随着网络的飞速发展,网络安全问题日益突出。访问控制列表 (ACL, Access Control List)
可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。
11.1 ACL概述
访问控制列表简称为ACL,它使用包过滤技术,在路由器上读取第3层及第4层包头中的信息,如源地址、目的地址、源端口和目的端口等,根据预告定义好的规则对包进行过滤从而达到访问控制的目的。ACL分很多种,不同场合应用不同种类的ACL。
- 基本ACL
基本ACL最简单,是通过使用IP包中的源IP地址进行过滤,表号范围2000-2999。
- 高级ACL
高级ACL比基本ACL具有更多的匹配项,功能更加强大和细化,可以针对包括协议类型、源地址、目的地址、源端口、目的端口和TCP连接建立等进行过滤,表号范围3000-3999。
- 基于时间ACL
ACL的生效时间段可以规定ACL规则在何时生效,比如某个特定时间段或者每周的某个固定时间段。
- 自反ACL
通过自反ACL可以实现网络节点的单向访问。
5、在访问控制列表的学习中,要特别注意以下两个术语。
① 通配符掩码:一个32比特位的数字字符串,它规定了当一个IP地址与其他的IP地址进行比较时,该IP地址中哪些位应该被忽略。通配符掩码中的”1”表示忽略IP地址中对应的位,而”0”则表示该位必须匹配。两种特殊的通配符掩码是”255.255.255.255”和”0.0.0.0”,前者等价于关键字”any”,而后者等价于关键字”host”。
② Inbound和Outbound:当在接口上应用访问控制列表时,用户要指明访问控制列表是应用于流入数据,还是流出数据。
11.2 实验一:基本ACL
1、实验需求
- 掌握ACL的配置方法
- 掌握ACL在接口下的应用方法
- 掌握流量过滤的基本方式
2、实验拓扑
实验拓扑如图11-1所示
图11-1 基本ACL
实验免费链接:【实战课】华为HCIA-Datacom认证实验教学-学习视频教程-腾讯课堂
- 实验步骤
(1)PC机的IP地址配置
PC1的配置,在ipv4下选择静态配置,输入对应的ip地址、子网掩码和网关,然后点击应用。PC2、sever同理PC1的配置如图11-2所示:
图11-2在PC1上手动添加IP地址
PC2的配置如图11-3所示:
图11-3在PC2上手动添加IP地址
(2)在交换机LSW1上创建VLAN10和20,把g0/0/1划分到vlan10,把g0/0/2划分到vlan20,把g0/0/3设置成trunk。
<Huawei>system-view
[Huawei]sysname LSW1
[LSW1]undo info-center enable
[LSW1]vlan batch 10 20
[LSW1]interface g0/0/1
[LSW1-GigabitEthernet0/0/1]port link-type access
[LSW1-GigabitEthernet0/0/1]port default vlan 10
[LSW1-GigabitEthernet0/0/1]quit
[LSW1]interface g0/0/2
[LSW1-GigabitEthernet0/0/2]port link-type access
[LSW1-GigabitEthernet0/0/2]port default vlan 20
[LSW1-GigabitEthernet0/0/2]quit
[LSW1]interface g0/0/3
[LSW1-GigabitEthernet0/0/3]port link-type trunk
[LSW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20
[LSW1-GigabitEthernet0/0/3]quit
(3)如图11-1所示,在路由器上配置IP地址,并配置单臂路由让PC1和PC2可以相互访问R1的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit
[R1]interface g0/0/1.10
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.10.254 24
[R1-GigabitEthernet0/0/1.10]arp broadcast enable
[R1-GigabitEthernet0/0/1.10]quit
[R1]interface g0/0/1.20
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 20
[R1-GigabitEthernet0/0/1.20]ip address 192.168.20.254 24
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
[R1-GigabitEthernet0/0/1.20]quit
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.1.1.254 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
(4)Server的配置如图11-4所示:
图11-4在server上手动添加IP地址
(5)测试PC1是否可以访问server,结果如图11-5所示:
图11-5 PC1上显示的ping程序测试信息
通过以上输出可以看到PC1能访问server
(6)测试PC2是否可以访问server,测试结果如图11-6所示:
图11-6 PC2上显示的ping程序测试信息
通过以上输出可以看到PC2也可以访问server
(7)在R1上配置基本的ACL
[R1]acl 2000 // 创建ACL编号为2000
[R1-acl-basic-2000]rule 10 deny source 192.168.20.0 0.0.0.255 //拒绝192.168.20.0网段
[R1-acl-basic-2000]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter inbound acl 2000 //在g0/0/口的入方向配置流量过滤,当匹配到acl2000流量则执行相应的过滤掉动作
[R1-GigabitEthernet0/0/1]quit
【技术要点】
基本acl配置过程及参数详解
1、创建基本ACL
[Huawei] acl [ number ] acl-number [ match-order config ]
acl-number:指定访问控制列表的编号。
match-order config:指定ACL规则的匹配顺序,config表示配置顺序。
2、配置基本ACL规则
[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ]
rule-id:指定ACL的规则ID。
deny:指定拒绝符合条件的报文。
permit:指定允许符合条件的报文。
source { source-address source-wildcard | any }:指定ACL规则匹配报文的源地址信息。如果不配置,表示报文的任何源地址都匹配。其中:
source-address:指定报文的源地址。
source-wildcard:指定源地址通配符。
any:表示报文的任意源地址。相当于source-address为0.0.0.0或者source-wildcard为255.255.255.255。
time-range time-name:指定ACL规则生效的时间段。其中,time-name表示ACL规则生效时间段名称。如果不指定时间段,表示任何时间都生效。
3、traffic-filter命令用来在接口上配置基于ACL对报文进行过滤。Inbound为针对接口入方向进行流量过滤,outbound为针对接口出方向流量进行过滤。
在接口下执行本命令,设备将会过滤匹配ACL规则的报文:
若报文匹配的规则的动作为deny,则直接丢掉该报文。
若报文匹配的规则的动作为permit,则允许该报文通过。
若报文没有匹配任何一条规则,则允许该报文通过。
4、实验调试
(1)测试PC1是否可以访问服务器,结果如图11-7所示:
图11-7 PC1上显示的ping程序测试信息
通过以上输出可以看到PC1不可以访问server
(2)测试PC2是否可以访问服务器,结果如图11-8所示:
图11-8 PC2上显示的ping程序测试信息
通过以上输出可以看到PC2可以访问server1,实验结束
【技术要点】
华为ACL总结:如果配置在接口上,则默认规则为允许,如果配置在其他地方,则默认规则为拒绝。
思考:如果只拒绝PC2访问服务器,基本的ACL应该怎么配置?
11.3 实验二:高级ACL
- 实验需求
- 掌握高级ACL的配置方法
- 掌握高级ACL在接口下的应用方法
- 掌握流量过滤的基本方式
- 实验拓扑
实验拓扑如图11-9所示:
图11-9高级ACL
- 实验步骤
(1)配置PC机的IP地址
PC1的配置,在ipv4下选择静态配置,输入对应的ip地址、子网掩码和网关,然后点击应用。PC2同理
PC1的配置如图11-10所示:
图11-10在PC1上手动添加IP地址
PC2的配置如图11-11所示:
图11-11在PC2上手动添加IP地址
(2)配置路由器R1的IP地址
<Huawei>system-view
[R1]undo info-center enable
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.10.254 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.20.254 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit
(2) 测试:PC1访问PC2,结果如图11-12所示:
图11-12 PC1上显示的ping程序测试信息
通过以上输出,可以看到PC1可以访问PC2
(3)配置高级ACL()
[R1]acl 3000 //创建ACL编号为3000
[R1-acl-adv-3000]rule 10 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 //拒绝192.168.10.0网段去访问192.168.20.0网段
[R1-acl-adv-3000]quit
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
[R1-GigabitEthernet0/0/0]quit
【技术要点】
高级acl配置过程及参数详解
1、创建高级ACL
[Huawei] acl [ number ] acl-number [ match-order config ]
acl-number:指定访问控制列表的编号。
match-order config:指定ACL规则的匹配顺序,config表示配置顺序。
2、配置高级ACL的规则
当参数protocol为IP时:
rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard | any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ]
ip :指定ACL规则匹配报文的协议类型为IP。
destination { destination-address destination-wildcard | any }:指定ACL规则匹配报文的目的地址信息。如果不配置,表示报文的任何目的地址都匹配。
dscp dscp:指定ACL规则匹配报文时,区分服务代码点(Differentiated Services Code Point),取值为:0~63。
tos tos:指定ACL规则匹配报文时,依据服务类型字段进行过滤,取值为:0~15。
precedence precedence:指定ACL规则匹配报文时,依据优先级字段进行过滤。precedence表示优先级字段值,取值为:0~7。
当参数protocol为TCP时:
rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard | any } | destination-port { eq port | gt port | lt port | range port-start port-end } | source { source-address source-wildcard | any } | source-port { eq port | gt port | lt port | range port-start port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ] *
protocol-number | tcp:指定ACL规则匹配报文的协议类型为TCP。可以采用数值6表示指定TCP协议。
destination-port { eq port | gt port | lt port | range port-start port-end}:指定ACL规则匹配报文的UDP或者TCP报文的目的端口,仅在报文协议是TCP或者UDP时有效。如果不指定,表示TCP/UDP报文的任何目的端口都匹配。其中:
eq port:指定等于目的端口;
gt port:指定大于目的端口;
lt port:指定小于目的端口;
range port-start port-end:指定源端口的范围。
tcp-flag:指定ACL规则匹配报文的TCP报文头中SYN Flag。
4、实验调试
(1)测试PC1是否可以访问PC2,结果如图11-13所示:
图11-13 PC1上显示的ping程序测试信息
通过以上输出我们可以看到PC1和PC2不能相互访问了。
(2)为了减少带宽浪费,在R1上作如下配置:
[R1]acl 3001
[R1-acl-adv-3001]rule 10 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255
[R1-acl-adv-3001]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter inbound acl 3001
[R1-GigabitEthernet0/0/1]quit
分析:PC2访问PC1的流量到达了PC1,PC1的回应包到达了R1的g0/0/0然后丢弃,这样会浪费带宽,所以要加上ACL 3001,这样PC2访问PC1的流量在R1的g0/0/1上就丢弃了。
11.4 实验三:基于时间ACL
- 实验需求
① 掌握高级ACL的配置方法
② 掌握高级ACL在接口下的应用方法
③ 掌握流量过滤的基本方式
- 实验拓扑
实验拓扑如图11-14所示:
图11-14基于时间的ACL
- 实验步骤
(1):配置IP地址
PC1的配置,在ipv4下选择静态配置,输入对应的ip地址以及子网掩码,然后点击应用。如图11-15所示:
图11-15在PC1上手动添加IP地址
R1的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 100.1.1.1 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit
R2的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 100.1.1.2 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]quit
[R2]ip route-static 192.168.1.0 24 100.1.1.1 //配置去PC1所在网段的静态路由
(2)测试PC1是否可以访问R2,结果如图11-16所示:
图11-16 PC1上显示的ping程序测试信息
通过以上输出,可以看到PC1可以访问 R2
(3):配置基于时间的ACL
[R1]time-range hw 8:00 to 17:00 working-day//配置时间段名字为‘hw’,设定时间为工作日的早上八点到下午五点
[R1]acl 3000
[R1-acl-adv-3000]rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 100.1.1.0 0.0.0.255 time-range hw
//在acl3000中调用名字为hw的时间段,该规则表示的意义为匹配源ip为192.168.1.0/24目的ip为100.1.1.0/24在每个工作日早上八点到下午五点的流量,执行动作为允许
[R1-acl-adv-3000]rule 20 deny ip //华为的ACL默认为允许所有,把以要设置这一条。
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 //在接口下调用
[R1-GigabitEthernet0/0/0]quit
- 实验调试
(1)查看路由器时间
[R1]display clock
2022-04-09 12:38:29
Saturday
Time Zone(China-Standard-Time) : UTC-08:00
通过以上输出, 可以看到设备显示为周六
(2)看PC1是否可以访问R2,结果如图11-17所示:
图11-17PC1上显示的ping程序测试信息
通过以上输出可以看到,PC1不能访问R2,因为星期六不在time-range hw范围内。
(3)修改R1的时间
<R1>clock datetime 12:00:00 2022-04-08
(4)测试PC1是否可以访问R2,结果如图11-18所示:
图11-18PC1上显示的ping程序测试信息
通过以上输出,我们可以看到PC1可以访问PC2,因为2022年4月8日12:00属于time-range的范围内。
11.5 实验四:使用基本ACL限制telnet登录
- 实验目的
- 配置路由器的vty密码;
- Tetnet程序的使用
- 使用基本ACL限制telnet登录
- 实验拓扑
实验拓扑如图11-19所示:
图11-19使用基本ACL限制telnet登录
- 实验步骤
(1)IP地址的配置
R1的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.2.254 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
R2的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]quit
R3的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R3
[R3]interface g0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R3-GigabitEthernet0/0/1]undo shutdown
[R3-GigabitEthernet0/0/1]quit
(2)设置telnet
[R1]user-interface vty 0 4 //进入VTY界面,同时允许5条线路
[R1-ui-vty0-4]authentication-mode password // 认证模式为密码认证
Please configure the login password (maximum length 16):1234 //密码为1234
[R1-ui-vty0-4]user privilege level 15 //设置用户权限为15
[R1-ui-vty0-4]quit
(3)基本ACL配置
[R1]acl 2000
[R1-acl-basic-2000]rule 10 deny source 192.168.2.1 0.0.0.0
[R1-acl-basic-2000]rule 20 permit //因为不是应用在接口,所以ACL拒绝所有
[R1]user-interface vty 0 4
[R1-ui-vty0-4]acl 2000 inbound //在VTY下调用 ACL 2000
[R1-ui-vty0-4]quit
- 实验调试
(1)查看R2是否可以telnet R1
<R2>telnet 192.168.1.254
Press CTRL_] to quit telnet mode
Trying 192.168.1.254 ...
Connected to 192.168.1.254 ...
Login authentication
Password:
<R1>通过以上输出,可以看到R2可以telnet R1。
(3)查看R3是否可以telnet R1
<R3>telnet 192.168.2.254
Press CTRL_] to quit telnet mode
Trying 192.168.2.254 ...
通过以上输出可以看到R3不能telnetR1,验证了实验的正确性。
11.6 实验五:自反ACL
- 实验需求
① 掌握高级自反ACL的配置方法
② 掌握自反ACL在接口下的应用方法
③掌握流量过滤的基本方式
- 实验拓扑
实验拓扑如图11-20所示:
图11-20自反ACL
- 实验步骤
(1)IP地址的配置
PC1的配置,在ipv4下选择静态配置,输入对应的ip地址、子网掩码和网关,然后点击应用。如图11-21所示:
图11-21在PC1上手动添加IP地址
PC2的配置如图11-22所示:
图11-22在PC2上手动添加IP地址
R1的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit
(2)测试PC1和PC2的连通性
PC1访问PC2,结果如图11-23所示:
图11-23PC1上显示的ping程序测试信息
通过以上输出可以看到PC1可以访问PC2。
PC2访问PC1,结果如图11-24所示:
图11-24PC2上显示的ping程序测试信息
通过以上输出可以看到PC2可以访问PC1。
(3)使用高级ACL实现单向访问控制
[R1]acl 3000
[R1-acl-adv-3000]rule 10 permit tcp source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 tcp-flag syn ack //允许员工办公室到总裁办公室的syn+ack报文通过,即允许对总裁办公室发起的TCP连接进行回应
[R1-acl-adv-3000]rule 20 deny tcp source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 tcp-flag syn //拒绝员工办公室到总裁办公室的syn请求报文通过,防止员工办公室主动发起TCP连接
[R1-acl-adv-3000]rule 30 deny icmp source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 icmp-type echo //拒绝员工办公室到总裁办公室的echo请求报文通过,防止员工办公室主动发起ping连通性测试。
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000
[R1-GigabitEthernet0/0/1]quit
- 实验调试
(1)测试PC1是否可以访问PC2,结果如图11-25所示:
图11-25 PC1上显示的ping程序测试信息
通过以上输出,可以看到PC1可以访问PC2。
(2)测试PC2是否可以访问PC1,结果如图11-26所示:
图11-26PC2上显示的ping程序测试信息
通过以上输出可以看到PC2不能主动访问PC1,达到实验目的,实验结束。
11.7 ACL命令汇总
同上表11-1列出了本章出现的命令
表11-1 ACL命令汇总
命令
作用
acl 2000
创建ACL2000
**rule deny source **192.168.1.0 0.0.0.255
拒绝192.168.1.0这个网段
traffic-filter inbound acl 2000
在接口上配置基于ACL对报文进行过滤。
display acl
查看ACL的配置信息
time-range
定义时间
display time-range
查看时间段信息
本文出自作者的《华为认证HCIA-datacom认证实验指南》
版权归原作者 卓应 所有, 如有侵权,请联系我们删除。