00-S12500_ACL典型配置举例
本章节下载: 00-S12500_ACL典型配置举例 (194.73 KB)
目 录
本文档介绍了ACL(Access Control List,访问控制列表)的配置举例。
ACL是一或多条规则的集合,用于识别报文流。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。网络设备依照这些规则识别出特定的报文,并根据预先设定的策略对其进行处理。
根据规则制订依据的不同,可以将ACL分为如表1所示的几种类型。
表1 ACL的分类
ACL类型 |
编号范围 |
适用的IP版本 |
规则制订依据 |
基本ACL |
2000~2999 |
IPv4 |
报文的源IPv4地址 |
IPv6 |
报文的源IPv6地址 |
||
高级ACL |
3000~3999 |
IPv4 |
报文的源IPv4地址、目的IPv4地址、报文优先级、IPv4承载的协议类型及特性等三、四层信息 |
IPv6 |
报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性等三、四层信息 |
||
二层ACL |
4000~4999 |
- |
报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息 |
用户自定义ACL |
5000~5999 |
IPv4和IPv6 |
以报文头为基准,指定从报文的第几个字节开始与掩码进行“与”操作,并将提取出的字符串与用户定义的字符串进行比较,从而找出相匹配的报文 |
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文假设您已了解ACL特性。
如图1所示,某公司IPv4网络中,管理者希望在Switch上配置二层ACL实现:在每周一至周五的中午12:00至下午18:00,禁止Router下的所有用户访问Server。
图1 二层ACL特性配置组网图
本举例是在S12500-CMW710-R7129版本上进行配置和验证的。
如果QoS策略在定义流分类规则时引用了ACL,ACL规则中的deny表示匹配的报文不执行QoS策略中C-B对中的动作,ACL规则中的permit表示匹配的报文执行QoS策略中C-B对中的动作。
# 配置时间段time_1。
<Switch> system-view
[Switch] time-range time_1 12:00 to 18:00 working-day
# 配置二层ACL 4000规则匹配源MAC和目的MAC并引用时间段time_1。
[Switch] acl number 4000
[Switch-acl-ethernetframe-4000] rule permit source-mac 0000-0000-0002 ffff-ffff-ffff dest-mac 0000-0000-0001 ffff-ffff-ffff type 0800 ffff time-range time_1
[Switch-acl-ethernetframe-4000] quit
# 配置流分类c_deny引用ACL 4000。
[Switch] traffic classifier c_deny
[Switch-classifier-c_deny] if-match acl 4000
[Switch-classifier-c_deny] quit
# 配置流行为b_deny的动作为丢弃数据包。
[Switch] traffic behavior b_deny
[Switch-behavior-b_deny] filter deny
[Switch-behavior-b_deny] quit
# 配置QoS策略Q_deny,将相应的流分类和流行为关联。
[Switch] qos policy Q_deny
[Switch-qospolicy-Q_deny] classifier c_deny behavior b_deny
[Switch-qospolicy-Q_deny] quit
# 在与Router相连的端口GE2/0/1的入方向上应用QoS策略Q_deny。
[Switch] interface GigabitEthernet 2/0/1
[Switch-GigabitEthernet2/0/1] undo shutdown
[Switch-GigabitEthernet2/0/1] qos apply policy Q_deny inbound
[Switch-GigabitEthernet2/0/1] quit
# 查看Switch的端口GE2/0/1上所配置的QoS策略信息。
[Switch] display qos policy interface GigabitEthernet 2/0/1
Interface: GigabitEthernet2/0/1
Direction: Inbound
Policy: Q_deny
Classifier: c_deny
Operator: AND
Rule(s) : If-match acl 4000
Behavior: b_deny
Filter Enable: deny
在周一至周五的中午12:00至下午18:00(ACL规则生效时间)内服务器上不再有来自源MAC为0-0-2,目的MAC为服务器自己(0-0-1)的IPv4流量。
#
traffic classifier c_deny operator and
if-match acl 4000
#
traffic behavior b_deny
filter deny
#
qos policy Q_deny
classifier c_deny behavior b_deny
#
interface GigabitEthernet2/0/1
port link-mode bridge
qos apply policy Q_deny inbound
#
time-range time_1 12:00 to 18:00 working-day
#
acl number 4000
rule 0 permit type 0800 ffff source-mac 0000-0000-0002 ffff-ffff-ffff dest-mac 0000-0000-0001 ffff-ffff-ffff time-range time_1
#
如图2所示,交换机的GE2/0/1接口下连接了多个网段的主机,要求在接口GE2/0/1的入方向上引用IPv4基本ACL对报文进行过滤,仅允许来自10.1.1.0/24网段的报文通过,而拒绝来自所有其它网段的报文通过。
图2 基本ACL配置组网图
本举例是在S12500-CMW710-R7129版本上进行配置和验证的。
# 创建IPv4基本ACL 2000并进入相应视图。
<Switch> system-view
[Switch] acl number 2000
# 配置两条ACL规则,分别为允许源地址为10.1.1.0/24网段报文通过和拒绝其它网段的报文通过。(ACL匹配顺序缺省情况下为配置顺序,本例中如果先配置了拒绝所有网段的报文通过的规则,则指定网段的报文也将被过滤)
[Switch-acl-basic-2000] rule permit source 10.1.1.0 0.0.0.255
[Switch-acl-basic-2000] rule deny source any
[Switch-acl-basic-2000] quit
# 应用IPv4基本ACL 2000对Switch上接口GE2/0/1收到的报文进行过滤。
[Switch] interface GigabitEthernet 2/0/1
[Switch-GigabitEthernet2/0/1] undo shutdown
[Switch-GigabitEthernet2/0/1] packet-filter 2000 inbound
[Switch-GigabitEthernet2/0/1] quit
# 查看Switch接口GE2/0/1上所配置的报文过滤策略。
[Switch] display packet-filter interface GigabitEthernet 2/0/1
Interface: GigabitEthernet2/0/1
In-bound policy:
ACL 2000
#
interface GigabitEthernet2/0/1
port link-mode bridge
packet-filter 2000 inbound
#
acl number 2000
rule 0 permit source 10.1.1.0 0.0.0.255
rule 5 deny
#
如图3所示,要求在接口GE2/0/1的入方向上配置IPv6高级ACL识别源IPv6地址为2001::1、目的IPv6地址为2001::2的ICMPv6 Request报文,并对识别出的报文进行过滤处理。
图3 高级ACL配置组网图
本举例是在S12500-CMW710-R7129版本上进行配置和验证的。
· 当设备上有EC/EF类单板时,您需要先执行acl hardware-mode ipv6 enable命令,保存配置并重启后,才能使EC/EF类单板支持IPv6 ACL;EB类单板默认支持IPv6 ACL。本例中假设2号槽位的单板为EB类单板。
· 如果QoS策略在定义流分类规则时引用了ACL,ACL规则中的deny表示匹配的报文不执行QoS策略中C-B对中的动作,ACL规则中的permit表示匹配的报文执行QoS策略中C-B对中的动作。
# 创建IPv6高级ACL 3000并进入相应视图。
<Switch> system-view
[Switch] acl ipv6 number 3000
# 配置ACL规则,匹配源IPv6地址为2001::1、目的IPv6地址为2001::2,协议类型为icmpv6,ICMPv6消息名称为echo-request的报文。
[Switch-acl6-adv-3000] rule permit icmpv6 icmp6-type echo-request source 2001::1 128 destination 2001::2 128
[Switch-acl6-adv-3000] quit
# 配置流分类c_deny引用IPv6高级ACL 3000。
[Switch] traffic classifier c_deny
[Switch-classifier-c_deny] if-match acl ipv6 3000
[Switch-classifier-c_deny] quit
# 配置流行为b_deny的动作为丢弃数据包。
[Switch] traffic behavior b_deny
[Switch-behavior-b_deny] filter deny
[Switch-behavior-b_deny] quit
# 配置QoS策略Q_deny,将相应的流分类和流行为关联。
[Switch] qos policy Q_deny
[Switch-qospolicy-Q_deny] classifier c_deny behavior b_deny
[Switch-qospolicy-Q_deny] quit
# 将策略Q_deny应用到接口GE2/0/1的入方向。
[Switch] interface GigabitEthernet 2/0/1
[Switch-GigabitEthernet2/0/1] undo shutdown
[Switch-GigabitEthernet2/0/1] qos apply policy Q_deny inbound
[Switch-GigabitEthernet2/0/1] quit
# 查看Switch的接口GE2/0/1上所配置的QoS策略信息。
[Switch] display qos policy interface GigabitEthernet 2/0/1
Interface: GigabitEthernet2/0/1
Direction: Inbound
Policy: Q_deny
Classifier: c_deny
Operator: AND
Rule(s) : If-match acl ipv6 3000
Behavior: b_deny
Filter Enable: deny
# 在接口GE2/0/1入方向上,匹配过滤条件的报文无法通过,其它流量则不受到任何影响。
#
traffic classifier c_deny operator and
if-match acl ipv6 3000
#
traffic behavior b_deny
filter deny
#
qos policy Q_deny
classifier c_deny behavior b_deny
#
interface GigabitEthernet2/0/1
port link-mode bridge
qos apply policy Q_deny inbound
#
acl ipv6 number 3000
rule 0 permit icmpv6 source 2001::1/128 destination 2001::2/128 icmp6-type echo-request
#
如图4所示,在Switch上配置用户自定义ACL规则过滤掉所有从GE2/0/1接口进来的ARP request报文。
图4 用户自定义ACL配置组网图
本举例是在S12500-CMW710-R7129版本上进行配置和验证的。
· 当设备上有EC/EF类单板时,您需要先执行acl hardware-mode ipv6 enable命令,保存配置并重启后,才能使EC/EF类单板支持用户自定义ACL;EB类单板默认支持用户自定义ACL。本例中假设2号槽位的单板为EB类单板。
· 与其他类型ACL不同,用户自定义使用rule命令创建规则时,如果指定编号的规则已存在,不会在旧规则原有内容的基础上叠加新的内容,而是直接对旧规则进行覆盖,即重新创建了该编号的规则,原有该编号的旧规则被删除。
· 如果QoS策略在定义流分类规则时引用了ACL,ACL规则中的deny表示匹配的报文不执行QoS策略中C-B对中的动作,ACL规则中的permit表示匹配的报文执行QoS策略中C-B对中的动作。
# 创建用户自定义ACL 5000并进入相应视图。
<Switch> system-view
[Switch] acl number 5000
# 配置ACL规则:为匹配ARP请求报文,需要从L3报文头-2字节开始偏移(对应关键字l2)。ARP请求报文的以太网协议类型字段取值为0x0806,操作类型字段(OP)取值为0x0001。从以太网首部的协议类型字段开始计算,以太网协议类型字段的偏移量为0字节,操作类型字段的偏移量为8字节。
[Switch-acl-user-5000] rule permit l2 0806 ffff 0 l2 0001 ffff 8
[Switch-acl-user-5000] quit
# 配置流分类c_deny引用ACL 5000。
[Switch] traffic classifier c_deny
[Switch-classifier-c_deny] if-match acl 5000
[Switch-classifier-c_deny] quit
# 配置流行为b_deny的动作为丢弃数据包。
[Switch] traffic behavior b_deny
[Switch-behavior-b_deny] filter deny
[Switch-behavior-b_deny] quit
# 配置QoS策略Q_deny,将相应的流分类和流行为关联。
[Switch] qos policy Q_deny
[Switch-qospolicy-Q_deny] classifier c_deny behavior b_deny
[Switch-qospolicy-Q_deny] quit
# 将策略Q_deny应用到接口G2/0/1的入方向。
[Switch] interface GigabitEthernet 2/0/1
[Switch-GigabitEthernet2/0/1] undo shutdown
[Switch-GigabitEthernet2/0/1] qos apply policy Q_deny inbound[Switch-GigabitEthernet2/0/1] quit
# 查看Switch的接口GE2/0/1上所配置的QoS策略信息。
[Switch] display qos policy interface GigabitEthernet 2/0/1
Interface: GigabitEthernet2/0/1
Direction: Inbound
Policy: Q_deny
Classifier: c_deny
Operator: AND
Rule(s) : If-match acl 5000
Behavior: b_deny
Filter Enable: deny
通过接口GE2/0/1向设备发起的ARP请求报文得不到响应。设备上接口GE2/0/1入方向通行的流量中检测不到ARP Request的报文。
#
traffic classifier c_deny operator and
if-match acl 5000
#
traffic behavior b_deny
filter deny
#
qos policy Q_deny
classifier c_deny behavior b_deny
#
interface GigabitEthernet2/0/1
port link-mode bridge
qos apply policy Q_deny inbound
#
acl number 5000
rule 0 permit l2 08060000000000000001 ffff000000000000ffff 0
#
· 《H3C S12500系列路由交换机 ACL&QoS配置指导》中的“ACL”
· 《H3C S12500系列路由交换机 ACL&QoS命令参考》中的“ACL”
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!