Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2100112
  • 博文数量: 433
  • 博客积分: 4775
  • 博客等级: 上校
  • 技术积分: 8054
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-19 16:15
文章存档

2014年(9)

2013年(20)

2012年(77)

2011年(323)

2009年(4)

分类: 系统运维

2011-10-20 08:51:43

高级ACL可以使用报文的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议的特性(例如TCPUDP的源端口、目的端口,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。

高级ACL支持对三种报文优先级的分析处理:

n         ToSType of Service,服务类型)优先级

n         IP优先级

n         DSCPDifferentiated Services Codepoint,差分服务编码点)优先级

用户可以利用高级ACL定义比基本ACL更准确、更丰富、更灵活的匹配规则。高级ACL的序号取值范围为30003999

1.高级ACL的配置方法

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

配置高级ACL的基本步骤与配置基本ACL的步骤和所使用的命令基本上是一样的,主要区别rule命令中可用的可选项和参数,当然,可用ACL号也是不同的。具体步骤如表19-2所示。

19-2    配置高级ACL的步骤

 

命令

说明

Step 1

system-view

进入系统视图

Step 2

适用于S5600及以前系列:acl number acl-number [ name acl-name ] [ match-order { auto | config } ]

适用于S7500及以后系列:acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

创建高级ACL并进入高级ACL视图(二者选其一选)。缺省情况下,匹配顺序为config

如果用户在创建ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的ACL视图

Step 3

rule [ rule-id ] { deny | permit } protocol [ destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | established | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-name | tos tos | vpn-instance vpn-instance-name ]*

定义规则。可以重复本步骤创建多条规则。需要注意的是,当高级ACLQoS策略引用对报文进行流分类时:

n           QoS策略应用于入方向(inbound)时,不支持配置loggingreflectivevpn-instance参数;不支持配置操作符operator取值为neq

n           QoS策略应用于出方向(outbound)时,不支持配置loggingreflectivevpn-instance参数;不支持配置操作符operator取值为gtltneqrange

n           不同系列交换机所支持可选项和参数可能有些区别

Step 4

step step-value

(可选)定义步长。缺省情况下,步长为5

Step 5

description text

(可选)定义ACL的描述信息。缺省情况下,ACL没有描述信息

Step 6

rule rule-id comment text

(可选)定义规则的描述信息。缺省情况下,规则没有描述信息

因为表中的主要命令与上节相同,所以在此仅介绍主要不同的rule命令。 

在高级ACL中,表中的rule [ rule-id ] { deny | permit } protocol [ destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | established | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-name | tos tos | vpn-instance vpn-instance-name ]”命令用来定义一个高级ACL规则。

可用undo rule rule-id [ destination | destination-port | dscp | established | fragment | icmp-type | logging | precedence | reflective | source | source-port | time-range | tos | vpn-instance ]”命令用来删除一个高级ACL规则或者规则的某些属性信息。在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undo rule命令后不指定参数,将删除整个ACL规则,否则,将只删除ACL规则相应的属性信息。

这两个命令的可选项和参数非常复杂,解释如下:

l         rule-id:高级ACL规则编号,取值范围为065534

l         deny:表示丢弃符合条件的报文。

l         permit:表示允许符合条件的报文通过。

l         protocolIP承载的协议类型。用数字表示时,取值范围为0255;用名字表示时,可以选取gre47)、icmp1)、igmp2)、ipipinip4)、ospf89)、tcp6)、udp17)。

protocol后可以配置的规则信息参数如表19-3所示。

19-3  protocol后可以配置的规则信息参数

参数

类别

作用

说明

source { sour-addr sour-wildcard | any }

源地址信息

指定ACL规则的源地址信息

sour-addr sour-wildcard用来确定报文的源IP地址,点分十进制表示,sour-wildcard表示反掩码,当反掩码为0时代表主机地址;any代表任意源IP地址

destination { dest-addr dest-wildcard | any }

目的地址信息

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

dest-addr dest-wildcard用来确定报文的目的IP地址,点分十进制表示,dest-wildcard表示反掩码,当反掩码为0时代表主机地址;any代表任意目的IP地址

precedence precedence

报文优先级

IP优先级

precedence用数字表示时,取值范围为07;用文字表示时,分别对应routine0)、priority1)、immediate2)、flash3)、flash-override4)、critical5)、internet6)、network7

tos tos

报文优先级

ToS优先级

tos用数字表示时,取值范围为015;用文字表示时,可以选取max-reliability2)、max-throughput4)、min-delay8)、min-monetary-cost1)、normal0

dscp dscp

报文优先级

DSCP优先级

dscp用数字表示时,取值范围为063;用文字表示时,可以选取af1110)、af1212)、af1314)、af2118)、af2220)、af2322)、af3126)、af3228)、af3330)、af4134)、af4236)、af4338)、cs18)、cs216)、cs324)、cs432)、cs540)、cs648)、cs756)、default0)、ef46

logging

日志操作

对符合条件的报文可记录日志信息

-

fragment

分片信息

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

SA(例如LSQ1FP48SA)和EA(例如LSQ1GP12EA)单板上应用的fragment参数匹配非尾片分片报文,在SC(例如LSQ1GP24SC)单板上应用的fragment参数匹配非首片分片报文

time-range time-name

时间段信息

指定规则生效的时间段

time-name:指定规则生效的时间段名称,为132个字符的字符串,不区分大小写,必须以英文字母azAZ开头,为避免混淆,时间段的名字不可以使用英文单词all

vpn-instance vpn-instance-name

VPN实例

指定规则的VPN实例信息

vpn-instance-nameVPN实例的名称,为131个字符的字符串,区分大小写

如果规则没有指定本参数,表示该规则仅对非VPN报文生效

 protocol选择为tcp或者udp时,用户还可以定义如表19-4所示信息。

19-4    TCP/UDP特有的规则信息

参数

类别

作用

说明

source-port operator port1 [ port2 ]

源端口

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

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

port1port2TCPUDP的端口号,用数字表示时,取值范围为065535;用文字表示时,TCP端口号可以选取chargen19)、bgp179)、cmd514)、daytime13)、discard9)、domain53)、echo 7)、exec 512)、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)、echo 7)、mobilip-ag434)、mobilip-mn435)、nameserver42)、netbios-dgm138)、netbios-ns137)、netbios-ssn139)、ntp123)、rip520)、snmp161)、snmptrap162)、sunrpc111)、syslog514)、tacacs-ds65)、talk517)、tftp69)、time37)、who513)、xdmcp177

操作符为range时,port2的取值不需要一定大于port1的取值,交换机会自动识别取值范围;当port1port2的取值相同时,交换机会将操作符range转换为eq

另外需要注意的是,当用户配置操作符为lt 1gt 65534时,交换机会将其转换为eq 0eq 65535

destination-port operator port1 [ port2 ]

目的端口

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

established

TCP连接建立标识

定义对TCP连接报文的处理规则

定义规则匹配带有ack标志的TCP连接报文

reflective

自反标志

配置规则具有自反属性

动作类型只支持permit

 protocol选择为icmp时,用户还可以定义如表19-5所示信息。

19-5   ICMP特有的规则信息

参数

类别

作用

说明

icmp-type { icmp-type icmp-code | icmp-message }

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

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

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

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

icmp-messageICMP消息的名称,可以输入的ICMP消息名称,及其与消息类型和消息码的对应关系如19-6所示

reflective

自反标志

配置规则具有自反属性

动作类型只支持permit

 19-6  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的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。

在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30

新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。

ACL的匹配顺序为auto时,新创建的规则将按照深度优先的原则插入到已有的规则中,但是所有规则对应的编号不会改变。

当高级ACLQoS策略引用对报文进行流分类时,请遵循如下约束:

n         QoS策略应用于入方向(inbound)时,不支持配置loggingreflectivevpn-instance参数;不支持配置操作符operator取值为neq

n         QoS策略应用于出方向(outbound)时,不支持配置loggingreflectivevpn-instance参数;不支持配置操作符operator取值为gtltneqrange

下面是一个使用高级ACL rule命令定义一条高级ACL规则,允许从129.9.0.0网段的主机向202.38.160.0网段的主机发送的端口号为80TCP报文通过的示例。

system-view

[Sysname] acl number 3000

[Sysname-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

2. 高级ACL配置示例

本示例要配置一个高级ACL 3000,允许129.9.0.0网段的主机向202.38.160.0网段的主机发送端口号为80TCP报文。具体配置命令和显示信息如下:

system-view

[Sysname] acl number 3000

[Sysname-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

[Sysname-acl-adv-3000] display acl 3000

Advanced ACL  3000, named -none-, 1 rule,

ACL's step is 5

 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

本文摘自《Catalyst交换机VLANVMPS配置与管理》第十九章
阅读(5748) | 评论(0) | 转发(0) |
0

上一篇:基本ACL配置

下一篇:二层ACL配置

给主人留下些什么吧!~~