• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C E126以太网交换机 操作手册-RELEASE 0011(V1.04)

16-ACL操作

本章节下载  (173.77 KB)

16-ACL操作


第1章  ACL配置

1.1  ACL简介

ACLAccess 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在交换机上的应用方式

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

交换机中ACL可以直接下发到交换机的硬件中用于数据转发过程中报文的过滤和流分类。此时一条ACL中多个规则的匹配顺序是由交换机的硬件决定的,用户即使在定义ACL时配置了匹配顺序,该匹配顺序也不起作用。

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

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

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

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

1.1.2  ACL匹配顺序

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

ACL支持两种匹配顺序:

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

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

“深度优先”规则说明如下:

l              基本ACL的深度优先以源IP地址掩码长度排序,掩码越长的规则位置越靠前。排序时比较源IP地址掩码长度,若源IP地址掩码长度相等,则先配置的规则匹配位置靠前。例如,源IP地址掩码为255.255.255.0的规则比源IP地址掩码为255.255.0.0的规则匹配位置靠前。

l              高级ACL的深度优先以源IP地址掩码和目的IP地址掩码长度排序,掩码越长的规则位置越靠前。排序时先比较源IP地址掩码长度,若源IP地址掩码长度相等,则比较目的IP地址掩码长度;若目的IP地址掩码长度也相等,则先配置的规则匹配位置靠前。例如,源IP地址掩码长度相等时,目的IP地址掩码为255.255.255.0的规则比目的IP地址掩码为255.255.0.0的规则匹配位置靠前。

1.1.3  基于时间段的ACL

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

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

1.1.4  E126以太网交换机支持的ACL

E126以太网交换机支持的ACL如下:

l              基本ACL

l              高级ACL

E126以太网交换机上定义的ACL只能用于被上层模块引用的情况,不支持下发到硬件中。

1.2  时间段配置

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

&  说明:

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

 

1.2.1  配置过程

表1-1 配置时间段

配置步骤

命令

说明

进入系统视图

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命令可以在任意视图下执行

 

需要注意的是:

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

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

l              如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从20041100分到200412312359分,同时定义了周期时间段:每周三的12001400。该时间段只有在2004年内每周三的12001400才进入激活状态。

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

1.2.2  配置举例

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

<H3C> system-view

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

[H3C] display time-range test1

Current time is 00:32:52 Apr/2/2000 Sunday

 

Time-range : test1 ( Inactive )

 08:00 to 18:00 working-day

# 配置绝对时间段,取值为200012815:00起至200412815:00结束。

<H3C> system-view

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

[H3C] display time-range test2

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

 

Time-range : test2 ( Inactive )

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

1.3  定义基本ACL

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

基本ACL的序号取值范围为20002999

1.3.1  配置准备

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

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

1.3.2  配置过程

表1-2 定义基本ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入基本ACL视图

acl number acl-number [ match-order { config | auto } ]

缺省情况下匹配顺序为config

定义ACL规则

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

必选

定义ACL的描述信息

description text

可选

 

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

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

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

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

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

1.3.3  配置举例

# 配置ACL 2000,禁止源地址为1.1.1.1的用户通过Telnet方式登录到交换机上。关于配置对登录用户的控制请参见“登录交换机”模块的相关内容。

<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 2000

Basic ACL  2000, 1 rule

Acl's step is 1

 rule 0 deny source 1.1.1.1 0 (0 times matched)

1.4  定义高级ACL

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

高级ACL序号取值范围30003999ACL 39983999是系统为集群管理预留的编号,用户无法配置)。

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

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

1.4.1  配置准备

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

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

1.4.2  配置过程

表1-3 定义高级ACL规则

配置步骤

命令

说明

进入系统视图

system-view

-

创建或进入高级ACL视图

acl number acl-number [ match-order { config | auto } ]

缺省情况下匹配顺序为config

定义ACL规则

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

必选

定义ACL规则的注释字符串

rule rule-id comment text

可选

定义ACL的描述信息

description text

可选

 

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

表1-4 ACL规则信息

参数

类别

作用

说明

protocol

协议类型

IP承载的协议类型

用数字表示时取值范围为1255

用名字表示时,可以选取GREICMPIGMPIPIPinIPOSPFTCPUDP

source { sour-addr sour-wildcard | any }

源地址信息

指定ACL规则的源地址信息

sour-addr sour-wildcard用来确定数据包的源地址,点分十进制表示;sour-wildcard可以为0,表示主机地址

any代表任意源地址

destination { dest-addr dest-wildcard | any }

目的地址信息

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

dest-addr dest-wildcard用来确定数据包的目的地址,点分十进制表示;dest-wildcard可以为0,表示主机地址

any代表任意目的地址

precedence precedence

报文优先级

IP优先级

取值范围07

tos tos

报文优先级

ToS优先级

取值范围015

dscp dscp

报文优先级

DSCP优先级

取值范围063

fragment

分片信息

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

-

time-range time-name

时间段信息

指定ACL规则生效的时间段

-

 

&  说明:

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

 

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

表1-5 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关键字,除了直接输入数值07外,用户也可输入如表1-6所示的关键字。

表1-6 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关键字,除了直接输入数值015外,用户也可输入如表1-7所示的关键字。

表1-7 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-8所示信息。

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

参数

类别

作用

说明

source-port operator port1 [ port2 ]

源端口

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

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

port1port2TCPUDP的端口号,用名字或数字表示,数字的取值范围为065535

destination-port operator port1 [ port2 ]

目的端口

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

established

TCP连接建立标识

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

TCP协议特有的参数

 

TCPUDP的端口号用名字表示时,用户还可以定义如下信息。

表1-9 TCPUDP端口取值信息

协议类型

取值信息

TCP

CHARgen19)、bgp179)、cmd514)、daytime13)、discard9)、domain53)、echo7)、exec512)、finger79)、ftp21)、ftp-data20)、gopher70)、hostname101)、irc194)、klogin543)、kshell544)、login513)、lpd515)、nntp119)、pop2109)、pop3110)、smtp25)、sunrpc111)、tacacs49)、talk517)、telnet23)、time37)、uucp540)、whois43)、www80

UDP

biff512)、bootpc68)、bootps67)、discard9)、dns53)、dnsix90)、echo7)、mobilip-ag434)、mobilip-mn435)、nameserver42)、netbios-dgm138)、netbios-ns139)、netbios-ssn139)、ntp123)、rip520)、snmp161)、snmptrap162)、sunrpc111)、syslog514)、tacacs-ds65)、talk517)、tftp69)、time37)、who513)、xdmcp177

 

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

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

参数

类别

作用

说明

icmp-type icmp-type icmp-code

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

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

icmp-typeICMP消息类型,取值为0255

icmp-codeICMP的消息码,取值为0255

 

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

表1-11 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.4.3  配置举例

# 配置ACL 3000,禁止登录到本设备上的用户通过Telnet方式登录目的地址为202.38.160.0网段的Telnet服务器。关于配置对登录用户的控制请参见“登录交换机”模块的相关内容。

<H3C> system-view

[H3C] acl number 3000

[H3C-acl-adv-3000] rule deny tcp destination 202.38.160.0 0.0.0.255 destination-port eq 23

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

Advanced ACL  3000, 1 rule

Acl's step is 1

 rule 0 deny tcp destination 202.38.160.0 0.0.0.255 destination-port eq telnet (0 times matched)

1.5  ACL显示

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

表1-12 ACL显示

操作

命令

说明

显示配置的ACL规则

display acl { all | acl-number }

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

显示时间段

display time-range { all | time-name }

 

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

新华三官网
联系我们