1.1.1 acl
【命令】
acl { number acl-number | name acl-name [ advanced | basic | link | user ] }[ match-order { config | auto } ]
undo acl { number acl-number | name acl-name | all }
【视图】
系统视图
【参数】
number acl-number:访问列表序号,取值范围为:
2000~2999:表示基本访问控制列表。
3000~3999:表示高级访问控制列表。
4000~4999:表示二层访问控制列表。
5000~5999:表示用户自定义访问控制列表。
name acl-name:字符串参数,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用all、any关键字。
advanced:表示高级访问控制列表。
basic:表示基本访问控制列表。
link:表示二层访问控制列表。
user:表示用户自定义访问控制列表。
config:表示匹配访问列表的规则时按用户的配置顺序。
auto:表示匹配访问列表的规则时按深度优先顺序。
all:表示要删除所有的访问列表(包括数字标识的和名字标识的)。
【描述】
acl命令用来定义一条数字或名字标识的访问控制列表,并进入相应的访问控制列表视图,undo acl命令用来删除一条数字或名字标识的访问控制列表的所有子项,或者删除全部访问控制列表。
缺省情况下,按照config顺序匹配访问控制列表。
acl命令可以创建一个以“acl-name”命名的访问控制列表,此访问控制列表的类型由“advanced”、“basic”、“link”、“user”关键字决定。无论数字型还是名字型,进入相应的访问列表视图之后,可以用rule命令增加此命名访问列表的子项(用quit命令退出访问列表视图)。
可以使用match-order指定匹配顺序是按照用户配置的顺序还是按照深度优先顺序(优先匹配范围小的规则),如果不指定则缺省为用户配置顺序。用户一旦指定一条访问列表的匹配顺序后,就不能再更改,除非把该访问列表的子项全部删除,再重新指定其匹配顺序。注意,访问控制列表的匹配顺序特性只在该访问控制列表被软件引用用作数据过滤和分类时有效。
由于芯片不同,各款交换机的子规则硬件匹配顺序不同。具体描述见下表。
表1-1 交换机ACL子规则的硬件匹配顺序
|
交换机 |
ACL子规则的硬件匹配顺序 |
|
S3000-EI |
同一个ACL配置了多个子规则时,硬件匹配顺序是后下发的子规则将会先匹配。 |
相关配置可参考命令rule。
【举例】
# 下面的命令指定2000号访问列表的规则匹配顺序为深度优先顺序:
[Quidway] acl number 2000 match-order auto
1.1.2 display acl config
【命令】
display acl config { all | acl-number | acl-name }
【视图】
任意视图
【参数】
all:表示要显示所有的访问列表(包括数字标识的和名字标识的)。
acl-number:要显示的访问列表序号,2000到3999之间的一个数值。
acl-name:要显示的访问列表名字,字符串参数,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号。
【描述】
display acl config命令用来显示访问控制列表的详细配置信息,包括每一个子规则及其序号和该语句匹配的数据包的个数和字节数。
本命令显示信息中的匹配次数是软件匹配次数,即需要经过交换机CPU处理的访问控制列表匹配次数。数据包转发过程中的硬件匹配次数可以使用命令traffic-statistic统计。
【举例】
# 下面的命令显示所有访问列表的内容。
<Quidway>display acl config all
1.1.3 display acl running-packet-filter all
【命令】
display acl running-packet-filter all
【视图】
任意视图
【参数】
无
【描述】
display acl running-packet-filter all命令用来显示访问控制列表的下发应用信息。显示内容包括访问控制列表名、子项名和下发状态。
【举例】
# 下面的命令显示所有接口的访问列表下发应用信息。
<Quidway> display acl running-packet-filter all
acl std1 rule 0 running
acl std1 rule 1 running
|
域名 |
解释 |
|
acl std1 rule 0 running |
表示访问控制列表std1的子规则0正在运行。std1是访问控制列表的名字,rule 0表示子规则0。 下面的显示信息类似,不再一一介绍。 |
1.1.4 display time-range
【命令】
display time-range[ all | name ]
【视图】
任意视图
【参数】
all:显示所有的时间段。
name:为时间段的名称,以[a-z,A-Z]为起始字母的字符串,取值范围为1~32个字符。
【描述】
display time-range命令用来显示当前时间段的配置和状态,对于当前处在激活状态的时间段将显示active,对于非激活状态显示inactive。
注意,由于系统更新访问控制列表状态有一个延时,大约1分钟,而display time-range会采用当前时间对其进行判断,所以有可能出现display time-range看到一个时间段已经激活,而引用它的访问控制列表没有激活。这种情况是正常的。
相关配置可参考命令time-range。
【举例】
# 显示所有时间段。
<Quidway> display time-range all
Current time is
Time-range : hhy ( Inactive )
from
Time-range : hhy1 ( Inactive )
from
|
域名 |
解释 |
|
Current time is |
系统的当前时间。 |
|
Time-range : hhy ( Inactive ) from |
时间范围hhy,Inactive表示该时间范围目前处于非活动状态(active则反之),时间范围为从2005年2月5日8点30分到2005年2月19日18点。 下面的显示信息类似,不再一一介绍。 |
# 显示名字为tm1的时间段。
<Quidway> display time-range tm1
Current time is
Time-range : tm1 ( Inactive )
from
|
域名 |
解释 |
|
Current time is |
系统的当前时间。 |
|
Time-range : tm1 ( Inactive ) from |
时间范围hhy,Inactive表示该时间范围目前处于非活动状态(active则反之),时间范围为从2005年2月5日8点30分到2005年2月19日18点。 下面的显示信息类似,不再一一介绍。 |
1.1.5 packet-filter
【命令】
packet-filter { user-group { acl-number | acl-name } [ rule rule ] | { ip-group { acl-number | acl-name } [ rule rule ] | link-group { acl-number | acl-name } [ rule rule ] }* }
undo packet-filter { user-group { acl-number | acl-name } [ rule rule ] | { ip-group { acl-number | acl-name } [ rule rule ] | link-group { acl-number | acl-name } [ rule rule ] }* }
【视图】
系统视图
【参数】
user-group { acl-number | acl-name }:表示激活用户自定义的访问控制列表。acl-number:访问控制列表序号,5000到5999之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[ a~z,A~Z])开头,而且中间不能有空格和引号。
ip-group { acl-number | acl-name }:表示激活IP访问控制列表,包括基本、高级访问控制列表。acl-number:访问控制列表序号,2000到3999之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[ a~z,A~Z])开头,而且中间不能有空格和引号。
link-group { acl-number | acl-name }:表示激活二层访问控制列表。acl-number:访问控制列表序号,4000到4999之间的一个数值。acl-name:访问控制列表名字,字符串参数,必须以英文字母(即[a~z,A~Z])开头,而且中间不能有空格和引号。
rule rule:可选参数,指定激活访问列表中的哪个子项,取值范围为0~127,如果不指定则表示要激活访问列表中的所有子项。
【描述】
packet-filter命令用来激活访问控制列表,undo packet-filter命令用来取消激活。
packet-filter命令支持同时激活二层和IP访问控制列表,但是要求各访问控制列表的动作不互相冲突,如果动作冲突(例如一个是permit另一个是deny)则不能同时激活这些访问控制列表。
【举例】
# 下面的命令同时激活2000号访问控制列表和4000号访问控制列表。
[Quidway] packet-filter ip-group 2000 link-group 4000 rule 0
1.1.6 reset acl counter
【命令】
reset acl counter { all | acl-number | acl-name }
【视图】
用户视图
【参数】
all:表示所有的访问列表(包括数字标识的和名字标识的)。
acl-number:访问列表序号,2000到3999之间的一个数值。
acl-name:访问列表名字,字符串参数,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用all、any关键字。
【描述】
reset acl counter命令用来清除对软件处理的报文过滤和流分类的访问控制列表的统计信息。本命令把访问控制列表被匹配的次数信息清零。
表1-5 统计信息的reset命令的比较
|
命令 |
功能 |
|
reset acl counter |
清除访问控制列表的统计信息。本命令适用于对软件处理的报文过滤和流分类的访问控制列表。ACL被软件引用的情况包括:路由策略引用ACL、对登录用户进行控制时引用ACL等。在这种情况下,ACL序号的取值范围为2000~3999。 |
|
reset traffic-statistic |
清除流量统计信息。本命令适用于直接下发到交换机的硬件中用于数据转发过程中的过滤和流分类的访问控制列表。一般情况下,本命令用于将命令traffic-statistic统计的信息清除。 |
【举例】
# 下面的命令清除2000号访问列表的统计信息。
<Quidway> reset acl counter 2000
1.1.7 rule
【命令】
1. 定义或删除基本访问控制列表的子规则
rule [ rule-id ] { permit | deny } [ source source-addr wildcard | any ] [ fragment ] [ time-range name ]
undo rule rule-id[ source ] [ fragment ] [ time-range ]
2. 定义或删除高级访问控制列表的子规则
rule [ rule-id ] { permit | deny } protocol [ source source-addr wildcard | any ] [ destination dest-addr wildcard | any ] [ source-port operator port1 [ port2 ] ] [ destination-port operator port1 [ port2 ] ] [ icmp-type type code ] [ established ] [ [ precedence precedence | tos tos ]* | dscp dscp ] [ fragment ] [ time-range name ]
undo rule rule-id[ source ] [ destination ] [ source-port ] [ destination-port ] [ icmp-type ] [ precedence ] [ tos ] [ dscp ] [ fragment ] [ time-range ]
3. 定义或删除二层访问控制列表的子规则
rule [ rule-id ]{ permit | deny } [ protocol ] [ cos vlan-pri ] [ ingress { { source-vlan-id | source-mac-addr source-mac-wildcard | interface { interface-name | interface-type interface-num } }* | any } ] [ egress { { dest-mac-addr dest-mac-wildcard | interface { interface-name | interface-type interface-num } }* | any } ] [ time-range name ]
undo rule rule-id
4. 定义或删除用户自定义访问控制列表的子规则
rule [ rule-id ] { permit | deny } { rule-string rule-mask offset }&<1-8> [ time-range name ]
undo rule rule-id
【视图】
相应的访问控制列表视图
【参数】
rule-id:指定访问控制列表的子项,取值范围为0~127。
permit:表明允许满足条件的报文通过。
deny:表明禁止满足条件的报文通过。
time-range name:时间段的名称,可选参数,表示该规则在此时间段内有效。
& 说明:
以下的参数是数据包携带的各种属性参数,访问控制列表就是根据这些属性参数的取值制定规则。
l 下面是基本访问控制列表特有的参数:
source source-addr wildcard | any:source-addr wildcard表示源IP地址和源地址通配位,点分十进制表示;any表示所有源地址。本参数适用于定义基本访问控制列表。
fragment:表示此条规则仅对分片报文有效。如果不选择本参数则表示本规则不以报文是否分片作为依据对报文进行过滤。本参数适用于定义基本访问控制列表。
l 下面是高级访问控制列表特有的参数:
protocol:本参数用来指定协议类型。协议类型可以使用名字表示,也可以使用数字表示。在使用名字表示时,该参数可以取值icmp、igmp、tcp、udp、ip、gre、ospf、ipinip等。如果本参数取值为IP,表示所有的IP协议。在使用数字表示时,数字的取值范围为1~255。本参数适用于定义高级访问控制列表。
source source-addr wildcard | any:source-addr wildcard表示源IP地址和源地址通配位,点分十进制表示;any表示所有源地址。本参数适用于定义高级访问控制列表。
destination dest-addr wildcard | any:dest-addr wildcard表示目的IP地址和目的地址通配位,点分十进制表示;any表示所有目的地址。本参数适用于定义高级访问控制列表。
source-port operator port1 [ port2 ]:表示报文使用的源TCP或者UDP端口号。其中operator表示端口操作符,包括eq(等于)、gt(大于)、lt(小于)、neq (不等于)、range(在某个范围内)。注:本参数在protocol参数取值为TCP或UDP时才可用。port1 [ port2 ]:报文使用的TCP或者UDP源端口号,用字符或数字表示。数字的取值范围为0~65535,字符取值请参看端口号助记符表。只有操作符为range时才会同时出现port1 port2两个参数,其它操作符只需port1。本参数适用于定义高级访问控制列表。
destination-port operator port1 [ port2 ]:表示报文使用的目的TCP或者UDP端口号。具体描述同source-port operator port1 [ port2 ]。
icmp-type type code:当protocol参数取值icmp时出现。type code指定一ICMP报文。type代表ICMP报文类型,用字符或数字表示,数字取值范围为0~255; code代表ICMP码,在协议为icmp且没有使用字符表示ICMP报文类型时出现,取值范围是0~255。本参数适用于定义高级访问控制列表。
established:表示此条规则仅对TCP建立连接的第一个SYN报文有效,可选参数,当protocol参数取值tcp时出现。本参数适用于定义高级访问控制列表。
precedence precedence:可选参数,表示IP优先级,取值为0~7的数值或名字。
tos tos:可选参数,数据包可以根据TOS值来分类,取值为0~15的数值或名字。本参数适用于定义高级访问控制列表。
dscp dscp:可选参数,数据包可以根据DSCP值来分类,取值为0~63的数值或名字。本参数适用于定义高级访问控制列表。
fragment:表示此条规则仅对分片报文有效。如果不选择本参数则表示本规则不以报文是否分片作为依据对报文进行过滤。本参数适用于定义高级访问控制列表。
l 下面是二层访问控制列表特有的参数:
protocol:为以太网帧承载的协议类型,可选参数,取值范围为ip、arp、rarp、pppoe-control和pppoe-data。
cos vlan-pri:802.1p优先级,取值范围为0~7。
ingress { { [ source-vlan-id ] [ source-mac-addr source-mac-wildcard ] [ interface { interface-name | interface-type interface-num } ] } | any }:数据包的源信息,[ source-vlan-id ]表示的是数据包的源VLAN,[ source-mac-addr source-mac-wildcard ]表示的是数据包的源MAC地址和MAC地址的通配符,这两个参数共同作用可以得到用户感兴趣的源MAC地址的范围,比如source-mac-wildcard取值为0.0.ffff,则表示用户只对源MAC地址的前32个bit(即通配符中数字0对应的比特位)感兴趣,interface { interface-name | interface-type interface-num }表示的是接收该报文的二层端口,any表示从所有端口接收到的所有报文。
egress { { [ dest-mac-addr dest-mac-wildcard ] [ interface { interface-name | interface-type interface-num } ] } | any }:数据包的目的信息,dest-mac-addr dest-mac-wildcard表示该报文的目的MAC地址和目的MAC地址通配符,这两个参数共同作用可以得到用户感兴趣的目的MAC地址的范围,比如dest-mac-wildcard取值为0.0.ffff,则表示用户只对目的MAC地址的前32个bit(即通配符中数字0对应的比特位)感兴趣,interface { interface-name | interface-type interface-num }表示转发该报文的二层端口,any表示从所有端口转发的所有报文。
l 下面是用户自定义访问控制列表特有的参数:
{ rule-string rule-mask offset }&<1-8>:rule-string是用户自定义的规则字符串,必须是16进制数组成,字符必须是偶数个;rule-mask offset用于提取报文的信息,rule-mask是规则掩码,用于和数据包作“与”操作,offset是偏移量,它以数据包的头部为基准,指定从第几个字节开始进行“与”操作,rule-mask offset共同作用,将从报文提取出来的字符串和用户定义的rule-string比较,找到匹配的报文,然后进行相应的处理。&<1-8>表示则一次最多可以定义8个这样的规则。此参数用于用户自定义的访问控制列表。
【描述】
rule命令用来增加访问控制列表的一条子规则,undo rule命令用来删除一条访问控制列表的其中一个子规则。
用户可以为一条访问控制列表定义多条子?/div>
华为设备防病毒acl配置
2007-03-13 22:43:20
acl number 100
禁ping
rule deny icmp source any destination any
用于控制Blaster蠕虫的传播
rule deny udp source any destination any destination-port eq 69
rule deny tcp source any destination any destination-port eq 4444
用于控制冲击波病毒的扫描和攻击
rule deny tcp source any destination any destination-port eq 135
rule deny udp source any destination any destination-port eq 135
rule deny udp source any destination any destination-port eq netbios-ns
rule deny udp source any destination any destination-port eq netbios-dgm
rule deny tcp source any destination any destination-port eq 139
rule deny udp source any destination any destination-port eq 139
rule deny tcp source any destination any destination-port eq 445
rule deny udp source any destination any destination-port eq 445
rule deny udp source any destination any destination-port eq 593
rule deny tcp source any destination any destination-port eq 593
用于控制振荡波的扫描和攻击
rule deny tcp source any destination any destination-port eq 445
rule deny tcp source any destination any destination-port eq 5554
rule deny tcp source any destination any destination-port eq 9995
rule deny tcp source any destination any destination-port eq 9996
用于控制 Worm_MSBlast.A 蠕虫的传播
rule deny udp source any destination any destination-port eq 1434
下面的不出名的病毒端口号 (可以不作)
rule deny tcp source any destination any destination-port eq 1068
rule deny tcp source any destination any destination-port eq 5800
rule deny tcp source any destination any destination-port eq 5900
rule deny tcp source any destination any destination-port eq 10080
rule deny tcp source any destination any destination-port eq 455
rule deny udp source any destination any destination-port eq 455
rule deny tcp source any destination any destination-port eq 3208
rule deny tcp source any destination any destination-port eq 1871
rule deny tcp source any destination any destination-port eq 4510
rule deny udp source any destination any destination-port eq 4334
rule deny tcp source any destination any destination-port eq 4331
rule deny tcp source any destination any destination-port eq 4557
然后下发配置
packet-filter ip-group 100
目的:针对目前网上出现的问题,对目的是端口号为1434的UDP报文进行过滤的配置方法,详细和复杂的配置请看配置手册。
NE80的配置:
NE80(config)#rule-map r1 udp any any eq 1434
//r1为role-map的名字,udp 为关键字,any any 所有源、目的IP,eq为等于,1434为udp端口号
NE80(config)#acl a1 r1 deny
//a1为acl的名字,r1为要绑定的rule-map的名字,
NE80(config-if-Ethernet1/0/0)#access-group acl a1
//在1/0/0接口上绑定acl,acl为关键字,a1为acl的名字
NE16的配置:
NE16-4(config)#firewall enable all
//首先启动防火墙
NE16-4(config)#access-list 101 deny udp any any eq 1434
//deny为禁止的关键字,针对udp报文,any any 为所有源、目的IP,eq为等于, 1434为udp端口号
NE16-4(config-if-Ethernet2/2/0)#ip access-group 101 in
//在接口上启用access-list,in表示进来的报文,也可以用out表示出去的报文
中低端路由器的配置
[Router]firewall enable
[Router]acl 101
[Router-acl-101]rule deny udp source any destion any destination-port eq 1434
[Router-Ethernet0]firewall packet-filter 101 inbound
6506产品的配置:
旧命令行配置如下:
6506(config)#acl extended aaa deny protocol udp any any eq 1434
6506(config-if-Ethernet5/0/1)#access-group aaa
国际化新命令行配置如下:
[Quidway]acl number 100
[Quidway-acl-adv-100]rule deny udp source any destination any destination-port eq 1434
[Quidway-acl-adv-100]quit
[Quidway]interface ethernet 5/0/1
[Quidway-Ethernet5/0/1]packet-filter inbound ip-group 100 not-care-for-interface
5516产品的配置:
旧命令行配置如下:
5516(config)#rule-map l3 aaa protocol-type udp ingress any egress any eq 1434
5516(config)#flow-action fff deny
5516(config)#acl bbb aaa fff
5516(config)#access-group bbb
国际化新命令行配置如下:
[Quidway]acl num 100
[Quidway-acl-adv-100]rule deny udp source any destination any destination-port eq 1434
[Quidway]packet-filter ip-group 100
3526产品的配置:
旧命令行配置如下:
rule-map l3 r1 0.0.0.0 0.0.0.0 1.1.0.0 255.255.0.0 eq 1434
flow-action f1 deny
acl acl1 r1 f1
access-group acl1
国际化新命令配置如下:
acl number 100
rule 0 deny udp source 0.0.0.0 0 source-port eq 1434 destination 1.1.0.0 0
packet-filter ip-group 101 rule 0
注:3526产品只能配置外网对内网的过滤规则,其中1.1.0.0 255.255.0.0是内网的地址段。
8016产品的配置:
旧命令行配置如下:
8016(config)#rule-map intervlan aaa udp any any eq 1434
8016(config)#acl bbb aaa deny
8016(config)#access-group acl bbb vlan 10 port all
国际化新命令行配置如下:
8016(config)#rule-map intervlan aaa udp any any eq 1434
8016(config)#eacl bbb aaa deny
8016(config)#access-group eacl bbb vlan 10 port all
