• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

H3C S7500系列以太网交换机 操作手册-RELEASE 3100系列(V1.04)

24-ACL操作

本章节下载  (376.12 KB)

24-ACL操作


第1章  ACL配置

&  说明:

A型业务板指如下业务板:LS81FT48A、LS81FM24A、LS81FS24A、LS81GB8UA、LS81GT8UA、LS81FT48、LS81FM24、LS81FS24、LS81GB8U、LS81GT8U。

 

1.1  ACL简介

ACL(Access Control List,访问控制列表)主要用来实现流识别功能。网络设备为了过滤数据包,需要配置一系列的匹配规则,以识别需要过滤的报文。在识别出特定的报文之后,才能根据预先设定的策略允许或禁止相应的数据包通过。

ACL通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号等。

由ACL定义的数据包匹配规则,可以被其它需要对流量进行区分的功能引用,如QoS中流分类规则的定义。

根据应用目的,可将ACL分为下面几种:

l              基本ACL:只根据三层源IP地址制定规则。

l              高级ACL:根据数据包的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议特性等三、四层信息制定规则。

l              二层ACL:根据源MAC地址、目的MAC地址、VLAN优先级、二层协议类型等二层信息制定规则。

l              用户自定义ACL:以数据包的头部为基准,指定从第几个字节开始进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。

1.1.1  ACL匹配顺序

ACL可能会包含多个规则,而每个规则都指定不同的报文范围。这样,在匹配报文时就会出现匹配顺序的问题。

ACL支持两种匹配顺序:

l              配置顺序:根据配置顺序匹配ACL规则。

l              自动排序:根据“深度优先”规则匹配ACL规则。

1. IP ACL深度优先顺序

IP ACL(基本和高级ACL)深度优先顺序的判断原则如下:

(1)        先比较ACL规则的协议范围。IP协议的范围为1~255,承载在IP上的其他协议范围就是自己的协议号;协议范围小的优先;

(2)        再比较源IP地址范围。源IP地址范围小(掩码长)的优先;

(3)        然后比较目的IP地址范围。目的IP地址范围小(掩码长)的优先;

(4)        最后比较四层端口号(TCP/UDP端口号)范围。四层端口号范围小的优先;

如果规则A与规则B按照原有匹配顺序进行配置时,协议范围、源IP地址范围、目的IP地址范围、四层端口号范围完全相同,并且其它的元素个数相同,将按照加权规则进行排序。加权规则如下:

l              设备为每个元素设定一个固定的权值,最终的匹配顺序由各个元素的权值和元素取值来决定。各个元素自身的权值从大到小排列:DSCP、ToS、ICMP、established、precedence、fragment。

l              设备以一个固定权值依次减去规则各个元素自身的权值,剩余权值越小的规则越优先。

l              如果各个规则中元素个数、元素种类完全相同,则这些元素取值的累加和越小越优先。

2. 二层ACL深度优先顺序

二层ACL的深度优先以源MAC地址掩码长度和目的MAC地址掩码长度排序,掩码越长的规则匹配位置越靠前,当掩码长度都相等时,则先配置的规则匹配位置靠前。例如,源MAC地址掩码为FFFF-FFFF-0000的规则比源MAC地址掩码为FFFF-0000-0000的规则匹配位置靠前。

1.1.2  ACL在交换机上的应用方式

1. ACL直接下发到硬件中的情况

交换机中ACL可以直接下发到交换机的硬件中用于数据转发过程中报文的过滤和流分类。用户可以使用acl order命令来指定规则下发到硬件后的匹配顺序,具体配置请参见1.3 

ACL直接下发到硬件的情况包括:交换机实现QoS功能时引用ACL、通过ACL过滤转发数据等。

2. ACL被上层模块引用的情况

交换机也使用ACL来对由软件处理的报文进行过滤和流分类。此时ACL规则的匹配顺序有两种:config(指定匹配该规则时按用户的配置顺序)和auto(指定匹配该规则时系统自动排序,即按“深度优先”的顺序)。这种情况下用户可以在定义ACL的时候指定一条ACL中多个规则的匹配顺序。用户一旦指定某一条ACL的匹配顺序,就不能再更改该顺序。只有把该列表中所有的规则全部删除后,才能重新指定其匹配顺序。

ACL被软件引用的情况包括:路由策略引用ACL、对登录用户进行控制时引用ACL等。

1.1.3  基于时间段的ACL

基于时间段的ACL使用户可以区分时间段对报文进行ACL控制。

ACL中的每条规则都可选择一个时间段。如果规则引用的时间段未配置,则系统给出提示信息,并允许这样的规则创建成功。但是规则不能立即生效,直到用户配置了引用的时间段,并且系统时间在指定时间段范围内才能生效。如果用户手工删除ACL规则引用的时间段,则在ACL规则定时器刷新后,该规则将失效。

1.1.4  以太网交换机支持的ACL

交换机支持的ACL如下:

l              基本ACL

l              高级ACL

l              二层ACL

l              用户自定义ACL

1.2  选择流分类规则模式

交换机只能选择一种流分类规则模式:二层ACL模式或者三层ACL模式。在二层ACL模式下,只有二层ACL可以激活或者被其他应用引用,三层ACL模式类似。

1.2.1  配置过程

表1-1 选择流分类规则模式配置

配置步骤

命令

说明

进入系统视图

system-view

-

选择流分类规则模式

acl mode { ip-based | link-based }

必选

缺省情况下,设备选择ip-based流分类规则模式,即基于三层信息进行流分类

显示设备的流分类规则模式

display acl mode

可选

display命令可以在任意视图下执行

 

&  说明:

本配置只对A型业务板有效。

 

1.2.2  配置举例

# 配置设备的流分类规则模式为link-based

<H3C> system-view

[H3C] acl mode link-based

[H3C] display acl mode

 The current acl mode: link-based.

1.3  设置下发的ACL规则生效顺序

acl match-order { config | auto }命令可以ACL规则下发前预先确定其在整个ACL内的匹配顺序,而acl order命令用来指定规则下发到硬件后的匹配顺序。交换机支持三种下发到硬件的ACL规则生效顺序:深度优先、先下发先生效、后下发先生效。用户可以指定一种。

1.3.1  配置过程

表1-2 设置下发的ACL规则生效顺序

配置步骤

命令

说明

进入系统视图

system-view

-

设置下发的ACL规则生效顺序

acl order { auto | first-config-first-match | last-config-first-match }

必选

缺省情况下,下发的ACL规则按深度优先原则生效,即auto方式

显示下发的ACL规则生效顺序

display acl order

可选

display命令可以在任意视图下执行

 

1.3.2  配置举例

# 配置下发到硬件的ACL规则生效顺序为先下发先生效。

<H3C> system-view

[H3C] acl order first-config-first-match

[H3C] display acl order

the current order is first-config-first-match

1.4  配置时间段

对时间段的配置有如下内容:配置周期时间段和绝对时间段。配置周期时间段采用的是每周的周几的形式,配置绝对时间段采用从起始时间到结束时间的形式。

&  说明:

H3C S7500系列以太网交换机支持的绝对时间段范围从1970/1/1 00:00起至2100/12/31 23:59结束。

 

1.4.1  配置过程

表1-3 配置时间段

配置步骤

命令

说明

进入系统视图

system-view

-

创建一个时间段

time-range time-name { start-time to end-time days-of-the-week [ from start-time start-date ] [ to end-time end-date ] | from start-time start-date [ to end-time end-date ] | to end-time end-date }

必选

显示时间段

display time-range { all | time-name }

可选

display命令可以在任意视图下执行

 

需要注意的是:

如果一个时间段只定义了周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个周期时间段,则这些周期时间段之间是“或”的关系。

如果一个时间段只定义了绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个绝对时间段,则这些绝对时间段之间是“或”的关系。

如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。

配置绝对时间段时,如果不配置开始日期,时间段就是从系统支持的最早时间起到配置的结束日期为止。如果不配置结束日期,时间段就是从配置的开始日期起到2100/12/31 23:59为止。

1.4.2  配置举例

# 配置周期时间段,取值为周一到周五每天8:00到18:00。

<H3C> system-view

[H3C] time-range test 8:00 to 18:00 working-day

[H3C] display time-range test

Current time is 13:27:32 4/16/2005 Saturday

 

Time-range : test ( Inactive )

 08:00 to 18:00 working-day

# 配置绝对时间段,取值为2000年1月28日15:00起至2004年1月28日15:00结束。

<H3C> system-view

[H3C] time-range test from 15:00 1/28/2000 to 15:00 1/28/2004

[H3C] display time-range test

Current time is 13:30:32 4/16/2005 Saturday

 

Time-range : test ( Inactive )

 From 15:00 Jan/28/2000 to 15:00 Jan/28/2004

1.5  定义基本ACL

基本ACL只根据三层源IP制定规则,对数据包进行相应的分析处理。

基本ACL的序号取值范围为2000~2999。

1.5.1  配置准备

l              如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.4  配置时间段

l              确定了规则中源IP地址信息的取值。

1.5.2  配置过程

表1-4 定义基本ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入基本ACL视图

acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

必选

缺省情况下匹配顺序为config

定义ACL规则

rule [ rule-id ] { permit | deny } [ source { source-addr wildcard | any } | fragment | time-range time-name ]*

必选

显示ACL信息

display acl config { all | acl-number | acl-name }

可选

display命令可以在任意视图下执行

 

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的规则不存在,用户将创建并定义一个新的规则。

l              编辑后或新创建的规则不能和已经存在的规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新规则,设备将自动为这个规则分配一个编号。

1.5.3  配置举例

# 配置ACL 2000,禁止源地址为1.1.1.1的报文通过。

<H3C> system-view

[H3C] acl number 2000

[H3C-acl-basic-2000] rule deny source 1.1.1.1 0

[H3C-acl-basic-2000] display acl config 2000

Basic ACL  2000, 1 rule

rule 0 deny source 1.1.1.1 0 (0 times matched)

1.6  定义高级ACL

高级ACL可以使用数据包的源地址信息、目的地址信息、IP承载的协议类型、针对协议的特性,例如TCP或UDP的源端口、目的端口,TCP标记,ICMP协议的类型、code等内容定义规则。

高级ACL序号取值范围3000~3999(ACL 3998与3999是系统为集群管理预留的编号,用户无法配置)。

高级ACL支持对三种报文优先级的分析处理:ToS(Type Of Service,服务类型)优先级、IP优先级和DSCP(Differentiated Services Codepoint Priority,差分服务编码点优先级)。

用户可以利用高级ACL定义比基本ACL更准确、更丰富、更灵活的规则。

1.6.1  配置准备

l              如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.4  配置时间段

l              确定了规则中源IP地址信息、目的IP信息、IP承载的协议类型、针对协议的特性等参数的取值。

1.6.2  配置过程

表1-5 定义高级ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入高级ACL视图

acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

必选

缺省情况下匹配顺序为config

定义ACL规则

rule [ rule-id ] { permit | deny } rule-string

必选

显示ACL信息

display acl config { all | acl-number | acl-name }

可选

display命令可以在任意视图下执行

 

rule-string:ACL规则信息,可以由表1-6中的参数组合而成,具体参数说明如表1-6所示。ACL规则信息中必须首先配置protocol参数,然后才能配置其他参数。

表1-6 ACL规则信息

参数

类别

作用

说明

protocol

协议类型

IP承载的协议类型

用数字表示时取值范围为1~255

用名字表示时,可以选取GRE、ICMP、IGMP、IP、IPinIP、OSPF、TCP、UDP

source { sour-addr sour-wildcard | any }

源地址信息

指定ACL规则的源地址信息

sour-addr sour-wildcard用来确定数据包的源地址,点分十进制表示

any代表所有源地址

destination { dest-addr dest-wildcard | any }

目的地址信息

指定ACL规则的目的地址信息

dest-addr dest-wildcard用来确定数据包的目的地址,点分十进制表示

any代表所有目的地址

precedence precedence

报文优先级

IP优先级

取值范围0~7

tos tos

报文优先级

ToS优先级

取值范围0~15

dscp dscp

报文优先级

DSCP优先级

取值范围0~63

fragment

分片信息

定义ACL规则仅对非首片分片报文有效

-

time-range time-name

时间段信息

指定ACL规则生效的时间段

-

 

&  说明:

sour-wildcarddest-wildcard为目标子网掩码的反码,点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。可以为0,表示主机地址。

 

如果选择dscp关键字,除了直接输入数值0~63外,用户也可输入如表1-7所示的关键字。

表1-7 DSCP值说明

关键字

DSCP值(十进制)

DSCP值(二进制)

ef

46

101110

af11

10

001010

af12

12

001100

af13

14

001110

af21

18

010010

af22

20

010100

af23

22

010110

af31

26

011010

af32

28

011100

af33

30

011110

af41

34

100010

af42

36

100100

af43

38

100110

cs1

8

001000

cs2

16

010000

cs3

24

011000

cs4

32

100000

cs5

40

101000

cs6

48

110000

cs7

56

111000

be (default)

0

000000

 

如果选择precedence关键字,除了直接输入数值0~7外,用户也可输入如表1-8所示的关键字。

表1-8 IP precedence值说明

关键字

IP Precedence(十进制)

IP Precedence(二进制)

routine

0

000

priority

1

001

immediate

2

010

flash

3

011

flash-override

4

100

critical

5

101

internet

6

110

network

7

111

 

如果选择tos关键字,除了直接输入数值0~15外,用户也可输入如表1-9所示的关键字。

表1-9 ToS值说明

关键字

ToS(十进制)

ToS(二进制)

normal

0

0000

min-monetary-cost

1

0001

max-reliability

2

0010

max-throughput

4

0100

min-delay

8

1000

 

当协议类型选择为TCP或者UDP时,用户还可以定义如表1-10所示信息。

表1-10 TCP/UDP特有的ACL规则信息

参数

类别

作用

说明

source-port operator port1 [ port2 ]

源端口

定义UDP/TCP报文的源端口信息

operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在指定范围内)。只有操作符range需要两个端口号做操作数,其他的只需要一个端口号做操作数

port1、port2:TCP或UDP的端口号,用名字或数字表示,数字的取值范围为0~65535

destination-port operator port1 [ port2 ]

目的端口

定义UDP/TCP报文的目的端口信息

established

TCP连接建立标识

表示此条规则仅对TCP建立连接的第一个SYN报文有效

TCP协议特有的参数

 

&  说明:

只有A型业务板支持对TCP/UDP端口的range操作。

 

当协议类型选择为ICMP时,用户还可以定义如表1-11所示信息。

表1-11 ICMP特有的ACL规则信息

参数

类别

作用

说明

icmp-type icmp-type icmp-code

ICMP报文的类型和消息码信息

指定ACL规则中ICMP报文的类型和消息码信息

icmp-type:ICMP消息类型,取值为0~255

icmp-code:ICMP的消息码,取值为0~255

 

当协议类型选择为ICMP时,用户也可以直接在icmp-type参数后输入ICMP的消息名称。在几种常见的ICMP消息如表1-12所示。

表1-12 ICMP消息

名称

ICMP TYPE

ICMP CODE

echo

Type=8

Code=0

echo-reply

Type=0

Code=0

fragmentneed-DFset

Type=3

Code=4

host-redirect

Type=5

Code=1

host-tos-redirect

Type=5

Code=3

host-unreachable

Type=3

Code=1

information-reply

Type=16

Code=0

information-request

Type=15

Code=0

net-redirect

Type=5

Code=0

net-tos-redirect

Type=5

Code=2

net-unreachable

Type=3

Code=0

parameter-problem

Type=12

Code=0

port-unreachable

Type=3

Code=3

protocol-unreachable

Type=3

Code=2

reassembly-timeout

Type=11

Code=1

source-quench

Type=4

Code=0

source-route-failed

Type=3

Code=5

timestamp-reply

Type=14

Code=0

timestamp-request

Type=13

Code=0

ttl-exceeded

Type=11

Code=0

 

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的规则不存在,用户将创建并定义一个新的规则。

l              编辑后或新创建的规则不能和已经存在的规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新规则,设备将自动为这个规则分配一个编号。

1.6.3  配置举例

# 配置一个ACL 3000,允许从129.9.0.0网段的主机向202.38.160.0网段的主机发送的端口号为80的TCP报文通过。

<H3C> system-view

[H3C] acl number 3000

[H3C-acl-adv-3000] rule permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80

[H3C-acl-adv-3000] display acl config 3000

Advanced ACL  3000, 1 rule

rule 0 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq www (0 times matched)

1.7  定义二层ACL

二层ACL根据源MAC地址、目的MAC地址、VLAN优先级、二层协议类型等二层信息制定规则,对数据进行相应处理。

二层ACL的序号取值范围为4000~4999。

1.7.1  配置准备

l              如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.4  配置时间段

l              确定了规则中源MAC地址、目的MAC地址、VLAN优先级、二层协议类型等参数的取值。

1.7.2  配置过程

表1-13 定义二层ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入二层ACL视图

acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

必选

缺省情况下匹配顺序为config

定义ACL规则

rule [ rule-id ] { permit | deny } [ rule-string ]

必选

如果用户不定义任何rule-string参数,则设备缺省会选ingress any egress any

显示ACL信息

display acl config { all | acl-number | acl-name }

可选

display命令可以在任意视图下执行

 

rule-string:ACL规则信息,可以由表1-14中的参数组合而成,具体参数说明如表1-14所示。

表1-14 ACL规则信息

参数

类别

作用

说明

protocol-type

协议类型

以太网帧承载的协议类型

protocol-type:取值可以为ip、arp、rarp、ipx、nbx、pppoe-control、pppoe-data

当用户选择协议类型为arp时,不能匹配目的MAC地址为交换机三层接口的MAC地址的ARP报文

format-type

链路层封装类型

定义ACL规则中的链路层封装类型

format-type:取值可以为802.3/802.2、802.3、ether_ii、snap

ingress { { source-vlan-id | source-mac-addr [ source-mac-mask ] }* | any }

源MAC信息

定义ACL规则的源MAC地址范围

source-mac-addr:源MAC地址,格式为H-H-H

source-mac-mask:源MAC地址的掩码,格式为H-H-H,缺省为全f

source-vlan-id:源VLAN ID,取值范围1~4094

any表示从所有端口接收到的所有报文

egress { dest-mac-addr [ dest-mac-mask ] | any }

目的MAC信息

定义ACL规则的目的MAC地址范围

dest-mac-addr:目的MAC地址,格式为H-H-H

dest-mac-mask:目的MAC地址的掩码,格式为H-H-H,缺省为全f

any表示从所有端口转发的所有报文

cos cos

优先级

定义ACL规则的802.1p优先级

cos:取值范围为0~7

time-range time-name

时间段信息

指定ACL规则生效的时间段

time-name:指定ACL规则生效的时间段名称,字符串格式,长度为1~32

 

&  说明:

source-mac-maskdest-mac-mask为MAC地址的掩码。例如,如果用户想指定MAC地址范围为0011-0011-0000至0011-0011-00ff,则需要输入ffff-ffff-ff00。掩码可以为全f,表示主机地址。

 

如果选择cos关键字,除了直接输入数值0~7外,用户也可输入如表1-15所示的关键字。

表1-15 CoS值说明

关键字

CoS(十进制)

CoS(二进制)

best-effort

0

000

background

1

001

spare

2

010

excellent-effort

3

011

controlled-load

4

100

video

5

101

voice

6

110

network-management

7

111

 

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的规则不存在,用户将创建并定义一个新的规则。

l              编辑后或新创建的规则不能和已经存在的规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新规则,设备将自动为这个规则分配一个编号。

1.7.3  配置举例

# 配置ACL 4000,禁止从MAC地址000d-88f5-97ed发送到MAC地址011-4301-991e且802.1p优先级为3的报文通过。

<H3C> system-view

[H3C] acl number 4000

[H3C-acl-link-4000] rule deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff

[H3C-acl-link-4000] display acl config 4000

Ethernet frame ACL  4000, 1 rule

rule 0 deny cos excellent-effort source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff (0 times matched)

1.8  定义用户自定义ACL

用户自定义ACL以数据包的头部为基准,指定从第几个字节开始进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文,然后进行相应的处理。

用户自定义ACL的序号取值范围为5000~5999。

1.8.1  配置准备

如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.4  配置时间段

1.8.2  配置过程

表1-16 定义用户自定义ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入用户自定义ACL视图

acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

必选

缺省情况下匹配顺序为config

定义ACL规则

rule [ rule-id ] { permit | deny } { rule-string rule-mask offset } &<1-8> [ time-range time-name ]

必选

显示ACL信息

display acl config { all | acl-number | acl-name }

可选

display命令可以在任意视图下执行

 

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的规则不存在,用户将创建并定义一个新的规则。

l              编辑后或新创建的规则不能和已经存在的规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新规则,设备将自动为这个规则分配一个编号。

&  说明:

只有非A型业务板支持用户自定义ACL。

 

1.8.3  配置举例

# 配置ACL 5001,禁止所有的TCP报文通过。

<H3C> system-view

[H3C] time-range t1 18:00 to 23:00 sat

[H3C] acl number 5001

[H3C-acl-user-5001] rule 25 deny 06 ff 27 time-range t1

[H3C-acl-user-5001] display acl config 5001

User defined ACL  5001, 1 rules

rule 25 deny 06 ff 27 time-range t1 (0 times matched) (Inactive)

1.9  在端口上应用ACL

在端口上应用ACL可以实现报文过滤的功能。

1.9.1  配置准备

在端口上应用ACL之前需要首先定义ACL。定义ACL的配置请参见1.5  定义基本ACL1.6  定义高级ACL1.7  定义二层ACL1.8  定义用户自定义ACL

1.9.2  配置过程

表1-17 在端口上应用ACL

配置步骤

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

进入QoS视图

qos

-

在端口上应用ACL

packet-filter { inbound | outbound } acl-rule [ system-index ] [ not-care-for-interface ]

必选

A型业务板支持的命令形式

packet-filter inbound acl-rule [ system-index ]

必选

非A型业务板支持的命令形式

显示ACL的下发信息

display acl running-packet-filter { all | interface  interface-type interface-number }

可选

display命令可以在任意视图下执行

 

acl-rule:应用的ACL,可以是多种ACL的组合。A型业务板的组合方式及相应参数说明如表1-18表1-20;非A型业务板的组合方式及相应参数说明如表1-19表1-20

表1-18 A型业务板的组合应用ACL方式

组合方式

acl-rule的形式

单独应用一个IP型ACL中所有规则

ip-group { acl-number | acl-name }

单独应用一个IP型ACL中一条规则

ip-group { acl-number | acl-name } rule rule-id

单独应用一个Link型ACL中所有规则

link-group { acl-number | acl-name }

单独应用一个Link型ACL中一条规则

link-group { acl-number | acl-name } rule rule-id

 

表1-19 非A型业务板的组合应用ACL方式

组合方式

acl-rule的形式

单独应用一个IP型ACL中所有规则

ip-group { acl-number | acl-name }

单独应用一个IP型ACL中一条规则

ip-group { acl-number | acl-name } rule rule-id

单独应用一个Link型ACL中所有规则

link-group { acl-number | acl-name }

单独应用一个Link型ACL中一条规则

link-group { acl-number | acl-name } rule rule-id

单独应用一个用户自定义ACL中所有规则

user-group { acl-number | acl-name }

单独应用一个用户自定义ACL中一条规则

user-group { acl-number | acl-name } rule rule-id

同时应用IP型ACL中一条规则和一个Link型ACL的一条规则

ip-group { acl-number | acl-name } rule rule-id link-group { acl-number | acl-name } rule rule-id

 

表1-20 ACL组合方式参数说明

参数

说明

ip-group { acl-number | acl-name }

基本及高级ACL。acl-number:ACL序号,2000到3999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写

link-group { acl-number | acl-name }

二层ACL,acl-number:ACL序号,4000到4999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写

user-group { acl-number | acl-name }

用户自定义的ACL,acl-number:ACL序号,5000到5999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写

rule-id

ACL规则序号,取值范围为0~127。如果不指定则表示ACL中的所有规则

 

1.9.3  配置举例

# 在Ethernet 2/0/1的入方向上应用ACL 2100进行包过滤。

<H3C> system-view

[H3C] interface Ethernet 2/0/1

[H3C-Ethernet2/0/1] qos

[H3C-qoss-Ethernet2/0/1] packet-filter inbound ip-group 2100

1.10  ACL的显示

在完成上述配置后,在任意视图下执行display命令可以显示ACL配置后的运行情况,通过查看显示信息验证配置的效果。

表1-21 ACL的显示

操作

命令

说明

显示时间段

display time-range { all | time-name }

可选

display命令可以在任意视图下执行

显示配置的ACL规则信息

display acl config { all | acl-number | acl-name }

显示配置的ACL规则统计信息

display acl config statistics

显示指定槽位的剩余ACL资源

display acl remaining entry slot slot-number

显示设备的流分类规则模式

display acl mode

ACL下发信息

display acl running-packet-filter { all | interface  interface-type interface-number }

显示下发的ACL规则生效顺序

display acl order

 

1.11  ACL典型配置案例

1.11.1  基本ACL配置案例

1. 组网需求

通过基本ACL,实现在每天8:00~18:00时间段内对IP为10.1.1.1主机发出报文的过滤(该主机从交换机的Ethernet 2/0/1接入)。

2. 组网图

图1-1 访问控制典型配置举例

3. 配置步骤

&  说明:

以下的配置,只列出了与ACL配置相关的命令。

 

(1)        定义时间段

# 定义8:00至18:00的周期时间段。

<H3C> system-view

[H3C] time-range test 8:00 to 18:00 daily

(2)        定义源IP为10.1.1.1的ACL

# 创建并进入ACL 2000视图。

[H3C] acl number 2000

# 定义源IP为10.1.1.1的访问规则。

[H3C-acl-basic-2000] rule 1 deny source 10.1.1.1 0 time-range test

[H3C-acl-basic-2000] quit

(3)        在端口上应用ACL

# 在端口上应用ACL 2000。

[H3C] interface Ethernet2/0/1

[H3C-Ethernet2/0/1] qos

[H3C-qoss-Ethernet2/0/1] packet-filter inbound ip-group 2000

1.11.2  高级ACL配置案例

1. 组网需求

公司企业网通过Switch的端口实现各部门之间的互连。研发部门由Ethernet2/0/1接入交换机,工资查询服务器的地址为192.168.1.2。要求正确配置ACL,限制研发部门在工作日8:00至18:00访问工资服务器。

2. 组网图

图1-2 访问控制典型配置举例

3. 配置步骤

&  说明:

以下的配置,只列出了与ACL配置相关的命令。

 

(1)        定义时间段

# 定义8:00至18:00的周期时间段。

<H3C> system-view

[H3C] time-range test 8:00 to 18:00 working-day

(2)        定义到工资服务器的ACL

# 进入 ACL 3000视图。

[H3C] acl number 3000

# 定义研发部门到工资服务器的访问规则。

[H3C-acl-adv-3000] rule 1 deny ip destination 192.168.1.2 0 time-range test

[H3C-acl-adv-3000] quit

(3)        在端口上应用ACL

# 在Ethernet 2/0/1端口上应用ACL 3000。

[H3C] interface Ethernet2/0/1

[H3C-Ethernet2/0/1] qos

[H3C-qoss-Ethernet2/0/1] packet-filter inbound ip-group 3000

1.11.3  二层ACL配置案例

1. 组网需求

通过二层ACL,实现在每天8:00~18:00时间段内对源MAC为0011-0011-0101目的MAC为0011-0011-0303报文的过滤。在Ethernet2/0/1端口上应用该二层ACL。

2. 组网图

图1-3 访问控制典型配置举例

3. 配置步骤

&  说明:

以下的配置,只列出了与ACL配置相关的命令。

 

(1)        定义时间段

# 定义8:00至18:00的周期时间段。

<H3C> system-view

[H3C] time-range test 8:00 to 18:00 daily

(2)        定义源MAC为0011-0011-0101目的MAC为0011-0011-0303的ACL规则

# 进入ACL 4000视图

[H3C] acl number 4000

# 定义源MAC为0011-0011-0101目的MAC为0011-0011-0303的流分类规则。

[H3C-acl-link-4000] rule 1 deny ingress 0011-0011-0101 ffff-ffff-ffff egress 0011-0011-0303 ffff-ffff-ffff time-range test

[H3C-acl-link-4000] quit

(3)        在端口上应用ACL

# 在Ethernet 2/0/1端口上应用ACL 4000。

[H3C] interface Ethernet 2/0/1

[H3C-Ethernet2/0/1] qos

[H3C-qoss-Ethernet2/0/1] packet-filter inbound link-group 4000

1.11.4  用户自定义ACL配置案例

1. 组网需求

通过用户自定义ACL,实现在每天8:00~18:00时间段内禁止所有的TCP报文通过。在Ethernet 2/0/1端口上应用该用户自定义ACL。

2. 组网图

图1-4 访问控制典型配置举例

3. 配置步骤

&  说明:

以下的配置,只列出了与ACL配置相关的命令。

 

(1)        定义时间段

# 定义8:00至18:00的周期时间段。

[H3C] time-range test 8:00 to 18:00 daily

(2)        定义TCP报文的ACL

# 进入ACL 5000视图。

[H3C] acl number 5000

# 定义TCP报文的流分类规则。

[H3C-acl-user-5000] rule 1 deny 06 ff 27 time-range test

(3)        在端口上应用ACL

# 在Ethernet 2/0/1端口上应用ACL 5000。

[H3C] interface Ethernet2/0/1

[H3C-Ethernet2/0/1] qos

[H3C-qosb-Ethernet2/0/1] packet-filter inbound user-group 5000

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们