01-ACL典型配置举例
本章节下载: 01-ACL典型配置举例 (379.80 KB)
目 录
本文档介绍了ACL(Access Control List,访问控制列表)的配置举例。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文假设您已了解ACL特性。
如图1所示,研发部和管理部中均部署了网络视频设备,这些视频设备的MAC地址为000f-e2xx-xxxx,现要求限制这些设备仅每天的8:30到18:00才能够向外网发送数据。
图1 通过MAC地址过滤流量配置组网图
表1 适用产品及版本
产品 |
软件版本 |
S12500R |
Release 5210及以上版本 |
在受限设备的IP地址不定时,可以通过MAC地址来进行匹配;而对于具有相同MAC地址前缀的多台设备,也可以通过MAC地址掩码的方式来进行同时匹配。
· 缺省情况下,本设备的端口处于ADM(Administratively Down)状态。请根据实际需要在对应端口视图下使用undo shutdown命令开启接口。
· 本举例中的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
# 配置时间段time1,时间范围为每天的8:30~18:00。
<Device> system-view
[Device] time-range time1 8:30 to 18:00 daily
# 创建二层ACL 4000,定义规则为在time1时间段内允许源MAC地址前缀为000f-e2的所有报文通过,其他时间拒绝。
[Device] acl mac 4000
[Device-acl-mac-4000] rule permit source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
[Device-acl-mac-4000] rule deny source-mac 000f-e200-0000 ffff-ff00-0000
[Device-acl-mac-4000] quit
# 配置包过滤功能,应用二层ACL 4000对端口HundredGigE1/0/1和HundredGigE1/0/2收到的报文进行过滤。
[Device] interface hundredgige 1/0/1
[Device-HundredGigE1/0/1] packet-filter mac 4000 inbound
[Device-HundredGigE1/0/1] quit
[Device] interface hundredgige 1/0/2
[Device-HundredGigE1/0/2] packet-filter mac 4000 inbound
[Device-HundredGigE1/0/2] quit
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Device] display packet-filter interface inbound
Interface: HundredGigE1/0/1
Inbound policy:
MAC ACL 4000
Interface: HundredGigE1/0/2
Inbound policy:
MAC ACL 4000
上述信息显示HundredGigE1/0/1和HundredGigE1/0/2端口上已经正确应用了包过滤功能。
在每天的8:30到18:00时间段内,视频设备可以正常与外网中的设备进行通信;在其它时间段内,视频设备无法与外网中的设备进行通信。
#
interface HundredGigE1/0/1
port link-mode bridge
packet-filter mac 4000 inbound
#
interface HundredGigE1/0/2
port link-mode bridge
packet-filter mac 4000 inbound
#
time-range time1 08:30 to 18:00 daily
#
acl mac 4000
rule 5 permit source-mac 000f-e200-0000 ffff-ff00-0000 time-range time1
rule 10 deny source-mac 000f-e200-0000 ffff-ff00-0000
如图2所示,当设备作为FTP服务器时,需要为网络中的不同用户设置不同的FTP访问权限:
· 10.1.2.0/24网段的用户任意时间都可以访问FTP服务器;
· 10.1.1.0/24网段的用户只能在工作时间(周一至周五的8:30~18:00)访问FTP服务器;
· 符合访问条件的用户可以获得level-15的用户访问权限,不符合条件的用户不能访问FTP服务器。
图2 配置设备的FTP访问权限组网图
表2 适用产品及版本
产品 |
软件版本 |
S12500R |
Release 5210及以上版本 |
· 为了根据FTP用户的IP地址来区分不同的访问权限,需要创建ACL配置规则只允许源地址为10.1.2.0/24和10.1.1.0/24的报文通过,并指定10.1.1.0/24网段的生效时间段;
· 为实现FTP服务器区分用户权限,需要将ACL规则与FTP服务功能关联。
缺省情况下,本设备的端口处于ADM(Administratively Down)状态。请根据实际需要在对应端口视图下使用undo shutdown命令开启接口。
# 配置时间段ftp,时间范围为周一至周五的8:30~18:00。
<Device> system-view
[Device] time-range ftp 8:30 to 18:00 working-day
# 创建IPv4基本ACL 2000,定义规则允许源IP地址为10.1.2.0/24的报文通过。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 10.1.2.0 0.0.0.255
# 定义规则为在ftp时间段内允许源IP地址为10.1.1.0/24的报文通过。
[Device-acl-ipv4-basic-2000] rule permit source 10.1.1.0 0.0.0.255 time-range ftp
[Device-acl-ipv4-basic-2000] quit
# 开启设备的FTP服务器功能。
[Device] ftp server enable
# 新增FTP用户。
[Device] local-user ftp
[Device-luser-manage-ftp] service-type ftp
# 配置FTP用户密码。
[Device-luser-manage-ftp] password simple n123456789
# 配置FTP用户的访问权限为level-15。
[Device-luser-manage-ftp] authorization-attribute user-role level-15
[Device-luser-manage-ftp] quit
# 配置FTP服务器关联ACL 2000设置FTP用户的访问权限。
[Device] ftp server acl 2000
# 工作时间,在IP地址为10.1.2.100的主机上尝试登录FTP服务器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根据提示信息正确输入FTP用户名和密码后,提示登入成功。
# 工作时间,在IP地址为10.1.1.100的主机上尝试登录FTP服务器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根据提示信息正确输入FTP用户名和密码后,提示登入成功。
# 非工作时间,在IP地址为10.1.2.100的主机上尝试登录FTP服务器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
Connected to 10.1.2.1.
220 FTP service ready.
User (10.1.2.1:(none)): ftp
331 Password required for ftp.
Password:
230 User logged in.
在根据提示信息正确输入FTP用户名和密码后,提示登入成功。
# 非工作时间,在IP地址为10.1.1.100的主机上尝试登录FTP服务器:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>ftp 10.1.2.1
ftp>
ftp> ls
Not connected.
没有提示要求输入用户名和密码,执行FTP命令后,提示没有FTP连接成功。
#
time-range ftp 08:30 to 18:00 working-day
#
acl basic 2000
rule 5 permit source 10.1.2.0 0.0.0.255
rule 10 permit source 10.1.1.0 0.0.0.255 time-range ftp
#
local-user ftp class manage
password hash $h$6$UWEjHA98JWT7Y1/F$UVkMT4TM9VOeOh4QC0x57/I/HMJxv32llYQO5jscZ6v
5b+nJUqOyOFGXlpAevWG/hPo0tKqPxK4nqSe9TtjlJg==
service-type ftp
authorization-attribute user-role level-15
authorization-attribute user-role network-operator
#
ftp server enable
ftp server acl 2000
如图3所示,某公司的网络分成管理部、研发部和服务器三个区域,通过Device设备与Internet连接。现要求通过ACL实现:
· 管理部任意时间都可以访问Internet和服务器,但不能访问研发部;
· 研发部在工作时间(周一至周五的8:30~18:00)只能访问服务器,不能访问Internet和管理部;非工作时间可以访问Internet和服务器,但不能访问管理部。
图3 通过IP地址过滤流量配置组网图
表3 适用产品及版本
产品 |
软件版本 |
S12500R |
Release 5210及以上版本 |
· 为实现管理部不能访问研发部,需要创建ACL配置规则拒绝目的地址为10.1.2.0/24的报文,在Device的HundredGigE1/0/4的入方向进行过滤;
· 为实现研发部在工作时间只能访问服务器,需要创建ACL配置规则只允许目的地址为10.2.1.0/24的报文通过,并指定规则的生效时间段,在Device的HundredGigE1/0/3的入方向上进行过滤;
· 为实现研发部在非工作时间不能访问管理部,需要创建ACL配置规则拒绝目的地址为10.1.1.0/24的报文,在Device的HundredGigE1/0/3的入方向上进行过滤;
· 缺省情况下,ACL规则的匹配顺序为配置顺序,因此在此例中,需要先创建指定时间段内只允许目的地址为10.2.1.0/24报文通过的规则,再创建指定时间段内拒绝其他报文通过的规则。
缺省情况下,本设备的端口处于ADM(Administratively Down)状态。请根据实际需要在对应端口视图下使用undo shutdown命令开启接口。
# 创建IPv4高级ACL 3000。
<Device> system-view
[Device] acl advanced 3000
# 创建规则,过滤目的地址为10.1.2.0/24网段的报文。
[Device-acl-ipv4-adv-3000] rule deny ip destination 10.1.2.0 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
# 配置包过滤功能,应用IPv4高级ACL 3000对端口HundredGigE1/0/4收到的IP报文进行过滤。
[Device] interface hundredgige 1/0/4
[Device-HundredGigE1/0/4] packet-filter 3000 inbound
[Device-HundredGigE1/0/4] quit
(2) 配置研发部的网络权限
# 配置时间段worktime,指定周一至周五的8:30~18:00为工作时间。
[Device] time-range worktime 8:30 to 18:00 working-day
# 创建IPv4高级ACL 3001。
[Device] acl advanced 3001
# 创建规则,允许时间段内目的地址为10.2.1.0/24网段的报文通过。
[Device-acl-ipv4-adv-3001] rule permit ip destination 10.2.1.0 0.0.0.255 time-range worktime
# 创建规则,过滤时间段内其他的报文。
[Device-acl-ipv4-adv-3001] rule deny ip time-range worktime
# 创建规则,过滤目的地址为10.1.1.0/24网段的报文。
[Device-acl-ipv4-adv-3001] rule deny ip destination 10.1.1.0 0.0.0.255
[Device-acl-ipv4-adv-3001] quit
# 配置包过滤功能,应用IPv4高级ACL 3001对端口HundredGigE1/0/3收到的IP报文进行过滤。
[Device] interface hundredgige 1/0/3
[Device-HundredGigE1/0/3] packet-filter 3001 inbound
[Device-HundredGigE1/0/3] quit
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Device] display packet-filter interface inbound
Interface: HundredGigE1/0/3
Inbound policy:
IPv4 ACL 3001
Interface: HundredGigE1/0/4
Inbound policy:
IPv4 ACL 3000
上述信息显示HundredGigE1/0/3和HundredGigE1/0/4端口上已经正确应用了包过滤功能。
# 在周一的上午9:30,从研发部的某台电脑上ping Internet上某个网站,结果无法ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
C:\>
# 在周一的上午9:30,从管理部的某台电脑上ping Internet上某个网站,结果可以ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 30ms, Maximum = 30ms, Average = 30ms
C:\>
# 在周一的晚上19:30,从研发部的某台电脑上ping Internet上某个网站,结果可以ping通。
C:\>ping www.google.com
Pinging www.google.com [173.194.127.242] with 32 bytes of data:
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Reply from 173.194.127.242: bytes=32 time=30ms TTL=50
Ping statistics for 173.194.127.242:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 30ms, Maximum = 30ms, Average = 30ms
C:\>
#
interface HundredGigE1/0/3
port link-mode route
packet-filter 3001 inbound
#
interface HundredGigE1/0/4
port link-mode route
packet-filter 3000 inbound
#
time-range worktime 08:30 to 18:00 working-day
#
acl advanced 3000
rule 5 deny ip destination 10.1.2.0 0.0.0.255
#
acl advanced 3001
rule 5 permit ip destination 10.2.1.0 0.0.0.255 time-range worktime
rule 10 deny ip time-range worktime
rule 15 deny ip destination 10.1.1.0 0.0.0.255
某公司的网络组网如图4所示,现要求在网关Device上配置用户自定义ACL过滤所有从客户区收到的ARP请求报文,客户区的设备只能通过手工添加静态ARP表项的方式接入Device。
图4 用户自定义ACL配置组网图
表4 适用产品及版本
产品 |
软件版本 |
S12500R |
Release 5210及以上版本 |
· 与其他类型ACL不同,用户自定义使用rule命令创建规则时,如果指定编号的规则已存在,不会在旧规则原有内容的基础上叠加新的内容,而是直接对旧规则进行覆盖,即重新创建了该编号的规则,原有该编号的旧规则被删除。
· 缺省情况下,本设备的端口处于ADM(Administratively Down)状态。请根据实际需要在对应端口视图下使用undo shutdown命令开启接口。
· 本举例中的物理接口需要工作在二层模式。缺省情况下,本设备的物理接口处于三层模式,请根据实际需要在对应接口视图下使用port link-mode命令切换接口的工作模式。
# 创建用户自定义ACL 5000并进入相应视图。
<Device> system-view
[Device] acl user-defined 5000
# 配置ACL规则:为匹配ARP请求报文,需要从L3报文头-2字节开始偏移(对应关键字l2)。ARP请求报文的以太网协议类型字段取值为0x0806,操作类型字段(OP)取值为0x0001。从以太网首部的协议类型字段开始计算,以太网协议类型字段的偏移量为0字节,操作类型字段的偏移量为8字节。
[Device-acl-user-5000] rule deny l2 0806 ffff 0 l2 0001 ffff 8
[Device-acl-user-5000] quit
# 在端口HundredGigE1/0/1的入方向过滤匹配ACL 5000的报文。
[Device] interface hundredgige 1/0/1
[Device-HundredGigE1/0/1] undo shutdown
[Device-HundredGigE1/0/1] packet-filter user-defined 5000 inbound
[Device-HundredGigE1/0/1] quit
# 执行display packet-filter命令查看包过滤功能的应用状态。
[Device] display packet-filter interface inbound
Interface: HundredGigE1/0/1
Inbound policy:
User-defined ACL 5000
上述信息显示HundredGigE1/0/1端口上已经正确应用了包过滤功能。
# 在客户区新接入一台PC,在PC上指定网关(网关的IP地址为10.0.0.1)后未手工添加网关的ARP表项,不能ping通网关。
C:\>ping 10.0.0.1
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
C:\>
# 在该PC上手工添加网关的ARP表项,可以ping通网关。
C:\>ping 10.0.0.1
Pinging 10.0.0.1 with 32 bytes of data:
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Reply from 10.0.0.1: bytes=32 time=37ms TTL=255
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Reply from 10.0.0.1: bytes=32 time=1ms TTL=255
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 37ms, Average = 10ms
C:\>
#
interface HundredGigE1/0/1
port link-mode bridge
packet-filter 5000 inbound
#
acl user-defined 5000
rule 5 deny l2 08060000000000000001 ffff000000000000ffff 0
· H3C S12500R系列交换路由器 ACL和QoS配置指导-R52xx
· H3C S12500R系列交换路由器 ACL和QoS命令参考-R52xx
· H3C S12500R-48Y8C&S12500R-48C6D交换路由器 ACL和QoS配置指导-R52xx
· H3C S12500R-48Y8C&S12500R-48C6D交换路由器 ACL和QoS命令参考-R52xx
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!