RULE规则
RULE规则
一、rule description
命令功能
rule description 命令用来配置某条规则的描述信息。
undo rule description命令用来删除某条规则的描述信息。
缺省情况下,各规则没有描述信息。
命令格式
rule rule-id description
undo rule rule-id description
参数说明
视图
基本ACL视图、高级ACL视图、二层ACL视图、 UCL视图、基本ACL6视图、高级ACL6视图
缺省级别
2:配置级
使用指南
使用场景
当前规则的标识方式主要是使用rule-id,一个数字很难很好地表达该规则的含义、用途等信息,不便于用户标记,一定长度字符串的标记方式就可以解决这个问题。
前置条件
在使用rule rule-id description进行描述信息配置的时候,必须保证该rule-id的规则已经存在,否则系统提示错误信息:
Warning: The acl subitem number does not exist.
该rule-id的规则的配置可以在使用不同视图下的rule命令来配置,分别为:rule(高级ACL6视图)、rule(高级ACL视图)、rule(基本ACL6视图)、rule (基本ACL视图)、rule(二层ACL视图)、rule(UCL视图)。
配置影响
该命令是覆盖式命令,配置结果可以使用display acl和display acl ipv6查询。
使用实例
#假设ACL 2001的规则5是允许源地址是192.168.32.1的报文,配置增加规则5的描述信息。
[Quidway] acl 2001
[Quidway-acl-basic-2001] rule 5 description permit 192.168.32.1 [Quidway-acl-basic-2001] display acl 2001
Basic ACL 2001, 2 rules
Acl's step is 5
rule 2 deny
rule 5 permit source 192.168.32.1 0
rule 5 description permit 192.168.32.1
# 配置在ACL 2001中删除规则5的描述信息。
[Quidway] acl 2001
[Quidway-acl-basic-2001] undo rule 5 description
[Quidway-acl-basic-2001] display acl 2001
Basic ACL 2001, 2 rules
Acl's step is 5
rule 2 deny
rule 5 permit source 192.168.32.1 0
二、rule(UCL视图)
命令功能
rule命令用来在对应的UCL视图下增加一个规则。
undo rule命令用来删除一个规则。
命令格式
rule [ rule-id ] { deny | permit } [ [ l2-head | ipv4-head | ipv6-head | l4-head ] { rule-string rule-mask offset } ] [ time-range
time-range-name ]
undo rule rule-id
参数说明
视图
UCL视图
缺省级别
2:配置级
使用指南
在S9300上使用rule命令定义用于流分类的匹配规则,不仅根据rule命令中的permit和deny参数对信息进行过滤操作,还需要结合流行为进行过滤。
rule (UCL视图)命令每次固定匹配4个字节的内容,当配置的rule-string 参数长度不满4个字节时,在前面补0凑足4个字节进行匹配。
使用命令undo rule删除规则的时候,rule-id必须是一个已经存在的ACL规则编号,如果不知道规则的编号,可以使用命令display acl来查看。
说明:
用户自定义ACL只能应用于上行策略。
使用实例
# 在编号为5001的ACL中增加一条规则,从二层报文头开始匹配4个字节的字符串,字符串内容为0180C200。
[Quidway] acl 5001
[Quidway-acl-user-5001] rule permit l2-head 0x0180C200 0xFFFFFFFF 14三、rule(二层ACL视图)
命令功能
rule命令用来在对应的二层ACL视图下增加一个规则。
undo rule命令用来删除一个二层ACL规则。
命令格式
rule[ rule-id] { permit| deny} [ [ether-ii| 802.3| snap] | l2-protocol type-value [ type-mask ] | destination-mac dest-mac-address
[ dest-mac-mask ] | source-mac source-mac-address [ source-mac-mask ] | vlan-id vlan-id[ vlan-id-mask] | 8021p802.1p-value| cvlan-id cvlan-id [ cvlan-id-mask] | cvlan-8021p802.1p-value| double-tag] *[ time-range time-range-name ]
undo rule rule-id
参数说明
视图
二层ACL视图
缺省级别
2:配置级
使用指南
当ACL被QoS功能引用时,如果ACL规则中定义的动作为deny,则匹配此ACL 的报文就被丢弃。如果ACL规则中定义的动作为permit,则S9300对匹配此ACL 的报文采取的动作由QoS中流行为定义的动作决定。
使用命令undo rule删除规则的时候,rule-id必须是一个已经存在的ACL规则编号,如果不知道规则的编号,可以使用命令display acl来查看。
使用实例
# 在ACL 4001中增加一条规则,匹配目的MAC地址是0-0-1,源MAC地址是0-0-2,二层协议类型值为0x0800的报文。
[Quidway] acl 4001
[Quidway-acl-L2-4001] rule permit destination-mac 0-0-1 source-mac
0-0-2 l2-protocol 0x0800
四、rule(高级ACL6视图)
命令功能
rule命令用来增加或修改高级ACL6规则。
undo rule命令用来删除ACL6规则。
命令格式
?当参数protocol为TCP时,高级ACL6的命令格式为:
rule [ rule-id ] { deny | permit } { tcp | protocol-number }
[ destination { destination-ipv6-address prefix-length |
destination-ipv6-address/prefix-length| postfix postfix-length| any } | destination-port { eq | gt | lt | range } port | dscp dscp | fragment | logging | precedence precedence | source
{ source-ipv6-address prefix-length |
source-ipv6-address/prefix-length | source-ipv6-address postfix
postfix-length | any } | source-port { eq | gt | lt | range } port | time-range time-name | tos tos ] *
?当参数protocol为UDP时,高级ACL6的命令格式为:
rule [ rule-id ] { deny | permit } { udp | protocol-number }
[ destination { destination-ipv6-address prefix-length |
destination-ipv6-address/prefix-length| postfix postfix-length| any } | destination-port { eq | gt | lt | range } port | dscp dscp | fragment | logging | precedence precedence | source
{ source-ipv6-address prefix-length |
source-ipv6-address/prefix-length | source-ipv6-address postfix
postfix-length | any } | source-port { eq | gt | lt | range } port | time-range time-name | tos tos ] *
?当参数protocol为ICMPv6时,高级ACL6的命令格式为:
rule [ rule-id ] { deny | permit } { icmpv6 | protocol-number } [ destination { destination-ipv6-address prefix-length |
destination-ipv6-address/prefix-length| postfix postfix-length|
any } | dscp dscp | fragment | icmp6-type { icmp6-type-name |
icmp6-type icmp6-code} | logging| precedence precedence| source { source-ipv6-address prefix-length |
source-ipv6-address/prefix-length | source-ipv6-address postfix
postfix-length | any } | time-range time-name | tos tos ] *?当protocol为其他协议时,高级ACL6的命令格式为:
rule [ rule-id ] { deny | permit } { protocol-number | gre | ipv6 | ospf } [ destination{ destination-ipv6-address prefix-length| destination-ipv6-address/prefix-length |
destination-ipv6-address postfix postfix-length| any} | dscp dscp | fragment | logging | precedence precedence | source
{ source-ipv6-address prefix-length |
source-ipv6-address/prefix-length | source-ipv6-address postfix
postfix-length | any } | time-range time-name | tos tos ] *
删除高级ACL6的规则:
undo rule rule-id [ destination | destination-port | fragment |
icmp6-type | precedence | source | source-port | time-range | tos ] 参数说明
视图
高级ACL6视图
缺省级别
2:配置级
使用指南
删除或修改已有规则时,必须指定规则ID。
使用实例
# 为编号为3000的ACL6增加一条规则,禁止从2001::1 网段内的主机建立与2003::1网段内的主机的端口号大于128的UDP(用户数据报协议)连接。
[Quidway] acl ipv6 3000
[Quidway-acl-adv-3000] rule deny udp source 2001::1 64 destination 2003::1 64 destination-port gt 128
五、rule(高级ACL视图)
命令功能
rule命令用来在对应的高级ACL视图下增加一个规则。
undo rule命令用来删除一个规则。
命令格式
?当参数protocol为ICMP时,高级访问控制列表的命令格式为:o rule[ rule-id] { deny| permit} { protocol-number| icmp} [ destination { destination-address destination-wildcard |
any } | dscp dscp | fragment | icmp-type { icmp-name |
icmp-type icmp-code } | precedence precedence | source
{ source-address source-wildcard | any } | time-range
time-name | tos tos ]*
o undo rule rule-id [ description | destination |
destination-port| dscp| fragment| icmp-type| precedence
| source | source-port | time-range | tos ]*?当参数protocol为TCP时,高级访问控制列表的命令格式为:
o rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard |
any} | destination-port{ eq| gt| lt| range} port| dscp
dscp | fragment | precedence precedence | source
{ source-address source-wildcard | any } | source-port { eq
| gt | lt | range } port | tcp-flag { ack | fin | psh | rst
| syn | urg }* | time-range time-name | tos tos ]*
o undo rule rule-id [ description | destination |
destination-port| dscp| fragment| icmp-type| precedence
| source | source-port | time-range | tos ]*?当参数protocol为UDP时,高级访问控制列表的命令格式为:
o rule [ rule-id ] { deny | permit } { protocol-number | udp } [ destination { destination-address destination-wildcard |
any} | destination-port{ eq| gt| lt| range} port| dscp
dscp | fragment | precedence precedence | source
{ source-address source-wildcard | any } | source-port { eq
| gt | lt | range } port | time-range time-name | tos tos ]* o undo rule rule-id [ description | destination |
destination-port| dscp| fragment| icmp-type| precedence
| source | source-port | time-range | tos ]*?当参数protocol为TCP、UDP和ICMP之外的其他协议时,高级访问控制列表的命令格式为:
o rule [ rule-id ] { deny | permit } { protocol-number | gre | igmp | ip | ipinip | ospf } [ destination
{ destination-address destination-wildcard | any } | dscp
dscp | fragment | precedence precedence | source
{ source-address source-wildcard | any } | time-range
time-name | tos tos ]*
o undo rule rule-id [ description | destination |
destination-port| dscp| fragment| icmp-type| precedence
| source | source-port | time-range | tos ]*
说明:
参数dscp dscp和precedence precedence不能同时配置。
参数说明