24-ACL操作
本章节下载 (332.99 KB)
随着网络规模的扩大和流量的增加,对网络安全的控制和对带宽的分配成为网络管理的重要内容。通过对数据包进行过滤,可以有效防止非法用户对网络的访问,同时也可以控制流量,节约网络资源。ACL(Access Control List,访问控制列表)即是通过配置对报文的匹配规则和处理操作来实现包过滤的功能。
当交换机的端口接收到报文后,即根据当前端口上应用的ACL规则对报文的字段进行分析,在识别出特定的报文之后,根据预先设定的策略允许或禁止相应的数据包通过。
由ACL定义的数据包匹配规则,也可以被其它需要对流量进行区分的功能引用,如QoS中流分类规则的定义。
ACL通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号等。根据应用目的,可将ACL分为以下几种:
l 基本ACL:只根据数据包的源IP地址制定规则。
l 高级ACL:根据数据包的源IP地址、目的IP地址、IP承载的协议类型、协议特性等三、四层信息制定规则。
l 二层ACL:根据数据包的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定规则。
l 用户自定义ACL:以数据包的头部为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。
E126A以太网交换机通过用户自定义ACL匹配IPv6报文,下文中将用户自定义ACL称为IPv6 ACL。关于IPv6 ACL的详细介绍请参见1.2.5 定义IPv6 ACL。
一条ACL中可以包含多个规则,而每个规则都指定不同的报文范围。这样,在匹配报文时就会出现匹配顺序的问题。
ACL支持两种匹配顺序:
l 配置顺序:根据用户配置规则的先后顺序进行规则匹配。
l 自动排序:根据“深度优先”的顺序进行规则匹配。
(1) 先比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(2) 如果源IP地址范围相同,则比较是否带有fragment参数,带有fragment参数的规则优先;
(3) 如果源IP地址范围、是否带有fragment参数这两个判断条件也相同,则先配置的规则优先。
(1) 首先比较协议范围,指定了IP协议承载的协议类型的规则优先;
(2) 如果协议范围相同,则比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(3) 如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(4) 如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;
(5) 如果协议范围、源IP地址范围、目的IP地址范围、四层端口号范围相同,则比较规则中参数的个数,参数个数多的规则优先。
如果规则A与规则B的协议范围、源IP地址范围、目的IP地址范围、四层端口号范围完全相同,并且其它的参数个数也相同,将按照加权规则进行排序。设备为每个参数设定一个固定的权值,最终的匹配顺序由各个参数的权值和参数的取值来决定。各个参数自身的权值从大到小排列为icmp-type、established、dscp、tos、precedence、fragment。比较规则如下:
l 设备以一个固定权值依次减去规则中所配置的各个参数自身的权值,所得结果小的规则优先;
l 如果各个规则中参数种类完全相同,则这些参数取值的累加和小的规则优先。
IPv6 ACL的匹配顺序只能为配置顺序。
ACL可以直接下发到交换机的硬件,用于数据转发过程中的报文过滤和流分类。此时一条ACL中多个规则的匹配顺序是由交换机的硬件决定的,对于E126A以太网交换机,匹配顺序为先下发的规则先匹配。
ACL直接下发到硬件的情况包括:通过ACL过滤转发数据、配置QoS功能时引用ACL等。
ACL也可以用来对由软件处理的报文进行过滤和流分类。此时ACL规则的匹配顺序有两种:
l config:按用户配置的先后顺序。
l auto:按“深度优先”的顺序。
用户可以在定义ACL的时候指定一条ACL中多个规则的匹配顺序。用户一旦指定某一条ACL的匹配顺序,就不能再更改该顺序。只有把该ACL中所有的规则全部删除后,才能重新指定其匹配顺序。
ACL被上层软件引用的情况包括:路由策略引用ACL、对Telnet、SNMP和WEB登录用户进行控制时引用ACL等。
l 当ACL直接下发到硬件对报文进行过滤时,如果报文没有与ACL中的规则匹配,此时设备对此类报文采取的动作为permit,即允许报文通过。
l 当ACL被上层软件引用,对Telnet、SNMP和WEB登录用户进行控制时,如果报文没有与ACL中的规则匹配,此时设备对此类报文采取的动作为deny,即拒绝报文通过。
E126以太网交换机支持的ACL如下:
l 基本ACL
l 高级ACL
E126A以太网交换机支持的ACL如下:
l 基本ACL
l 高级ACL
l 二层ACL
l IPv6 ACL
E126以太网交换机上定义的ACL只能用于被上层软件引用的情况,不支持下发到硬件中;E126A以太网交换机上定义的ACL支持被上层软件引用和下发到硬件。
用户可以根据时间段对报文进行控制。ACL中的每条规则都可以选择一个时间段。如果规则引用的时间段未配置,则系统给出提示信息,并允许这样的规则创建成功。但是规则不能立即生效,直到用户配置了引用的时间段,并且系统时间在指定时间段范围内才能生效。
对时间段的配置有如下两种情况:
l 配置周期时间段:采用每个星期固定时间段的形式,例如从星期一至星期五的8:00至18:00。
l 配置绝对时间段:采用从某年某月某日某时某分起至某年某月某日某时某分结束的形式,例如从2000年1月28日15:00起至2004年1月28日15:00结束。
E126/E126A以太网交换机支持的绝对时间段范围从1970/1/1 00:00起至2100/12/31 24:00结束。
配置步骤 |
命令 |
说明 |
进入系统视图 |
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 } |
必选 |
需要注意的是:
l 如果一个时间段只定义了周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个周期时间段,则这些周期时间段之间是“或”的关系。
l 如果一个时间段只定义了绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个绝对时间段,则这些绝对时间段之间是“或”的关系。
l 如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
l 配置绝对时间段时,如果不配置开始日期,时间段就是从1970/1/1 00:00起到配置的结束日期为止。如果不配置结束日期,时间段就是从配置的开始日期起到2100/12/31 23:59为止。
# 配置周期时间段,时间范围为周一到周五每天8:00到18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 working-day
[Sysname] display time-range test
Current time is 13:27:32 Apr/16/2005 Saturday
Time-range : test ( Inactive )
08:00 to 18:00 working-day
# 配置绝对时间段,时间范围为2006年1月28日15:00起至2008年1月28日15:00结束。
<Sysname> system-view
[Sysname] time-range test from 15:00 1/28/2006 to 15:00 1/28/2008
[Sysname] display time-range test
Current time is 13:30:32 Apr/16/2005 Saturday
Time-range : test ( Inactive )
From 15:00 Jan/28/2006 to 15:00 Jan/28/2008
基本ACL只根据源IP地址制定规则,对数据包进行相应的分析处理。
基本ACL的序号取值范围为2000~2999。
l 如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.2.1 配置时间段。
l 确定了规则中的源IP地址。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入基本ACL视图 |
acl number acl-number [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config |
定义ACL规则 |
rule [ rule-id ] { deny | permit } [ rule-string ] |
必选 rule-string的具体内容请参见命令手册 |
定义ACL的描述信息 |
description text |
可选 缺省情况下,ACL没有描述信息 |
需要注意的是:
l 当基本ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当基本ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,设备将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示错误信息,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当基本ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
# 配置基本ACL 2000,禁止源IP地址为192.168.0.1的报文通过。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule deny source 192.168.0.1 0
# 显示基本ACL 2000的配置信息。
[Sysname-acl-basic-2000] display acl 2000
Basic ACL 2000, 1 rule
Acl's step is 1
rule 0 deny source 192.168.0.1 0
高级ACL可以使用数据包的源IP地址、目的IP地址、IP承载的协议类型、针对协议的特性(例如TCP或UDP的源端口、目的端口,ICMP协议的消息类型、消息码等)内容定义规则。
高级ACL序号取值范围3000~3999(3998与3999是系统为集群管理预留的编号,用户无法配置)。
高级ACL支持对三种报文优先级的分析处理:ToS(Type of Service,服务类型)优先级、IP优先级和DSCP(Differentiated Services CodePoint,差分服务编码点)优先级。
用户可以利用高级ACL定义比基本ACL更准确、更丰富、更灵活的规则。
l 如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.2.1 配置时间段。
l 确定了规则中源IP地址、目的IP、IP承载的协议类型、针对协议的特性等参数的取值。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入高级ACL视图 |
acl number acl-number [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config |
定义ACL规则 |
rule [ rule-id ] { permit | deny } protocol [ rule-string ] |
必选 protocol和rule-string的具体内容请参见命令手册 |
定义ACL规则的注释信息 |
rule rule-id comment text |
可选 缺省情况下,ACL规则没有注释信息 |
定义ACL的描述信息 |
description text |
可选 缺省情况下,ACL没有描述信息 |
需要注意的是:
l 当高级ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当高级ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,设备将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示错误信息,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当高级ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
# 配置高级ACL 3000,允许从129.9.0.0/16网段的主机向202.38.160.0/24网段的主机发送的端口号为80的TCP报文通过。
<Sysname> 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
# 显示高级ACL 3000的配置信息。
[Sysname-acl-adv-3000] display acl 3000
Advanced ACL 3000, 1 rule
Acl's step is 1
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
二层ACL根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定规则,对数据进行相应处理。
二层ACL的序号取值范围为4000~4999。
l 如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.2.1 配置时间段。
l 确定了规则中源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等参数的取值。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入二层ACL视图 |
acl number acl-number |
必选 |
定义ACL规则 |
rule [ rule-id ] { permit | deny } [ rule-string ] |
必选 rule-string的具体内容请参见命令手册 |
定义ACL规则的注释信息 |
rule rule-id comment text |
可选 缺省情况下,ACL规则没有注释信息 |
定义ACL的描述信息 |
description text |
可选 缺省情况下,ACL没有描述信息 |
需要注意的是:
l 用户可以修改二层ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,设备将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示错误信息,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
# 配置二层ACL 4000,禁止从MAC地址000d-88f5-97ed发送到MAC地址0011-4301-991e且802.1p优先级为3的报文通过。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff
# 显示二层ACL 4000的配置信息。
[Sysname-acl-ethernetframe-4000] display acl 4000
Ethernet frame ACL 4000, 1 rule
Acl's step is 1
rule 0 deny cos excellent-effort source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff
用户可以通过IPv6 ACL匹配IPv6数据包,以便对特定的报文进行相应的处理。E126A以太网交换机支持的匹配字段如下:
l dscp:IPv6报文中的流量类型(Traffic-class)字段;
l ip-protocol:IPv6报文中的下一报头(Next header)字段;
l src-ip:IPv6报文中的源地址字段;
l dest-ip:IPv6报文中的目的地址字段;
l src-port:IPv6报文中TCP或UDP协议的源端口字段;
l dest-port:IPv6报文中TCP或UDP协议的目的端口字段;
l icmpv6-type:IPv6报文中ICMP协议的消息类型字段;
l icmpv6-code:IPv6报文中ICMP协议的消息码字段。
l 关于IPv6报文格式的详细介绍请参见“IPv6管理”部分。
l IPV6 ACL不支持匹配带扩展头的IPV6报文。
l IPV6 ACL与VLAN-Mapping功能互斥。
l 应用IPV6 ACL时,交换机的优先级信任模式不能为“信任端口优先级”。
用户在下发IPv6 ACL之前,必须先配置IPv6 ACL模板,模板的内容为需要匹配的字段。
在配置IPv6 ACL模板时需要注意如下事项:
l 一次只能配置一个IPV6 ACL模板。如需配置新的IPV6 ACL模板,则需要把旧模板先删除。
l 如果用户需要在模板中配置src-port、dest-port、icmpv6-type或icmpv6-code字段,则必须先配置ip-protocol字段
在配置IPv6 ACL规则时需要注意如下事项:
l ACL规则内容必须和配置的IPv6 ACL模板相符(或为模板中定义内容的子集)。否则该规则不能下发。
l 如果需要配置src-port或dest-port字段,则必须配置ip-protocol为TCP或UDP(即0x06或0x11);如果需要配置icmpv6-type或icmpv6-code字段,则必须配置ip-protocol为ICMPv6(即0x3a)。
l 如果同时配置了src-ip和dest-ip字段,那么最多只能再从dscp、ip-protocol、src-port、dest-port、icmpv6-type、icmpv6-code中选择两个字段进行匹配;如果只配置了src-ip或dest-ip字段,那么可以再匹配dscp、ip-protocol、src-port、dest-port、icmpv6-type、icmpv6-code中的任意字段。
l 如果要配置带有时间段参数的规则,则需要定义相应的时间段。定义时间段的配置请参见1.2.1 配置时间段。
l 确定了规则中参数的取值。
表1-5 定义IPv6 ACL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6 ACL模板 |
ipv6-acl-template { dscp | ip-protocol | src-ip | dest-ip | src-port | dest-port | icmpv6-type | icmpv6-code } * |
必选 缺省情况下,没有配置IPv6 ACL模板 需要注意的是,如果用户需要在模板中配置src-port、dest-port、icmpv6-type或icmpv6-code字段,则必须先配置ip-protocol字段 |
创建并进入IPv6 ACL视图 |
acl number acl-number |
必选 |
定义ACL规则 |
rule [ rule-id ] { permit | deny } [ dscp rule-string rule-mask ] [ ip-protocol rule-string rule-mask ] [ src-ip ipv6-address prefix-length ] [ dest-ip ipv6-address prefix-length ] [ [ src-port rule-string rule-mask | dest-port rule-string rule-mask ] * | [ icmpv6-type rule-string rule-mask | icmpv6-code rule-string rule-mask ] * ] [ time-range time-name ] |
必选 需要注意的是,如果用户需要配置src-port/dest-port,则必须配置ip-protocol为TCP或UDP,即0x06或0x11;如果用户需要配置icmpv6-type/icmpv6-code,则必须配置ip-protocol为ICMPv6,即0x3a |
定义ACL规则的注释信息 |
rule rule-id comment text |
可选 缺省情况下,ACL规则没有注释信息 |
定义ACL的描述信息 |
description text |
可选 缺省情况下,ACL没有描述信息 |
需要注意的是:
l 用户可以修改IPv6 ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,如果用户的修改只涉及动作或时间段部分,则该规则中没有修改到的部分仍旧保持原来的状态;如果用户修改了自定义字符串部分的内容,则修改后的自定义字符串会覆盖原有的自定义字符串。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示错误信息,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l IPv6 ACL不支持匹配带有扩展报文头的IPv6报文。
l IPv6 ACL不要与VLAN Mapping、信任端口的优先级共同使用。
# 配置IPv6 ACL 5000,禁止从源IPv6地址3001::1/64发送到目的IPv6地址3002::1/64的报文通过。
<Sysname> system-view
[Sysname] acl number 5000
[Sysname-acl-user-5000] rule deny src-ip 3001::1 64 dest-ip 3002::1 64
# 显示IPv6 ACL 5000的配置信息。
[Sysname-acl-user-5000] display acl 5000
User defined ACL 5000, 1 rule
Acl's step is 1
rule 0 deny src-ip 3001::1 64 dest-ip 3002::1 64
E126A以太网交换机支持将ACL下发到硬件,对报文进行过滤。下发方式如下:
l 全局下发ACL:对所有端口接收的报文应用ACL规则进行过滤。
l VLAN下发ACL:对所有端口接收的属于指定VLAN的报文应用ACL规则进行过滤。
l 端口组下发ACL:对端口组内所有端口接收的报文应用ACL规则进行过滤。关于端口组的配置请参见“端口基本配置”部分的介绍。
l 端口下发ACL:对端口接收的报文应用ACL规则进行过滤。
用户可以根据不同的需要灵活方便地下发ACL。
当报文同时匹配了全局下发的ACL、VLAN下发的ACL、端口组(或端口)下发的ACL中的规则时,ACL的优先级从高到低依次为:全局下发的ACL、VLAN下发的ACL、端口组(或端口)下发的ACL,设备会执行优先级高的ACL中定义的动作。
下发ACL之前需要首先定义ACL。定义ACL的配置请参见1.2.2 定义基本ACL,1.2.3 定义高级ACL,1.2.4 定义二层ACL,1.2.5 定义IPv6 ACL。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局下发ACL |
packet-filter inbound acl-rule |
必选 acl-rule的具体内容请参见命令手册 |
# 在全局下发ACL,对所有端口接收的报文应用基本ACL 2000进行过滤。
<Sysname> system-view
[Sysname] packet-filter inbound ip-group 2000
下发ACL之前需要首先定义ACL。定义ACL的配置请参见1.2.2 定义基本ACL,1.2.3 定义高级ACL,1.2.4 定义二层ACL,1.2.5 定义IPv6 ACL。
表1-7 VLAN下发ACL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
VLAN下发ACL |
packet-filter vlan vlan-id inbound acl-rule |
必选 acl-rule的具体内容请参见命令手册 |
VLAN下发的ACL只能对带有802.1Q标签头的报文生效。关于802.1Q标签头的详细介绍请参见本手册“VLAN”部分。
# 在VLAN 10下发ACL,对所有端口接收的属于VLAN 10的报文应用基本ACL 2000进行过滤。
<Sysname> system-view
[Sysname] packet-filter vlan 10 inbound ip-group 2000
下发ACL之前需要首先定义ACL。定义ACL的配置请参见1.2.2 定义基本ACL,1.2.3 定义高级ACL,1.2.4 定义二层ACL,1.2.5 定义IPv6 ACL。
表1-8 端口组下发ACL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入端口组视图 |
port-group group-id |
- |
端口组下发ACL |
packet-filter inbound acl-rule |
必选 acl-rule的具体内容请参见命令手册 |
在端口组下发ACL后,如果将某一端口加入此端口组,系统会将端口组下发的ACL自动下发到端口上。
# 在端口组1下发ACL,对端口组内所有端口接收的报文应用基本ACL 2000进行过滤。
<Sysname> system-view
[Sysname] port-group 1
[Sysname-port-group-1] packet-filter inbound ip-group 2000
下发ACL之前需要首先定义ACL。定义ACL的配置请参见1.2.2 定义基本ACL,1.2.3 定义高级ACL,1.2.4 定义二层ACL,1.2.5 定义IPv6 ACL。
表1-9 端口下发ACL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
端口下发ACL |
packet-filter inbound acl-rule |
必选 acl-rule的具体内容请参见命令手册 |
如果某个端口属于端口组,则不能在该端口下发ACL。
# 在端口Ethernet 1/0/1下发ACL,对端口接收的报文应用基本ACL 2000进行过滤。
<Sysname> system-view
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound ip-group 2000
完成上述配置后,在任意视图下执行display命令,可以显示配置ACL后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-10 ACL的显示
操作 |
命令 |
说明 |
显示配置的ACL规则 |
display acl { all | acl-number } |
display命令可以在任意视图下执行 |
显示时间段 |
display time-range { all | time-name } |
|
显示包过滤的应用信息 |
display packet-filter { global | interface interface-type interface-number | port-group [ group-id ] | unitid unit-id | vlan [ vlan-id ] } |
|
显示ACL剩余表项资源 |
display acl remaining entry |
|
显示IPv6 ACL模板的配置信息 |
display ipv6-acl-template |
通过源IP地址对Telnet登录用户进行控制,仅允许IP地址为10.110.100.52的Telnet用户登录到交换机。
图1-1 通过源IP对Telnet登录用户进行控制组网图
# 定义基本ACL 2000。
<Sysname> system-view
[Sysname] acl number 2000 match-order config
[Sysname-acl-basic-2000] rule 1 permit source 10.110.100.52 0
[Sysname-acl-basic-2000] quit
# 在VTY用户界面引用基本ACL 2000,对Telnet登录用户进行控制。
[Sysname] user-interface vty 0 4
[Sysname-ui-vty0-4] acl 2000 inbound
通过源IP地址对WEB登录用户进行控制,仅允许IP地址为10.110.100.46的WEB用户通过HTTP方式访问交换机。
图1-2 通过源IP对WEB登录用户进行控制组网图
# 定义基本ACL 2001。
<Sysname> system-view
[Sysname] acl number 2001 match-order config
[Sysname-acl-basic-2001] rule 1 permit source 10.110.100.46 0
[Sysname-acl-basic-2001] quit
# 配置WEB服务器引用基本ACL 2001,对WEB登录用户进行控制。
[Sysname] ip http acl 2001
PC 1和PC 2通过端口Ethernet1/0/1接入交换机,PC 1的IP地址为10.1.1.1。要求配置基本ACL,实现在每天8:00~18:00的时间段内对PC 1发出的IP报文进行过滤。
图1-3 基本ACL配置组网图
# 定义周期时间段test,时间范围为每天的8:00~18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 daily
# 定义基本ACL 2000,配置源IP地址为10.1.1.1的访问规则。
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule 1 deny source 10.1.1.1 0 time-range test
[Sysname-acl-basic-2000] quit
# 在端口Ethernet1/0/1上应用ACL 2000。
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound ip-group 2000
公司企业网通过交换机实现各部门之间的互连。研发部门由端口Ethernet1/0/1接入交换机,工资查询服务器的地址为192.168.1.2。要求配置高级ACL,禁止研发部门在工作日8:00~18:00的时间段内访问工资查询服务器。
图1-4 高级ACL配置组网图
# 定义周期时间段test,时间范围为工作日的8:00~18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 working-day
# 定义高级ACL 3000,配置目的IP地址为工资服务器的访问规则。
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 1 deny ip destination 192.168.1.2 0 time-range test
[Sysname-acl-adv-3000] quit
# 在端口Ethernet1/0/1上应用ACL 3000。
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound ip-group 3000
PC 1和PC 2通过端口Ethernet1/0/1接入交换机,PC 1的MAC地址为0011-0011-0011。要求配置二层ACL,在每天8:00~18:00的时间段内,对PC 1发出的目的MAC为0011-0011-0012的报文进行过滤。
图1-5 二层ACL配置组网图
# 定义周期时间段test,时间范围为每天的8:00~18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 daily
# 定义二层ACL 4000,配置源MAC为0011-0011-0011,目的MAC为0011-0011-0012的访问规则。
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule 1 deny source 0011-0011-0011 ffff-ffff-ffff dest 0011-0011-0012 ffff-ffff-ffff time-range test
[Sysname-acl-ethernetframe-4000] quit
# 在端口Ethernet 1/0/1上应用ACL 4000。
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound link-group 4000
PC 1和PC 2通过端口Ethernet1/0/1接入交换机,PC 1的IPv6地址为3001::1/64。要求配置IPv6 ACL,在每天8:00~18:00的时间段内,对PC 1发出的目的IPv6地址为3002::1/64的报文进行过滤。
图1-6 IPv6 ACL配置组网图
# 定义周期时间段test,时间范围为每天的8:00~18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 daily
# 配置优先级信任模式为信任报文的802.1p(CoS)优先级
[Sysname] priority trust
# 定义IPv6 ACL模板,内容为匹配IPv6报文的源地址和目的地址字段。
[Sysname] ipv6-acl-template src-ip dest-ip
# 定义IPv6 ACL 5000,配置源地址为3001::1/64,目的地址为3002::1/64的访问规则。
[Sysname] acl number 5000
[Sysname-acl-user-5000] rule deny src-ip 3001::1 64 dest-ip 3002::1 64 time-range test
[Sysname-acl-user-5000] quit
# 在端口Ethernet 1/0/1上应用IPv6 ACL 5000。
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound user-group 5000
PC 1、PC 2和PC 3分别通过端口Ethernet 1/0/1、Ethernet 1/0/2和Ethernet 1/0/3接入交换机。其中端口Ethernet 1/0/1、Ethernet 1/0/2和Ethernet 1/0/3属于端口组1,数据库服务器的IP地址为192.168.1.2。要求配置高级ACL 3000,禁止端口组1内的PC在工作日8:00~18:00的时间段内访问数据库服务器。
图1-7 在端口组上应用ACL配置组网图
# 定义周期时间段test,时间范围为工作日的8:00~18:00。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 working-day
# 定义高级ACL 3000,配置目的IP地址为数据库服务器的访问规则。
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 1 deny ip destination 192.168.1.2 0 time-range test
[Sysname-acl-adv-3000] quit
# 创建端口组1,将端口Ethernet 1/0/1、Ethernet 1/0/2和Ethernet 1/0/3加入到端口组1中。
[Sysname] port-group 1
[Sysname-port-group-1] port Ethernet 1/0/1 to Ethernet 1/0/3
# 在端口组1上应用ACL 3000。
[Sysname-port-group-1] packet-filter inbound ip-group 3000
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!