目 录
ACL(Access Control List,访问控制列表)也称为访问列表,有的文档中还称之为包过滤。ACL通过定义一系列包含“允许”或“拒绝”的规则语句,并将这些规则应用到设备接口上,对进出接口的数据包进行控制,从而提升网络设备的安全性。
配置ACL能够保障网络安全、可靠和稳定,例如:
l 防止报文攻击:针对IP、TCP或者ICMP报文的攻击,对这些攻击报文做“拒绝”处理。
l 网络访问控制:限制用户访问服务,例如只允许访问WWW和电子邮件服务,其他服务如Telnet则禁止。或者只允许在给定的时间段内访问,或者只允许特定主机访问网络等。
l 网络流量控制:结合QoS可以为重要的数据流进行优先服务保证。关于QoS的配置请参见“QoS”。
l 访问列表
访问列表有:基本访问列表和动态访问列表。
用户可以根据需要选择基本访问列表或动态访问列表。一般情况下,使用基本访问列表已经能够满足安全需要。但攻击者可能通过软件假冒源地址欺骗设备,从而访问网络。而动态访问列表在用户访问网络以前,要求通过身份认证,使攻击者难以访问网络。在敏感区域可以使用动态访问列表保证网络安全。
说明
通过假冒源地址欺骗设备即电子欺骗是所有访问列表固有的问题,使用动态列表也会遭遇电子欺骗问题:攻击者可能在用户通过身份认证的有效访问期间,假冒用户的地址访问网络。解决该问题的方法有两种,一种是尽量设置更短的用户访问空闲时间;另一种是使用IPsec加密协议对网络数据进行加密,确保进入设备时,所有的数据都是加密的。
访问列表一般配置在以下位置的网络设备上:
○ 内部网和外部网(如Internet)之间的设备
○ 两个网络交界部分的设备
○ 接入控制端口的设备
ACE(Access Control Entry,访问控制条目)是包含“允许(Permit)”或“拒绝(Deny)”两种动作,以及过滤规则的一条语句。每个ACE都有一个序号,该序号可由设备自动分配或者手动配置。一条ACL中包含一个或者多个ACE。ACL通过ACE对数据包进行标识过滤。
ACL中ACE的顺序决定了该ACE在访问列表中的匹配优先级。网络设备在处理报文时,按ACE的序号从小到大进行规则匹配,当找到匹配的ACE后则停止检查后续的ACE。
例如创建一条序号为10的ACE,它拒绝所有的数据流通过。
10 deny ip any any
20 permit tcp 192.168.12.0 0.0.0.255 eq telnet any
由于序号为10的ACE拒绝了所有的IP报文,即使192.168.12.0/24网络的主机Telnet报文,可以被序号为20的ACE匹配,该报文也将被拒绝。因为设备在检查到报文和序号为10的ACE匹配后,便停止检查后面序号为20的ACE。
又例如创建一条编号为10的ACE,它允许所有的IPv6数据流通过。
10 permit ipv6 any any
20 deny ipv6 host 200::1 any
由于序号为10的ACE允许所有的IPv6报文通过,主机200::1发出的IPv6报文,即使匹配序号为20的ACE,该报文也将被允许通过。因为设备在检查到报文和第一条ACE匹配,便停止检查后面序号为20的ACE。
l 步长
当设备为ACE自动分配序号时,两个相邻ACE序号之间的差值,称为步长。例如,如果将步长设定为5,则设备按照5、10、15…这样的递增顺序自动为ACE分配序号。如下所示。
5 deny ip any any
10 permit tcp 192.168.12.0 0.0.0.255 eq telnet any
当步长改变后,ACE序号会自动按新步长值重新分配。例如,当把步长改为10后,原来ACE序号从5、10、15变成5、15、25。
通过改变步长可以在两个ACE之间插入新的ACE。例如创建了4个ACE,并通过手动配置ACE序号分别为1、2、3和4。如果希望能在序号1后面插入一条新的ACE,则可以先将步长修改为2,此时原先4个ACE的序号自动变为1、3、5和7,再插入一条手动配置的序号为2的ACE。
l 过滤域模板
过滤域指的是生成一条ACE时,根据报文中的哪些字段对报文进行识别、分类。过滤域模板就是这些字段的组合。ACE根据以太网报文的某些字段来标识以太网报文,这些字段包括:
二层字段(Layer 2 Fields):
○ 48位的源MAC地址(必须申明所有48位)
○ 48位的目的MAC地址(必须申明所有48位)
○ 16位的二层类型字段
三层字段(Layer 3 Fields):
○ 源IP地址字段(可以申明全部源IP地址值,或使用子网来定义一类流)
○ 目的IP地址字段(可以申明全部目的IP地址值,或使用子网来定义一类流)
○ 协议类型字段
四层字段(Layer 4 Fields):
○ 可以申明一个TCP的源端口、目的端口或者都申明,还可以申明源端口或目的端口的范围。
○ 可以申明一个UDP的源端口、目的端口或者都申明,还可以申明源端口或目的端口的范围。
例如,在创建一条ACE时需要根据报文的目的IP字段,对报文进行识别和分类。而在创建另一条ACE时,需要根据报文的源IP地址字段和UDP的源端口字段,对报文进行识别和分类。这两条ACE就使用了不同的过滤域模板。
l 规则
规则(Rules)指的是ACE过滤域模板对应的值。例如,一条ACE的内容如下:
10 permit tcp host 192.168.12.2 any eq telnet
在这条ACE中,过滤域模板为以下字段的集合:源IP地址字段、目的IP地址字段、IP协议字段、TCP目的端口字段。对应的值(即规则)分别为:源IP地址为Host 192.168.12.2、目的IP地址为Any(即所有主机)、IP协议为TCP、TCP目的端口为Telnet。如图1-1所示。
图1-1 对ACE:permit tcp host 192.168.12.2 any eq telnet的分析
说明
● 过滤域模板可以是三层字段(Layer 3 Field)和四层字段(Layer 4 Field)的集合,也可以是多个二层字段(Layer 2 Field)的集合。但标准与扩展ACL的过滤域模板不能是二层和三层字段、二层和四层字段、二层和三层字段、四层字段的集合。要使用二层、三层、四层字段集合,可以应用专家级扩展访问控制列表。
● 出方向ACL关联SVI接口(Switch Virtual Interface,交换设备虚拟接口)的注意事项:支持IP标准、IP扩展、MAC扩展和专家级ACL应用。
● 如果在MAC扩展和专家级ACL中匹配目的MAC,将这样的ACL应用到SVI接口的出方向时,表项会被设置,但无法生效。如果想要在IP扩展,专家级ACL中匹配目的IP,而目的IP不在所关联的SVI接口的子网IP范围内时,配置的ACL将无法生效。例如VLAN 1的地址为192.168.64.1 255.255.255.0,创建一条IP扩展的ACL,ACE为deny udp any 192.168.65.1 0.0.0.255 eq 255,将该ACL应用到VLAN 1的出口,将无法生效。因为目的IP不在VLAN 1子网IP范围内,如果ACE为deny udp any 192.168.64.1 0.0.0.255 eq 255将可以生效,因为目的IP符合规定。
● 由于ACL资源(TCAM/KEY/端口组/Range等)属动态分配资源,即业务下发时策略整合资源模块根据当前的ACL资源情况进行分配,先到的业务先分配ACL资源,后到的业务如果ACL资源不够就会存在ACL资源分配失败,并提示错误syslog。设备重启过程或热拔插等触发数据同步的过程,各业务无法保证按原来的时序将业务同步,有可能触发由于业务时序不一样导致原本可以分配到ACL资源的业务分配不到ACL资源,ACL资源不足会提示错误syslog。
产品/版本支持情况
● 作用在物理口和三层聚合接口上的出方向ACL,仅支持匹配知名报文(单播、组播),不支持匹配未知名单播,即对于未知名报文或者广播报文,接口上配置的出方向ACL不生效。
● 入方向ACL和802.1x,全局IP和MAC绑定,端口安全,IP Source Guard共用时,Permit和默认Deny的ACE不生效,其他Deny表项的ACE正常生效。
● 入方向ACL和QoS共用时,Permit表项的ACE不生效,其他Deny表项的ACE正常生效;默认Deny表项的ACE在QoS表项后生效。
● 由于硬件容量的限制,作用在多个SVI接口的入方向ACL,如果再添加ACE,保存配置重启后可能导致部分SVI接口上的ACL无法配置成功。
说明
● 当配置专家级的ACL,并应用在接口的出方向时,如果该ACL中的某些ACE包含三层匹配信息(例如IP,L4port等),将导致从应用接口进入的非IP报文无法受该ACL的Permit和Deny规则控制。
● 应用ACL时,如果ACL(包括IP ACL和专家级扩展ACL)中的ACE匹配了非二层字段,例如源IP,目的IP时,对于带标签的MPLS报文匹配是无效的。
IP ACL主要用于对进出设备的IPv4报文进行精细化控制,用户可以根据实际需要阻止或允许特定的IPv4报文进入网络,从而实现控制IP用户访问网络资源的目的。
在IP ACL中定义一系列的访问规则,并将访问列表应用在接口的入方向或出方向上,也可以对IP ACL进行全局应用。当IPv4报文进出设备时,设备通过判断报文是否与规则匹配来决定是否转发或阻断报文。
要在设备上配置IP ACL,必须为访问列表指定一个唯一的名称或编号,以便唯一标识每个访问列表。
IP ACL分为IP标准ACL和IP扩展ACL。表1-1列出了IP标准ACL和IP扩展ACL可以使用的编号范围。
表1-1 IP标准ACL和IP扩展ACL编号范围
类型 |
编号范围 |
匹配域 |
IP标准ACL |
1~99,1300~1999 |
源IP地址 |
IP扩展ACL |
100~199,2000~2699 |
● 源IP地址 ● 目的IP地址 ● IP协议号 ● 四层源端口号或ICMP type ● 四层目的端口号或ICMP code |
IP标准ACL主要根据源IP地址控制报文的转发或阻断。IP扩展ACL通过对表中匹配域的组合,控制报文的转发或阻断。
对于单一的访问列表来说,可以使用多条独立的访问列表语句来定义多种规则,其中所有的语句引用同一个编号或名字,以便将这些语句绑定到同一个访问列表。
说明
ACL规则中的ICMP code匹配域对ICMP type为3的ICMP报文无效。如果ACL规则中配置了要匹配ICMP报文的code字段,当Type为3的ICMP报文进入设备执行ACL匹配时,匹配结果可能与预期的不一样。
每个IP ACL的末尾隐含着一条“拒绝所有数据流”的规则语句。如果报文与任何规则都不匹配,将被拒绝。如下例:
access-list 1 permit host 192.168.4.12
此列表只允许源主机为192.168.4.12的报文通过,其它主机都将被拒绝。因为这条访问列表最后包含了一条规则语句:
access-list 1 deny any
又例如:
access-list 1 deny host 192.168.4.12
如果列表只包含以上这一条语句,则任何主机报文通过该接口时都将被拒绝。
注意
在定义访问列表的时候,要考虑到路由更新的报文。由于访问列表末尾“拒绝所有数据流”,可能导致所有的路由更新报文被阻断。
MAC扩展ACL基于报文的二层信息来对进出设备的报文进行精细化控制。用户可以根据实际需要阻止或允许特定的二层报文进入网络,从而实现控制保护网络资源不受攻击或者控制用户访问网络资源的目的。
在MAC扩展ACL中定义一系列的访问规则,将访问列表应用在接口的入方向或出方向上。当报文进出设备时,设备判断报文是否与规则匹配来决定是否转发或阻断报文。
要在设备上配置MAC扩展ACL,必须为访问列表指定一个唯一的名称或编号,以便唯一标识每个访问列表。表1-2列出MAC扩展ACL的编号范围。
表1-2 MAC扩展ACL编号范围
协议 |
编号范围 |
匹配域 |
MAC扩展ACL |
700~799 |
● 源MAC地址 ● 目的MAC地址 ● 以太网协议类型 |
MAC扩展ACL根据源或目的MAC地址以及报文的以太网类型来控制报文的转发或阻断。
对于单一的MAC扩展ACL来说,可以使用多条独立的访问列表语句来定义多种规则,其中所有的语句引用同一个编号或名字,以便将这些语句绑定到同一个访问列表。
说明
如果MAC扩展ACL规则中没有指定是针对IPv6报文,即没有定义以太网类型字段或定义的以太网类型字段值不是0x86dd,那么MAC扩展ACL不匹配IPv6报文。如果用户想匹配IPv6报文,请使用IPv6 ACL。
每个MAC扩展ACL的末尾隐含着一条“拒绝所有数据流”的规则语句。如果报文与任何规则都不匹配,将被拒绝。如下例:
access-list 700 permit host 00d0.f800.0001 any
此列表只允许来自MAC地址为00d0.f800.0001的主机发出的报文通过,来自其它主机的报文都将被拒绝。因为这条访问列表最后包含了一条规则语句:
access-list 700 deny any any
专家级扩展ACL基于报文的二层和三层信息对进出设备的报文进行精细化控制。可以将专家级扩展ACL看作是IP ACL和MAC扩展ACL的一种结合与增强。专家级扩展ACL中的规则不仅可以包含IP ACL规则和MAC扩展ACL规则,还可以指定基于VLAN ID来匹配报文。
在专家级扩展ACL中定义一系列的访问规则,并将访问列表应用在接口的入方向或出方向上。报文进出设备时,设备就会通过判断报文是否与访问规则匹配来决定是否转发或阻断报文。
要在设备上配置专家级扩展ACL,必须为协议的访问列表指定一个唯一的名称或编号,以便在协议内部能够唯一标识每个访问列表。表1-3列出专家级扩展ACL的编号范围。
表1-3 专家级扩展ACL的编号范围
协议 |
编号范围 |
匹配域 |
专家级扩展ACL |
2700~2899 |
● 源IP地址 ● 目的IP地址 ● IP协议号 ● 四层源端口号或ICMP type ● 四层目的端口号或ICMP code ● 源MAC地址 ● 目的MAC地址 ● 以太网协议类型 ● VLAN ID |
专家级扩展ACL通过对表中匹配域进行组合,控制报文的转发或阻断。
对于单一的专家级扩展ACL来说,可以使用多条独立的访问列表语句来定义多种规则,其中所有的语句需引用同一个编号或名字,以便将这些语句绑定到同一个访问列表。
说明
如果专家级扩展ACL规则中没有指定是针对IPv6报文,即没有定义以太网类型字段或以太网类型字段不是0x86dd,那么专家级扩展ACL不匹配IPv6报文。如果用户想匹配IPv6报文,请使用IPv6 ACL。
产品/版本支持情况
●
数据中心产品的专家级扩展ACL中,VXLAN字段选项主要是为了匹配VXLAN的内层报文,因此VXLAN模式下可以应用专家级ACL匹配VXLAN的内层IP字段。
● 当设备需要匹配VXLAN报文时,可以指定VXLAN协议目的端口号用于确认VXLAN报文,同时可以指定匹配该VXLAN报文是否携带Tag。
产品/版本支持情况
数据中心产品的专家级扩展ACL中UDF选项是用户自定义字段匹配域,由用户指定需要匹配的协议层、偏移值、数据和掩码。
每个专家级扩展ACL的末尾隐含着一条“拒绝所有数据流”规则语句。如果报文与任何规则都不匹配,将被拒绝。如下例:
access-list 2700 permit 0x0806 any any any any any
此列表只允许以太网类型为0x0806(即ARP)的报文通过,其他类型的报文都将被拒绝。因为这条访问列表最后包含了一条规则语句:
access-list 2700 deny any any any any
IPv6 ACL主要用于对进出设备的IPv6报文进行精细化控制。用户可以根据实际需要阻止或允许特定的IPv6报文进入网络,从而实现控制IPv6用户访问网络资源的目的。
在IPv6 ACL中定义一系列的访问规则,并将访问列表应用在接口的入方向或出方向上。当IPv6报文进出设备时,设备判断报文是否与规则匹配来决定是否转发或阻断报文。
要在设备上配置访问列表,必须为协议的访问列表指定一个唯一的名称。
每个IPv6 ACL的末尾隐含着一条“拒绝所有IPv6数据流”规则语句,因此如果报文与任何规则都不匹配,将被拒绝。如下例:
ipv6 access-list ipv6_acl
10 permit ipv6 host 200::1 any
此列表只允许源主机为200::1的IPv6报文通过,其它主机发出的IPv6报文都将被拒绝。因为这条访问列表最后包含了一条规则语句:
deny ipv6 any any
专家级高级ACL,即ACL80,也称为自定义ACL。ACL80支持对报文的前80个字节中的指定字节按比特位进行匹配。
ACL80匹配时有三个要素:匹配域内容、匹配域掩码以及匹配的起始位置(即偏移量offset)。匹配域内容和匹配域掩码两者的比特位是一一对应的。匹配域内容指明需要匹配的字段值,匹配域掩码指明对应比特位是否需要匹配。当需要匹配某个比特位时,必须将匹配域掩码中对应的比特位设置为1。如果匹配域掩码对应的比特位设置为0,无论匹配域内容中对应的比特位是什么,都不会匹配。例如:
10 permit 00d0f8123456 ffffffffffff 0
20 deny 00d0f8654321 ffffffffffff 6
在序号为10的ACE中,匹配域内容为00d0f8123456,匹配域掩码为ffffffffffff,偏移量为0。这条规则表示如果报文的目的MAC为00d0f8123456,则允许报文转发。
在序号为20的ACE中,匹配域内容为00d0f8654321,匹配域掩码为ffffffffffff,偏移量为6。这条规则表示如果报文的源MAC为00d0f8654321,则阻断该报文。
正确使用自定义访问控制列表需要对二层数据帧结构有深入的了解。二层数据帧前64个字节示意如图1-2所示。图中每个字母代表一个十六进制数,每两个字母代表一个字节。
图1-2 二层数据帧前64个字节示意图
各个字母的含义及偏移量取值如表1-4所示。
字母 |
含义 |
偏移量 |
字母 |
含义 |
偏移量 |
A |
目的MAC |
0 |
O |
TTL字段 |
34 |
B |
源MAC |
6 |
P |
协议号 |
35 |
C |
VLAN Tag字段 |
12 |
Q |
IP校验和 |
36 |
D |
数据帧长度字段 |
16 |
R |
源IP地址 |
38 |
E |
DSAP(目的服务访问点)字段 |
18 |
S |
目的IP地址 |
42 |
F |
SSAP(源服务访问点)字段 |
19 |
T |
TCP源端口 |
46 |
G |
Ctrl字段 |
20 |
U |
TCP目的端口 |
48 |
H |
Org Code字段 |
21 |
V |
序列号 |
50 |
I |
封装的数据类型 |
24 |
W |
确认字段 |
54 |
J |
IP版本号 |
26 |
XY |
IP头长度和保留比特位 |
58 |
K |
TOS字段 |
27 |
Z |
保留比特位和Flags比特位 |
59 |
L |
IP包的长度 |
28 |
a |
Windows Size字段 |
60 |
M |
ID号 |
30 |
b |
其他 |
62 |
N |
Flags字段 |
32 |
|
|
|
表中各个字段的偏移量是它们在SNAP+Tag的802.3数据帧中的偏移量。在自定义访问控制列表中,通过匹配域掩码和偏移量,从数据帧的前80个字节中提取指定字节,再和匹配域内容比较,从而对报文作相应的处理。例如,用户允许所有的TCP报文转发,则可以将匹配域内容定义为“06”,匹配域掩码定义为“ff”,偏移量定义为35。创建序号为10的ACE如下。
10 permit 06 ff 35
将访问列表应用在接口的入方向或出方向上。当报文进出设备时,通过匹配域掩码和偏移量,从数据帧中将TCP协议号字段的内容提取出来,再和匹配域内容比较,匹配出所有的TCP报文并进行转发。
ACL重定向的作用是将符合规则的报文重定向至指定接口转发,或在指定接口上抓取报文加以分析。
ACL重定向在指定接口上绑定不同的ACL策略,并给每个策略指定一个输出接口。当该接口收到报文时,将逐条查找绑定在该接口上的ACL策略。如果报文符合某条策略描述的特征,将从该策略所指定的输出接口转发。
由于网络中存在各种病毒报文,且各端口下的病毒报文识别特征相同或相似。端口安全ACL常被配置作为病毒报文过滤及防范使用,用于过滤符合某些特征的报文,例如:伪造的TCP攻击报文。通过创建ACL并添加匹配各种病毒报文特征的ACE后,将ACL应用到设备各个端口,达到过滤病毒报文的作用。端口安全ACL用于病毒过滤等抗攻击场景时,存在较多不便。
l 端口需要逐个配置。存在重复配置、操作性能低下及ACL资源过度消耗的情况。
l 安全ACL的访问控制作用被弱化。由于被用于病毒过滤,安全ACL的限制路由更新、限制网络访问等基本功能无法正常使用。
全局安全ACL可以在不影响端口安全ACL的情况下,进行全局抗病毒部署及防御。全局安全ACL只需要一条命令即在所有二层接口上生效。
当全局安全ACL与端口安全ACL同时配置时,两者共同生效。对于匹配全局安全ACL规则的报文将被当作病毒报文直接过滤,对于没有匹配全局安全ACL规则的报文将继续受端口安全ACL控制。如果想让某些端口不受全局安全ACL的控制,可以在这些接口上独立关闭全局安全ACL功能。当全局、接口和VLAN的安全ACL同时应用时,优先级接口 > VLAN > 全局。
为了避免全局安全ACL被误配置,新增全局安全ACL无效开关。配置全局安全ACL无效后,再配置全局安全ACL,会提示配置失败。如果已经配置了全局安全ACL,再配置全局安全ACL无效,那么会将当前所有全局安全ACL删除,并给出日志提示。
应用在SVI接口上的访问列表(即SVI ACL)会同时对VLAN内二层转发的报文及VLAN间的路由报文生效,从而导致同一VLAN内不同用户之间无法正常通信等异常现象。使用SVI Router ACL功能可以使应用在SVI接口上的访问列表仅对VLAN间的路由报文生效。
缺省情况下,SVI Router ACL功能默认关闭。SVI ACL同时对VLAN间的三层转发报文及VLAN内的桥转发报文生效。SVI Router ACL功能开启后,SVI ACL仅对VLAN间的三层转发报文生效。
报文匹配日志用于监控访问列表规则的运行状态,为日常网络维护以及网络优化提供必要的信息。
为了让用户更好的掌握ACL在设备中的运行状态,在添加ACE时可以根据需要决定是否指定报文匹配日志输出选项。如果指定了该选项,则当ACE匹配到报文时输出匹配日志信息。ACL基于ACE打印日志信息,即设备周期性的打印匹配报文的ACE信息,以及匹配的报文数量。如下:
*Sep 9 16:23:06: %ACL-6-MATCH: ACL 100 ACE 10 permit icmp any any, match 78 packets.
为合理控制日志输出的数量和频率,ACL支持配置日志输出间隔的配置。
注意
● 带日志选项的访问列表规则会使用更多的硬件资源,如果配置的所有规则都带有日志选项,则会导致设备的硬件策略容量减半。
● 默认报文匹配日志输出间隔是0分钟,即不输出ACL匹配日志。在配置访问列表规则时指定了日志选项后,还需要配置输出间隔,否则不会输出匹配日志。
● 对于带日志选项的规则,如果指定的时间间隔内没有匹配到任何报文,则不会输出与该规则有关的报文匹配日志;如果指定的时间间隔内匹配到报文,则时间间隔到期后,会输出与该规则有关的报文匹配日志。其中的报文命中数目为该时间间隔内该规则匹配到的报文总数,即为该规则上一次输出日志到本次输出日志之间命中的报文数。
产品/版本支持情况
仅支持为IP ACL和IPv6 ACL规则配置日志选项。
出于网络管理的需要,用户可能想知道某条访问列表规则是否匹配到报文以及匹配数量。ACL提供了基于规则的报文匹配计数功能。用户可以基于ACL开启和关闭该ACL下的所有规则的报文匹配计数功能。当有报文匹配到了这条规则,对应的匹配计数就相应地增长。用户可通过ACL的统计清除命令将该ACL下所有规则的报文匹配计数清零,以便重新统计。
注意
开启ACL的报文匹配计数功能需要更多的硬件表项,极端情况下会使设备可以配置的硬件策略容量减半。
产品/版本支持情况
在IP ACL、MAC扩展ACL、专家级扩展ACL和IPv6 ACL上开启报文匹配计数功能。
如果用户需要在指定的时间段内对某些流量进行控制,例如,禁止在工作时间使用聊天工具。可以通过配置ACE的生效时间段,控制流量通过的时间。时间段分为绝对时间和周期时间两种。
绝对时间表示一个指定起始时间以及结束时间的时间区间。该时间区间不会循环出现,也没有周期。例如“2000年1月1日12:00:00至2001年1月1日12:00:00”。
周期时间表示一个周期性的时间区间。例如“每周一8:00到每周五17:00”。
关于时间段的配置请参见“基础配置指南”中的“Time Range”。
使用分片报文匹配模式可以使访问列表对分片报文进行更精细化的控制。
对于IP报文,在网络传输时中可能会被分片。报文发生分片时,只有首片报文带有四层信息,例如TCP或UDP端口号、ICMP类型和ICMP编码等,其他的分片报文都不带有这些四层信息。在默认的分片报文匹配模式下,如果ACL规则带有Fagment标识,则只会匹配非首片报文;如果ACL规则不带有Fragment标识,则匹配所有报文,包括首片报文和后续的所有分片报文。除了默认的分片报文匹配模式外,还提供另一种新的分片报文匹配方法,用户可以根据需要在指定的ACL上进行切换。在新的分片报文匹配模式下,当ACL规则不带有Fragment标识,如果报文被分片,首片报文会匹配规则中用户定义的所有匹配域(包括三层和四层信息),而非首片报文则只会匹配规则中的非四层信息。
产品/版本支持情况
● 仅在IP扩展ACL和专家级扩展ACL上支持分片报文匹配模式的切换。
在某些应用场景中,需要绑定ACL限制源IP对TCP握手首包进行处理,而不是建立TCP连接后再进行限制。使用全局控制面ACL实现仅软件过滤,不仅可以减少对硬件资源的消耗,而且能够满足对TCP首包进行处理的需求。将安全ACL通过控制面应用命令应用到全局,表示该ACL仅软件生效。
全局控制面ACL在所有二层以太网接口上生效,ACL表项不应用到硬件,仅对软件生效,从而减少对硬件资源的损耗;当进行TCP握手时,软件ACL对TCP首包进行检查,对于命中ACL的TCP报文进行过滤,实现对首包过滤的目的。
说明
● 全局控制面ACL仅对软件过滤生效。
● 全局控制面ACL不受全局ACL例外口配置限制,配置例外口后全局控制面ACL仍然生效
● 全局控制面ACL可以在二层接口上生效,也可以在三层接口上生效。即可以在以下类型的接口上都生效:Access口、Trunk口、Hybrid口、三层以太网接口、二层聚合接口或三层聚合接口。在SVI接口和聚合成员接口上不生效。
ACL配置任务如下:
(1) 配置ACL。以下配置任务请至少选择其中一项进行配置。
(2)
(可选)配置ACL重定向
(3)
(可选)配置全局安全ACL
(4)
(可选)配置分片报文匹配模式
(5)
(可选)配置SVI Router ACL
(6) (可选)配置ACL故障恢复
创建和应用IP标准ACL,对接口上进出的IPv4报文进行控制,禁止或允许特定的IPv4报文进入网络,从而实现控制IP用户访问网络资源的目的。
l 如果只想通过检查报文的源IP地址来控制用户的网络资源访问权限,那么可以配置IP标准ACL。
l IP标准ACL可以根据用户的分布情况,在接入、汇聚或核心设备上配置。IP标准ACL只对被配置的设备有效,不会影响网络中的其他设备。
IP标准ACL配置任务如下:
(1)
创建IP标准ACL
(2)
应用IP标准ACL
创建IP标准ACL并配置规则。
l IP标准ACL中允许无规则。没有配置规则时,ACL隐含一条“拒绝所有数据流”的规则,禁止所有IPv4报文进入设备。
l 如果想让ACL的某些规则在指定的时间生效,或在指定的时间内失效,例如让ACL在一个星期的某些时间段内生效等。可以配置带time-range选项的ACL规则。
l 配置带time-range选项的ACL规则时,需要配置对应的时间段选项。关于时间段的配置请参见“基础配置指南”中的“Time Range”。
l 配置带log选项的ACL规则会使用更多的硬件资源,如果配置的所有规则都带有log选项,则会导致设备的硬件策略容量减半。
l 默认报文匹配日志输出间隔是0分钟,即不输出ACL匹配日志。在配置ACL规则时指定了log选项后,还需要配置输出间隔,否则不会输出匹配日志。
l 对于带log选项的规则,如果指定的时间间隔内没有匹配到任何报文,则不会输出与该规则有关的报文匹配日志;如果指定的时间间隔内匹配到报文,则时间间隔到期后,会输出与该规则有关的报文匹配日志。其中的报文命中数目为该时间间隔内该规则匹配到的报文总数,即为该规则上一次输出日志到本次输出日志之间命中的报文数。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建IP标准ACL和规则。请选择其中一项进行配置。
○ 创建数字索引的IP标准ACL和规则。
access-list acl-number { deny | permit } { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } [ time-range time-range-name ] [ log ]
缺省情况下,不存在IP标准ACL和规则。
○ 创建数字索引或者命名的IP标准ACL和规则。请依次执行以下命令配置IP标准ACL和规则。
ip access-list standard { acl-name | acl-number }
缺省情况下,不存在IP标准ACL。
[ sequence-number ] { deny | permit } { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } [ time-range time-range-name ] [ log ]
缺省情况下,IP标准ACL中存在一条拒绝类型的规则。
(4) (可选)配置报文匹配日志更新间隔。
ip access-list
log-update interval time-value
缺省情况下,报文匹配日志更新间隔为0分钟,表示不输出ACL匹配日志。
(5) (可选)配置ACL注释信息。请选择其中一项进行配置。
○ 为数字索引的IP标准ACL配置注释信息。
access-list acl-number list-remark text
○ 为数字索引或者命名的IP标准ACL配置注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(6) (可选)配置IP标准ACL规则注释信息。请选择其中一项进行配置。
○ 为数字索引的IP标准ACL规则配置注释信息。
access-list acl-number remark text
○ 为数字索引或者命名的IP标准ACL配置注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
(7) (可选)开启IP标准ACL的报文匹配统计功能。
ip access-list counter { acl-name | acl-number }
缺省情况下,IP标准ACL的报文匹配统计功能处于关闭状态。
(8) (可选)配置IP标准ACL规则步长。
ip access-list resequence { acl-name | acl-number
} start-value step-value
缺省情况下,IP标准ACL规则序号起始值为10,规则序号增量值为10。
将IP标准ACL应用到全局配置模式、接口配置模式、SVI接口配置模式、VXLAN配置模式下,使IP标准ACL生效。
l 设备接口的入方向或出方向上只能应用一条IP ACL或一条MAC扩展ACL,或者应用一条专家级ACL。除此之外,还可以再应用一条IPv6 ACL。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是对从设备转发出去的报文生效。
l 配置带counter-only选项可以对某些特征的报文进行计数统计。计数统计只对该ACL访问类别中的Permit规则生效,Deny规则不生效。
l 当一条ACL被用做counter-only ACL后,该条ACL不能在全局开启计数功能,也不能在全局和接口上应用普通ACL,即相同acl-number或acl-name的ACL不能同时用做counter-only ACL和普通ACL。
l 配置带control-plane选项,表示仅软件生效ACL,达到节约硬件资源的目的。
l 配置带forward-plane选项,表示仅硬件生效ACL。
l 配置带forward-control-plane选项,表示软件和硬件都生效ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)全局应用IP标准ACL。
ip access-group { acl-name | acl-number } { in | out } [ control-plane | forward-control-plane | forward-plane ]
缺省情况下,全局未应用IP标准ACL。
(4) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(5) 接口应用IP标准ACL。
ip access-group { acl-name | acl-number } { in | out } [ control-plane | counter-only | forward-control-plane | forward-plane ]
缺省情况下,接口未应用IP标准ACL。
创建和应用IP扩展ACL,对接口上进出的IPv4报文进行控制,禁止或允许特定的IPv4报文进入网络,从而实现控制IP用户访问网络资源的目的。
l 如果需要通过检查报文的源IP地址、目的IP地址、报文的协议号、TCP/UDP源或目的端口号,来控制用户的网络资源访问权限,可配置IP扩展ACL。
l IP扩展ACL可以根据用户的分布情况,在接入、汇聚或核心设备配置。IP扩展ACL只对被配置的设备有效,不会影响网络中的其他设备。
IP扩展ACL配置任务如下:
(1)
创建IP扩展ACL
(2)
应用IP扩展ACL
创建IP扩展ACL并配置其规则。
l IP扩展ACL中允许无规则。没有配置规则时,ACL隐含一条“拒绝所有数据流”的规则,禁止所有IPv4报文进入设备。
l 如果想让ACL的某些规则在指定的时间生效,或在指定的时间内失效,例如让ACL在一个星期的某些时间段内生效等。可以配置带time-range选项的ACL规则。
l 配置带time-range选项的ACL规则时,需要配置对应的时间段选项。关于时间段的配置请参见“基础配置指南”中的“Time Range”。
l 配置带log选项的ACL规则会使用更多的硬件资源,如果配置的所有规则都带有log选项,则会导致设备的硬件策略容量减半。
l 默认报文匹配日志输出间隔是0分钟,表示不输出ACL匹配日志。在配置ACL规则时指定了log选项后,还需要配置输出间隔,否则不会输出匹配日志。
l 对于带log选项的规则,如果指定的时间间隔内没有匹配到任何报文,则不会输出与该规则有关的报文匹配日志;如果指定的时间间隔内匹配到报文,则时间间隔到期后,会输出与该规则有关的报文匹配日志。其中的报文命中数目为该时间间隔内该规则匹配到的报文总数,即为该规则上一次输出日志到本次输出日志之间命中的报文数。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建IP扩展ACL和规则。请选择其中一项进行配置。
○ 创建数字索引的IP扩展ACL和规则。
access-list acl-number { deny | permit } protocol { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } [ eq port | gt port | lt port | neq port | range lower upper ] { destination-ipv4-address destination-ipv4-wildcard | host destination-ipv4-address | any } [ eq port | gt port | lt port | neq port | range lower upper ] [ [ precedence precedence ] [ tos tos ] | [ dscp dscp ] [ ecn ecn ] ] [ fragment ] [ time-range time-range-name ] [ log ]
缺省情况下,不存在IP扩展ACL和规则。
○ 创建数字索引或者命名的IP扩展ACL和规则。请依次执行以下命令配置IP扩展ACL和规则。
ip access-list extended { acl-name | acl-number }
缺省情况下,不存在IP扩展ACL。
[ sequence-number ] { deny | permit } protocol { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } { destination-ipv4-address destination-ipv4-wildcard | host destination-ipv4-address | any } [ [ precedence precedence ] [ tos tos ] | [ dscp dscp ] [ ecn ecn ] ] [ fragment ] [ time-range time-range-name ] [ log ]
缺省情况下,IP扩展ACL中存在一条拒绝类型的规则。
(4) (可选)配置报文匹配日志输出间隔。
ip
access-list log-update interval time-value
缺省情况下,报文匹配日志更新间隔为0分钟,表示不输出ACL匹配日志。
(5) (可选)配置IP扩展ACL注释信息。请选择其中一项进行配置。
○ 为数字索引的IP扩展ACL配置注释信息。
access-list acl-number list-remark text
○ 为数字索引或者命名的IP扩展ACL配置注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(6) (可选)配置IP扩展ACL规则注释信息。请选择其中一项进行配置。
○ 为数字索引的IP扩展ACL规则配置注释信息。
access-list acl-number remark text
○ 为数字索引或者命名的ACL配置注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
(7) (可选)开启IP扩展ACL的报文匹配统计功能。
ip access-list counter { acl-name | acl-number }
缺省情况下,IP扩展ACL的报文匹配统计功能处于关闭状态。
(8) (可选)配置IP扩展ACL规则序号起始值和步长。
ip access-list resequence { acl-name | acl-number
} start-value step-value
缺省情况下,IP扩展ACL的规则序号起始值为10,步长为10。
将IP扩展ACL应用到全局配置模式、接口配置模式、SVI接口配置模式、VXLAN配置模式下,使IP扩展ACL生效。
l 设备接口的入方向或出方向上只能应用一条IP ACL或一条MAC扩展ACL,或者应用一条专家级ACL。除此之外,还可以再应用一条IPv6 ACL。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是从设备转发出去的报文生效。
l 配置带counter-only选项可以对某些特征的报文进行计数统计。计数统计只对该ACL访问类别中的Permit规则生效,Deny规则不生效。
l 当一条ACL被用做counter-only ACL后,该条ACL不能在全局开启计数功能,也不能在全局和接口上应用普通ACL,即相同acl-number或acl-name的ACL不能同时用做counter-only ACL和普通ACL。
l 配置带control-plane选项,表示仅软件生效ACL,达到节约硬件资源的目的。
l 配置带forward-plane选项,表示仅硬件生效ACL。
l 配置带forward-control-plane选项,表示软件和硬件都生效ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)全局应用IP扩展ACL。
ip access-group { acl-name | acl-number } { in | out } [ control-plane | forward-control-plane | forward-plane ]
缺省情况下,全局未应用IP扩展ACL。
(4) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(5) 接口应用IP扩展ACL。
ip access-group { acl-name | acl-number } { in | out } [ control-plane | counter-only | forward-control-plane | forward-plane ]
缺省情况下,接口未应用IP扩展ACL。
创建和应用MAC扩展ACL,对接口上进出的二层报文进行控制,禁止或允许特定的二层报文进入网络,从而实现基于二层报文头来控制用户访问网络资源的目的。
l 如果需要通过二层报文信息(例如用户PC的MAC地址),来控制用户访问网络资源的权限,可以配置MAC扩展ACL。
l MAC扩展ACL可以根据用户的分布情况,在接入、汇聚或核心设备配置。MAC扩展ACL只对被配置的设备有效,不会影响网络中的其他设备。
MAC扩展ACL配置任务如下:
(1)
创建MAC扩展ACL
(2)
应用MAC扩展ACL
创建MAC扩展ACL并配置其规则。
l MAC扩展ACL中允许无规则。没有配置规则时,ACL隐含一条“拒绝所有数据流”的规则,禁止所有以太网二层报文进入设备。
l 如果想让ACL的某些规则在指定的时间生效,或在指定的时间内失效,例如让ACL在一个星期的某些时间段内生效等。可以配置带time-range选项的ACL规则。
l 配置带time-range选项的ACL规则时,需要配置对应的时间段选项。关于时间段的配置请参见“基础配置指南”中的“Time Range”。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建MAC扩展ACL和规则。请选择其中一项进行配置。
○ 创建数字索引的MAC扩展ACL和规则。
access-list acl-number { deny | permit } { source-mac-address source-mac-wildcard | host source-mac-address | any } { destination-mac-address destination-mac-wildcard | host destination-mac-address | any } [ ethernet-type ] [ cos [ cos-value ] [ inner cos-value ] ] [ time-range time-range-name ]
缺省情况下,不存在MAC扩展ACL和规则。
○ 创建数字索引或者命名的MAC扩展ACL和规则。请依次执行以下命令配置MAC扩展ACL和规则。
mac access-list extended { acl-name | acl-number }
缺省情况下,不存在MAC扩展ACL。
[ sequence-number ] { deny | permit } { source-mac-address source-mac-wildcard | host source-mac-address | any } { destination-mac-address destination-mac-wildcard | host destination-mac-address | any } [ ethernet-type ] [ cos [ cos-value ] [ inner cos-value ] ] [ time-range time-range-name ]
缺省情况下,MAC扩展ACL中存在一条拒绝类型的规则。
(4) (可选)配置ACL注释信息。请选择其中一项进行配置。
○ 为数字索引的ACL配置注释信息。
access-list acl-number list-remark text
○ 为数字索引或者命名的ACL配置注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(5) (可选)配置ACL规则注释信息。请选择其中一项进行配置。
○ 为数字索引的ACL规则配置注释信息。
access-list acl-number remark text
○ 为数字索引或者命名的ACL配置注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
(6) (可选)开启MAC扩展ACL的报文匹配统计功能。
mac access-list counter { acl-name | acl-number }
缺省情况下,MAC扩展ACL的报文匹配统计功能处于关闭状态。
(7) (可选)MAC扩展ACL的规则序号起始值和步长。
mac access-list resequence { acl-name | acl-number
} start-value step-value
缺省情况下,MAC扩展ACL的规则序号起始值为10,步长为10。
将MAC扩展ACL应用到全局配置模式、接口配置模式、SVI接口配置模式、VXLAN配置模式下,使MAC扩展ACL生效。
l 设备接口的入方向或出方向上只能应用一条IP ACL或一条MAC扩展ACL,或者应用一条专家级ACL。除此之外,还可以再应用一条IPv6 ACL。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是从设备转发出去的报文生效。
l 配置带counter-only选项可以对某些特征的报文进行计数统计。计数统计只对该ACL访问类别中的Permit规则生效,Deny规则不生效。
l 当一条ACL被用做counter-only ACL后,该条ACL不能在全局开启计数功能,也不能在全局和接口上应用普通ACL,即相同acl-number或acl-name的ACL不能同时用做counter-only ACL和普通ACL。
l 配置带control-plane选项,表示仅软件生效ACL,达到节约硬件资源的目的。
l 配置带forward-plane选项,表示仅硬件生效ACL。
l 配置带forward-control-plane选项,表示软件和硬件都生效ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)全局应用MAC扩展ACL。
mac access-group { acl-name | acl-number } { in | out } [ control-plane | forward-control-plane | forward-plane ]
缺省情况下,全局未应用MAC扩展ACL。
(4) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(5) 接口应用MAC扩展ACL。
mac access-group { acl-name | acl-number } { in | out } [ control-plane | counter-only | forward-control-plane | forward-plane ]
缺省情况下,接口未应用MAC扩展ACL。
创建和应用专家级扩展ACL,对接口上进出的报文进行控制,禁止或允许特定的报文进入网络。
l 如果需要通过混合使用IP ACL规则、MAC扩展ACL规则和VLAN,来控制用户访问网络资源的权限,则可以配置专家级扩展ACL。
l 专家级扩展ACL可以根据用户的分布情况,在接入、汇聚或核心设备上配置。专家级扩展ACL只对被配置的设备有效,不会影响网络中的其他设备。
专家级扩展ACL配置任务如下:
(1)
创建专家级扩展ACL
(2)
应用专家级扩展ACL
创建专家级扩展ACL并配置其规则。
l 专家级扩展ACL中允许无规则。没有配置规则时,ACL隐含一条“拒绝所有数据流”的规则,禁止所有报文进入设备。
l 如果想让ACL的某些规则在指定的时间生效,或在指定的时间内失效,例如让ACL在一个星期的某些时间段内生效等。可以配置带time-range选项的ACL规则。
l 配置带time-range选项的ACL规则时,需要配置对应的时间段选项。关于时间段的配置请参见“基础配置指南”中的“Time Range”。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建专家级扩展ACL和规则。请选择其中一项进行配置。
○ 创建数字索引的专家级扩展ACL和规则。
access-list acl-number { deny | permit } [ protocol | [ ethernet-type ] [ cos [ cos-value ] [ inner cos-value ] ] ] [ VID [ vlan-id ] [ inner vlan-id ] ] { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } { source-mac-address source-mac-wildcard | host source-mac-address | any } { destination-ipv4-address destination-ipv4-wildcard | host destination-ipv4-address | any } { destination-mac-address destination-mac-wildcard | host destination-mac-address | any } [ [ precedence precedence ] [ tos tos ] | [ dscp dscp ] [ ecn ecn ] ] [ fragment ] [ [ udf udf-id header pos value mask ] | [ int-flag ] ] [ time-range time-range-name ]
缺省情况下,不存在专家级扩展ACL和规则。
○ 创建数字索引或者命名的专家级扩展ACL和规则。请依次执行以下命令配置专家级扩展ACL和规则。
expert access-list extended { acl-name | acl-number }
缺省情况下,不存在专家级扩展ACL。
[ sequence-number ] { deny | permit } [ protocol | [ ethernet-type ] [ cos [ cos-value ] [ inner cos-value ] ] ] [ VID [ vlan-id ] [ inner vlan-id ] ] { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } { source-mac-address source-mac-wildcard | host source-mac-address | any } { destination-ipv4-address destination-ipv4-wildcard | host destination-ipv4-address | any } { destination-mac-address destination-mac-wildcard | host destination-mac-address | any } [ [ precedence precedence ] [ tos tos ] | [ dscp dscp ] [ ecn ecn ] ] [ fragment ] [ [ udf udf-id header pos value mask ] | [ int-flag ] ] [ time-range time-range-name ]
缺省情况下,专家级扩展ACL中存在一条拒绝类型的规则。
○ 创建专家级扩展ACL及VXLAN内层五元组规则。请依次执行以下命令配置专家级扩展ACL及VXLAN内层五元组规则。
expert access-list extended { acl-name | acl-number }
缺省情况下,不存在专家级扩展ACL。
[ sequence-number ] { deny | permit } { vxlan | vxlan-ignore-dport } protocol { source-ipv4-address source-ipv4-wildcard | host source-ipv4-address | any } [ eq port ] { destination-ipv4-address destination-ipv4-wildcard | host destination-ipv4-address | any } [ eq port ] [ tagged ] [ udp-dport dport ] [ match-all tcp-flag | established ] [ time-range time-range-name ]
缺省情况下,专家级扩展ACL中存在一条拒绝类型的规则。
(4) (可选)配置ACL注释信息。请选择其中一项进行配置。
○ 为数字索引的ACL配置注释信息。
access-list acl-number list-remark text
○ 为数字索引或者命名的ACL配置注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(5) (可选)配置ACL规则注释信息。请选择其中一项进行配置。
○ 为数字索引的ACL规则配置注释信息。
access-list acl-number remark text
○ 为数字索引或者命名的ACL配置注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
(6) (可选)开启专家级ACL的报文匹配统计功能。
expert access-list counter { acl-name | acl-number }
(7) (可选)配置专家级ACL的规则序号起始值和步长。
expert access-list resequence { acl-name | acl-number
} start-value step-value
缺省情况下,专家级ACL的规则序号起始值为10,步长为10。
将专家级扩展ACL应用到全局配置模式、接口配置模式、SVI接口配置模式、VXLAN配置模式下,使专家级扩展ACL生效。
l 设备接口的入方向或出方向上只能应用一条IP ACL或一条MAC扩展ACL,或者应用一条专家级ACL。除此之外,还可以再应用一条IPv6 ACL。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是从设备转发出去的报文生效。
l 配置带counter-only选项可以对某些特征的报文进行计数统计。计数统计只对该ACL访问类别中的Permit规则生效,Deny规则不生效。
l 当一条ACL被用做counter-only后,该条ACL不能在全局开启计数功能,也不能在全局和接口上应用普通ACL,即相同acl-number或acl-name的ACL不能同时用做counter-only和普通ACL。
l 配置带control-plane选项,表示仅软件生效ACL,达到节约硬件资源的目的。
l 配置带forward-plane选项,表示仅硬件生效ACL。
l 配置带forward-control-plane选项,表示软件和硬件都生效ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)全局应用专家级ACL。
expert access-group { acl-name | acl-number } { in | out } [ control-plane | forward-control-plane | forward-plane ]
缺省情况下,全局未应用专家级ACL。
(4) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(5) 应用专家级扩展ACL。
expert access-group { acl-name | acl-number } { in | out } [ control-plane | counter-only | forward-control-plane | forward-plane ]
缺省情况下,接口未应用专家级扩展ACL。
创建和应用IPv6 ACL,对接口上进出的IPv6报文进行控制,禁止或允许特定的IPv6报文进入网络,从而实现控制IPv6用户访问网络资源的目的。
l 如果需要对IPv6用户访问网络资源的控制,则可以配置IPv6 ACL。
l IPv6 ACL可以根据用户的分布情况,在接入、汇聚或核心设备上配置。IPv6 ACL只对被配置的设备有效,不会影响网络中的其他设备。
IPv6 ACL配置任务如下:
(1)
创建IPv6 ACL
(2)
应用IPv6 ACL
创建IPv6 ACL并配置其规则。
l 创建IPv6 ACL时只能指定名称,不能指定编号。
l IPv6 ACL中允许无规则。没有配置规则时,IPv6 ACL隐含一条“拒绝所有数据流”的规则,禁止除ND报文以外的所有IPv6报文进入设备。
l 如果想让ACL的某些规则在指定的时间生效,或在指定的时间内失效,例如让ACL在一个星期的某些时间段内生效等。可以配置带time-range选项的ACL规则。
l 配置带time-range选项的ACL规则时,需要配置对应的时间段选项。关于时间段的配置请参见“基础配置指南”中的“Time Range”。
l 配置带log选项的ACL规则会使用更多的硬件资源,如果配置的所有规则都带有log选项,则会导致设备的硬件策略容量减半。
l 默认报文匹配日志输出间隔是0分钟,即不输出ACL匹配日志。在配置ACL规则时指定了log选项后,还需要配置输出间隔,否则不会输出匹配日志。
l 对于带log选项的规则,如果指定的时间间隔内没有匹配到任何报文,则不会输出与该规则有关的报文匹配日志;如果指定的时间间隔内匹配到报文,则时间间隔到期后,会输出与该规则有关的报文匹配日志。其中的报文命中数目为该时间间隔内该规则匹配到的报文总数,即为该规则上一次输出日志到本次输出日志之间命中的报文数。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建IPv6 ACL,并进入IPv6 ACL配置模式。
ipv6 access-list acl-name
缺省情况下,不存在IPv6 ACL。
(4) 配置IPv6 ACL规则。请选择其中一项进行配置。
○ 配置IPv6 ACL规则。
[ sequence-number ] { deny | permit } [ protocol { source-ipv6-prefix / prefix-length | source-ipv6-address source-ipv6-mask | host source-ipv6-address | any } { destination-ipv6-prefix / prefix-length | destination-ipv6-address destination-ipv6-mask | host destination-ipv6-address | any } ] [ cos cos-value [ inner cos-value] ] [ { any | host source-mac-address | source-mac-address source-mac-wildcard } { any | host destination-mac-address | destination-mac-address destination-mac-wildcard } ] [ dscp dscp ] [ flow-label flow-label ] [ fragment ] [ VID [ vlan-id ] [ inner vlan-id ] ] [ udf udf-id header pos value mask ] [ time-range time-range-name ] [ log ]
缺省情况下,IPv6 ACL存在一条拒绝类型的规则。
(5) (可选)配置报文匹配日志输出间隔。
ipv6
access-list log-update interval time-value
缺省情况下,报文匹配日志更新间隔为0分钟,表示不输出ACL匹配日志。
(6) (可选)配置ACL注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(7) (可选)配置ACL规则注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
(8) (可选)开启IPv6 ACL的报文匹配统计功能。
ipv6 access-list counter acl-name
缺省情况下,IPv6 ACL的报文匹配统计功能处于关闭状态。
(9) (可选)配置IPv6 ACL的规则序号起始值和步长。
ipv6 access-list resequence acl-name start-value step-value
缺省情况下,IPv6 ACL的规则序号起始值为10,步长为10。
将IPv6 ACL应用到全局配置模式、接口配置模式、SVI接口配置模式、VXLAN配置模式下,使IPv6 ACL生效。
l 设备接口的入方向或出方向上只能应用一条IP ACL或一条MAC扩展ACL,或者应用一条专家级ACL。除此之外,还可以再应用一条IPv6 ACL。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是从设备转发出去的报文生效。
l 配置带counter-only选项可以对某些特征的报文进行计数统计。计数统计只对该ACL访问类别中的Permit规则生效,Deny类型规则不生效。
l 当一条ACL被用做counter-only ACL后,该条ACL不能在全局开启计数功能,也不能在全局和接口上应用普通ACL,即相同acl-number或acl-name的ACL不能同时用做counter-only ACL和普通ACL。
l 配置带control-plane选项,表示仅软件生效ACL,达到节约硬件资源的目的。
l 配置带forward-plane选项,表示仅硬件生效ACL。
l 配置带forward-control-plane选项,表示软件和硬件都生效ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)全局应用IPv6 ACL。
ipv6 traffic-filter acl-name { in | out } { control-plane | forward-control-plane | forward-plane }
缺省情况下,全局未应用IPv6 ACL。
(4) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(5) 接口应用IPv6 ACL。
ipv6 traffic-filter acl-name { in | out } [ control-plane | counter-only | forward-control-plane | forward-plane ]
缺省情况下,接口未应用IPv6 ACL。
当固定匹配域的IP标准ACL、IP扩展ACL、MAC扩展ACL、专家级扩展ACL以及IPv6 ACL都无法满足要求时,可以通过配置专家级高级ACL,即ACL80,由用户定义需要匹配的报文域,从而实现自定义匹配域的目的。
l 专家级高级ACL可以根据用户的分布情况,在接入、汇聚或核心设备上配置。专家级高级ACL只对被配置的设备有效,不会影响网络中的其他设备。
专家级高级ACL配置任务如下:
(1)
创建专家级高级ACL
(2)
应用专家级高级ACL
创建ACL80并配置其规则。
l ACL80可以支持匹配Ethernet II帧、802.2 LLC帧和802.2 SNAP帧。如果设置DSAP到Cntl字段的值为AAAA03,则表示匹配802.2 SNAP帧。如果设置DSAP到Cntl字段的值为E0E003,则表示匹配802.2 LLC帧。如果匹配Ethernet II帧不能设置DSAP到Cntl字段的值。
l 由于硬件的原因,当前ACL80并不能对报文前80个字节的任意字节匹配,只支持报文中目的MAC、源MAC、VLAN ID、ETYPE、IP协议号、源IPv4地址、目的IPv4地址、源端口、目的端口、ICMP_TYPE、ICMP_CODE、PPPOE_IPTYPE这些字段所在位置的匹配。
l ACL80匹配IP、ARP等信息时,需要先配置封装的数据类型和数据类型掩码,即需要先配置偏移量为24的字段,并且掩码要为全F。例如放行源IP为192.168.1.2的报文,对应的配置命令为permit 0800 FFFF 24 C0A80102 FFFFFFFF 38。
l 专家级高级ACL中允许无规则。没有配置规则时,ACL隐含一条“拒绝所有数据流”的规则,禁止所有报文进入设备。
l 如果配置了很多ACL或规则,但没有为这些ACL或规则配置注释信息。在实际的网络维护过程中,将难以区分这些ACL或规则的用途。为ACL或规则配置注释信息,可以方便理解ACL用途。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 创建专家级高级ACL,并进入专家级高级ACL配置模式。
expert access-list advanced
acl-name
缺省情况下,不存在专家级高级ACL。
(4) (可选)配置专家级高级ACL规则。
[ sequence-number ]
{ deny | permit } hex hex-mask offset
缺省情况下,未配置专家级高级ACL规则。
(5) (可选)配置ACL注释信息。
list-remark text
缺省情况下,ACL没有配置注释信息。
(6) (可选)配置ACL规则注释信息。
remark text
缺省情况下,ACL规则没有配置注释信息。
将专家级高级ACL应用到接口配置模式、SVI接口配置模式、VXLAN配置模式下,使专家级高级ACL生效。
l 配置带in或out选项,表示需要指定是对进入设备的报文生效,还是从设备转发出去的报文生效。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 进入接口配置模式。
○ 进入以太网接口配置模式。
interface ethernet-type interface-number
○ 进入SVI接口配置模式。
interface vlan interface-number
○ 进入VXLAN配置模式。
vxlan vni-number
(4) 接口应用专家级高级ACL。
expert access-group { acl-name | acl-number } { in |
out }
缺省情况下,接口未应用专家级高级ACL。
在指定接口上配置ACL重定向功能,对进入该接口的匹配报文,重定向到指定接口转发出去。
l ACL重定向功能仅在接口入方向生效。
l ACL中没有配置规则时,ACL重定向功能不生效。
l 只支持在以太网接口、聚合接口上配置ACL重定向功能。
l 待重定向的报文必须是二层转发,同时重定向的目的接口必须和源接口在同一个VLAN才能生效。例如假设报文是从VLAN 2转发到VLAN 3,则不能进行重定向。
l 可以根据用户的分布情况,在接入、汇聚或核心设备上配置ACL重定向功能。配置仅对本设备有效,不会影响网络中的其他设备。
实现ACL重定向功能,需要先配置ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置ACL重定向。
○ 配置接口ACL重定向。请依次执行以下命令配置接口ACL重定向。
interface interface-type interface-number
redirect destination interface interface-type interface-number acl { acl-name
| acl-number } in
缺省情况下,接口不存在ACL重定向配置。
配置全局安全ACL功能,可以阻止企业内部访问非法网站,或者阻止病毒进入企业内部网络。通过配置全局安全ACL例外口,允许企业内部特殊部门访问外部某些站点。
l ACL中没有配置规则时,全局安全ACL功能不存在。
l 由于全局安全ACL主要用于病毒过滤,因此被关联于全局安全ACL的ACE中,只有Deny类型的ACE会生效,Permit类型的ACE不会生效。
l 与端口安全ACL不同,全局安全ACL没有默认的Deny所有表项,即没命中规则的报文都可以通过。
l 全局安全ACL只支持关联IP标准ACL、IP扩展ACL、MAC扩展ACL、专家级扩展ACL。
l 全局ACL可以在二层接口上生效,也可以在三层接口上生效。即可以在以下类型的接口上都生效:Access口、Trunk口、Hybrid口、二层以太网接口、三层以太网接口、二层聚合接口或三层聚合接口。在SVI接口上不生效。
l 允许在物理接口、二层聚合接口或三层聚合接口上独立关闭全局安全ACL功能,不支持在聚合成员接口上关闭全局安全ACL功能。
l 可以根据用户的分布情况,在接入、汇聚或核心设备上配置全局安全ACL功能。配置仅对本设备有效,不会影响网络中的其他设备。
l 通过配置全局安全ACL无效功能,可以实现禁止配置全局安全ACL。
l 将接口配置为例外口,可使全局安全ACL在接口上不生效。
实现全局安全ACL功能,需要先配置ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) (可选)配置全局安全ACL无效。
global access-group disable
缺省情况下,不存在全局安全ACL无效配置。
配置该功能可以使ACL对分片报文进行更精细化的控制。
l 配置分片报文匹配模式切换时,会导致ACL的短时失效。
l 在新的分片报文匹配模式下,如果ACL规则不带Fragment标识,且匹配动作是Permit,这样的ACL规则需要占用更多的硬件表项资源,极端情况下会使硬件策略表项容量减半。如果这样的ACE配置了TCP Flag过滤控制的Established,则还会占用更多的硬件策略表项。
l 在新的分片报文匹配模式下,如果ACL规则不带Fragment标识并且需要匹配报文的四层信息时,当匹配动作为Permit时,ACL规则会检查首片报文三层和四层信息,对于非首片报文只会检查报文的三层信息。当匹配动作为Deny时,ACL规则只会检查首片报文,不会检查非首片分片报文。
l 在新的分片报文新匹配模式下,如果ACL规则带有Fragment标识,不论ACL规则的匹配动作是Permit还是Deny,都只检查非首片报文,而不会检查首片报文。
配置分片报文匹配模式切换时,需要先配置ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置新的分片报文匹配模式。请选择其中一项进行配置。
○ 配置IP ACL新的分片报文匹配模式。
ip access-list new-fragment-mode { acl-name | acl-number }
缺省情况下,未配置IP ACL新的分片报文匹配模式。
○ 配置专家级扩展ACL新的分片报文匹配模式。
expert access-list new-fragment-mode { acl-name | acl-number }
缺省情况下,未配置专家级扩展ACL新的分片报文匹配模式。
配置该功能,可以使应用在SVI接口上的ACL仅对VLAN间的路由报文生效。
实现该功能,需要先配置ACL。
(1) 进入特权模式。
enable
(2) 进入全局配置模式。
configure terminal
(3) 配置SVI Router ACL。
svi router-acls enable
当设备软件表项容量大于硬件支持的表项容量时,表项添加将失败。当设备表项容量降低到硬件支持的表项容量之下时,原先添加失败的表项也不会重新添加。通过本命令重刷配置,触发表项的重新添加,从而恢复ACL故障。
(1) 进入特权模式。
enable
(2) 配置ACL故障恢复。
acl ref synchronize all
可以通过show命令行查看功能配置后的运行情况以验证配置效果。
可以通过执行clear命令来清除各类信息。
注意
在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。
可以通过debug命令行列举输出的各种调试信息。
注意
输出调试信息,会占用系统资源。使用完毕后,请立即关闭调试开关。
表1-5 ACL监视与维护
作用 |
命令 |
查看基本ACL |
show access-lists [ acl-name | acl-number ] [ summary ] |
查看指定接口上绑定的重定向表项,不输入接口则查看所有接口上绑定的重定向表项 |
show redirect [ interface interface-type interface-number ] |
查看接口上应用的ACL配置信息 |
show access-group [ interface interface-type interface-number | vlan vlan-id | vxlan vni-number ] |
查看接口上应用的IP标准ACL和扩展ACL配置信息 |
show ip access-group [ interface interface-type interface-number | vlan vlan-id | vxlan vni-number ] |
查看接口上应用的MAC扩展ACL配置信息 |
show mac access-group [ interface interface-type interface-number | vlan vlan-id | vxlan vni-number ] |
查看接口上应用的专家级扩展ACL配置信息 |
show expert access-group [ interface interface-type interface-number | vlan vlan-id | vxlan vni-number ] |
查看接口上应用的IPv6 ACL配置信息 |
show ipv6 traffic-filter [ interface interface-type interface-number | vlan vlan-id ] |
查看所有的TCAM信息或指定的TCAM信息 |
show acl res [ dev dev-number [ slot slot-number ] ] |
显示当前设备的能力值情况 |
show acl capability |
查看SVI接口ACL应用的二三层生效情况 |
show svi router-acls state |
查看所有的TCAM详细使用信息或指定的TCAM详细使用信息 |
show acl res detail [ dev dev-number [ slot slot-number ] ] |
清除TCAM资源使用量的历史峰值数据 |
clear acl res |
清除ACL报文匹配计数 |
clear counters access-list [ acl-name | acl-number ] |
清除ACL deny报文匹配计数 |
clear access-list counters [ acl-name | acl-number ] |
打开ACL运行过程调试开关 |
debug acl acld event |
查看ACL客户端信息 |
debug acl acld client-show |
查看所有ACL客户端创建的ACL |
debug acl acld acl-show |
通过配置IP标准ACL,禁止财务部以外的部门访问财务数据服务器。
图1-3 IP标准ACL应用场景组网图
l Device A配置IP标准ACL并添加访问规则。
l Device A将IP标准ACL应用在连接财务数据服务器接口的出方向上。
(1) 配置IP标准ACL并添加访问规则。
# Device A配置IP标准ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# ip access-list standard 1
DeviceA(config-std-nacl)# permit 10.1.1.0 0.0.0.255
DeviceA(config-std-nacl)# deny 11.1.1.1 0.0.0.255
DeviceA(config-std-nacl)# exit
(2) 将IP标准ACL应用到接口上。
# Device A将ACL应用在连接财务数据服务器接口的出方向上。
DeviceA(config)# interface gigabitethernet 0/3
DeviceA(config-if-GigabitEthernet 0/3)# ip access-group 1 out
# 检查Device A设备ACL配置命令是否正确。
DeviceA# show access-lists
ip access-list standard 1
10 permit 10.1.1.0 0.0.0.255
20 deny 11.1.1.0 0.0.0.255
DeviceA# show access-group
ip access-group 1 out
Applied
On interface GigabitEthernet 0/3
# 从开发部的某台PC机上ping财务数据服务器,确认ping不通。
# 从财务部的某台PC机上ping财务数据服务器,确认能ping通。
l DeviceA的配置文件
hostname DeviceA
!
ip access-list standard 1
10 permit 10.1.1.0 0.0.0.255
20 deny 11.1.1.0 0.0.0.255
!
interface GigabitEthernet 0/1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
ip address 11.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip access-group 1 out
ip address 12.1.1.1 255.255.255.0
!
Device A(VLAN 1)、Device B(VLAN 2)和Device C(VLAN 3)直连Device D,Device D是所有主机的网关。需求1:VLAN2与VLAN3之间不可以Ping通,VLAN1与VLAN2可以Ping通,VLAN1与VLAN3可以Ping通。需求2:VLAN1与VLAN2的DHCP报文互相不可达,其他正常通信。需求3:VLAN1不能通过Telnet或者SSH访问VLAN3,其他正常通信。
图1-4 IP扩展ACL应用场景组网图
l Device D配置IP扩展ACL并添加访问规则,过滤UDP端口号67或者68可以实现需求2。Device C配置IP扩展ACL并添加访问规则,过滤TCP端口23和22可以实现需求3。
l Device D将IP扩展ACL分别应用在VLAN1接口、VLAN2接口和VLAN3接口上。Device C将IP扩展ACL应用在与Device D相线路上。
(1) 配置所有设备接口的IP地址(略)。
(2) 配置IP扩展ACL并添加访问规则。
# Device D配置IP扩展ACL并添加访问规则。
DeviceD> enable
DeviceD# configure terminal
DeviceD(config)# ip access-list extended inter_vlan_access1
DeviceD(config-ext-nacl)# deny udp any eq bootps any eq bootpc
DeviceD(config-ext-nacl)# deny udp any eq bootpc any eq bootps
DeviceD(config-ext-nacl)# remark 拒绝DHCP报文
DeviceD(config-ext-nacl)# permit ip any any
DeviceD(config-ext-nacl)# remark允许其他报文通信
DeviceD(config-ext-nacl)# exit
DeviceD(config)# ip access-list extended inter_vlan_access2
DeviceD(config-ext-nacl)# deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
DeviceD(config-ext-nacl)# remark 拒绝VLNN2和VLAN3之间互ping
DeviceD(config-ext-nacl)# deny udp any eq bootpc any eq bootps
DeviceD(config-ext-nacl)# deny udp any eq bootps any eq bootpc
DeviceD(config-ext-nacl)# remark 拒绝DHCP报文
DeviceD(config-ext-nacl)# permit ip any any
DeviceD(config-ext-nacl)# remark允许其他报文通信
DeviceD(config-ext-nacl)# exit
DeviceD(config)# ip access-list extended inter_vlan_access3
DeviceD(config-ext-nacl)# deny ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
DeviceD(config-ext-nacl)# remark 拒绝VLNN3和VLAN2之间互ping
DeviceD(config-ext-nacl)# permit ip any any
DeviceD(config-ext-nacl)# remark允许其他报文通信
DeviceD(config-ext-nacl)# exit
# Device C配置IP扩展ACL并添加访问规则。
DeviceC> enable
DeviceC# configure terminal
DeviceC(config)# ip access-list extended access_deny
DeviceC(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 eq telnet any eq telnet
DeviceC(config-ext-nacl)# remark 拒绝VLAN1通过Telnet访问VLAN 3
DeviceC(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 eq 22 any eq 22
DeviceC(config-ext-nacl)# remark 拒绝VLAN1通过SSH访问VLAN 3
DeviceC(config-ext-nacl)# exit
(3) 应用IP扩展ACL。
# Device D将IP扩展ACL应用到对应接口上。
DeviceD(config)# interface vlan 1
DeviceD(config-if-VLAN 1)# ip access-group inter_vlan_access1 in
DeviceD(config-if-VLAN 1)# exit
DeviceD(config)# interface vlan 2
DeviceD(config-if-VLAN 2)# ip access-group inter_vlan_access2 in
DeviceD(config-if-VLAN 2)# exit
DeviceD(config)# interface vlan 3
DeviceD(config-if-VLAN 3)# ip access-group inter_vlan_access3 in
DeviceD(config-if-VLAN 3)# exit
# Device C将IP扩展ACL应用到与Device D相连线路上。
DeviceC(config)# line vty 0
DeviceC(config-line)# access-class access_deny in
DeviceC(config-line)# exit
(1) 验证连通性。
# VLAN 1与VLAN 2之间可以Ping通,VLAN 1与VLAN 3之间可以Ping通。
DeviceA# ping 192.168.2.2
Sending 5, 100-byte ICMP Echoes to 192.168.2.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/8/10 ms
DeviceA#
DeviceA# ping 192.168.3.2
Sending 5, 100-byte ICMP Echoes to 192.168.3.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/8/10 ms
# VLAN 2与VLAN 3之间不可以Ping通。
DeviceB# ping 192.168.3.2
Sending 5, 100-byte ICMP Echoes to 192.168.3.2, timeout is 2 seconds:
< press Ctrl+C to break >
.....
Success rate is 0 percent (0/5)
(2) VLAN 1不能通过Telnet访问VLAN 3。
DeviceA# ping 192.168.3.2
Sending 5, 100-byte ICMP Echoes to 192.168.3.2, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/8/10 ms
DeviceA#
DeviceA# telnet 192.168.3.2
Trying 192.168.3.2, 23...
% Destination unreachable; gateway or host down
l Device D的配置文件
hostname DeviceD
!
vlan 1
!
vlan 2
!
vlan 3
!
ip access-list extended inter_vlan_access1
10 deny udp any eq bootps any eq bootpc
20 deny udp any eq bootpc any eq bootps
remark 拒绝DHCP报文
30 permit ip any any
remark允许其他报文通信
!
ip access-list extended inter_vlan_access2
10 deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
remark 拒绝VLNN2和VLAN3之间互ping
20 deny udp any eq bootpc any eq bootps
30 deny udp any eq bootps any eq bootpc
remark 拒绝DHCP报文
40 permit ip any any
remark 允许其他报文通信
!
ip access-list extended inter_vlan_access3
10 deny ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
remark 拒绝VLNN3和VLAN2之间互ping
20 permit ip any any
remark 允许其他报文通信
!
interface GigabitEthernet 1/0
switchport access vlan 1
description link_to_DeviceA
!
interface GigabitEthernet 1/1
switchport access vlan 2
description link_to_DeviceB
!
interface GigabitEthernet 1/2
switchport access vlan 3
description link_to_DeviceC
!
interface VLAN 1
ip access-group inter_vlan_access1 in
ip address 192.168.1.1 255.255.255.0
!
interface VLAN 2
ip access-group inter_vlan_access2 in
ip address 192.168.2.1 255.255.255.0
!
interface VLAN 3
ip access-group inter_vlan_access3 in
ip address 192.168.3.1 255.255.255.0
!
l Device A的配置文件
hostname DeviceA
!
interface GigabitEthernet 0/1
ip address 192.168.1.2 255.255.255.0
!
l Device B的配置文件
hostname DeviceB
!
interface GigabitEthernet 0/1
ip address 192.168.2.2 255.255.255.0
!
l Device C的配置文件
hostname DeviceC
!
ip access-list extended access_deny
10 deny tcp 192.168.1.0 0.0.0.255 eq telnet any eq telnet
remark 拒绝VLAN1通过Telnet访问VLAN 3
20 deny tcp 192.168.1.0 0.0.0.255 eq 22 any eq 22
remark 拒绝VLAN1通过SSH访问VLAN 3
!
interface GigabitEthernet 0/1
ip address 192.168.3.2 255.255.255.0
!
line vty 0
access-class access_deny in
login
password abcdef
!
通过MAC扩展ACL,限制来访客户可访问的资源。
图1-5 MAC扩展ACL应用场景组网图
l Device A配置MAC扩展ACL并添加访问规则。允许访客区PC访问Internet以及公司内部的公共服务器,但不允许访问公司的财务数据服务器,即禁止访问MAC地址为00e0.f800.000d的服务器。
l Device A将MAC扩展ACL应用在连接访客区接口的入方向上。
(1) 配置MAC扩展ACL并添加访问规则。
# Device A配置MAC扩展ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# mac access-list extended 700
DeviceA(config-mac-nacl)# deny any host 00e0.f800.000d
DeviceA(config-mac-nacl)# permit any any
DeviceA(config-mac-nacl)# exit
(2) 将MAC扩展ACL应用到接口上。
# Device A将ACL应用在连接访客区接口的入方向上。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# mac access-group 700 in
# 检查Device A设备ACL配置命令是否正确。
DeviceA# show access-lists
mac access-list extended 700
10 deny any host 00e0.f800.000d etype-any
20 permit any any etype-any
DeviceA# show access-group
mac access-group 700 in
Applied On interface GigabitEthernet 0/2
# 从访客PC机上ping财务数据服务器,确认ping不通。
# 从访客PC机上ping公共资源服务器,确认可以ping得通。
# 在访客PC机上访问Internet,例如访问百度,确认可以打开主页。
l DeviceA的配置文件
hostname DeviceA
!
mac access-list extended 700
10 deny any host 00e0.f800.000d
20 permit any any
!
interface GigabitEthernet 0/1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
mac access-group 700 in
ip address 11.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip address 12.1.1.1 255.255.255.0
!
通过配置专家级扩展ACL,限制来访客户可访问的资源。要求访客不能访问公司内部员工的PC和公司的财务数据服务器,但能访问公共资源服务器和Internet。
图1-6 专家级扩展ACL应用场景组网图
l Device A配置专家级扩展ACL并添加规则,包括:
○ 禁止访客区内主机发出目标为公司内部员工网段的报文。
○ 禁止访客访问财务数据服务器。
○ 允许其他所有报文通过。
l Device A将ACL应用在连接访客区接口的入方向上。
(1) 配置专家级扩展ACL并添加访问规则。
# Device A配置专家级扩展ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# expert access-list extended 2700
DeviceA(config-exp-nacl)# deny ip any any 10.1.1.0 0.0.0.255 any
DeviceA(config-exp-nacl)# deny ip any any host 12.1.1.2 any
DeviceA(config-exp-nacl)# permit any any any any
DeviceA(config-exp-nacl)# exit
(2) 将专家级扩展ACL应用到接口上。
# Device A将ACL应用在与访客区相连接口的入方向上。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# expert access-group 2700 in
# 检查Device A设备ACL配置命令是否正确。
DeviceA(config)# show access-lists
expert access-list extended 2700
10 deny ip any any 192.168.1.0 0.0.0.255 any
20 deny ip any any host 10.1.1.1 any
30 permit ip any any any any
DeviceA(config)# show access-group
expert access-group 2700in
Applied On interface GigabitEthernet 0/2
# 从访客PC机上ping财务数据服务器,确认ping不通。
# 从访客PC机上ping公共资源服务器,确认不能ping通。
# 从访客PC机上ping公司内部员工网关192.168.1.1,确定ping不通。
# 在访客PC机上访问Internet,例如访问百度,确认可以打开主页。
l DeviceA的配置文件
hostname DeviceA
!
expert access-list extended 2700
10 deny ip any any 10.1.1.0 0.0.0.255 any
20 deny ip any any host 12.1.1.2 any
30 permit ip any any any any
!
interface GigabitEthernet 0/1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
expert access-group 2700 in
ip address 11.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip address 12.1.1.1 255.255.255.0
!
通过配置IPv6 ACL,禁止开发部门访问视频服务器。
图1-7 IPv6 ACL应用场景组网图
l Device A配置IPv6 ACL并添加规则,包括:
○ 禁止访问视频服务器IPv6地址规则。
○ 在IPv6 ACL中添加允许所有IPv6报文通过规则。
l Device A将IPv6 ACL应用在连接开发部门接口的入方向上。
(1) 配置IPv6 ACL并添加访问规则。
# Device A配置IPv6 ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# ipv6 access-list dev_deny_ipv6video
DeviceA(config-ipv6-nacl)# deny ipv6 any host 1002::2
DeviceA(config-ipv6-nacl)# permit ipv6 any any
DeviceA(config-ipv6-nacl)# exit
(2) 将IPv6 ACL应用到接口上。
# Device A将ACL应用在连接开发部门所在接口的入方向上。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# ipv6 traffic-filter dev_deny_ipv6video in
# 检查Device A设备ACL配置命令是否正确。
DeviceA(config)# show access-lists
ipv6 access-list dev_deny_ipv6video
10 deny ipv6 any host 200::1
20 permit ipv6 any any
DeviceA(config)# show access-group
ipv6 traffic-filter dev_deny_ipv6video in
Applied On interface GigabitEthernet 0/2
# 从开发部的某台PC机上ping视频服务器,确认ping不通。
l DeviceA的配置文件
hostname DeviceA
!
ipv6 access-list dev_deny_ipv6video
10 deny ipv6 any host 1002::2
20 permit ipv6 any any
!
interface GigabitEthernet 0/1
no switchport
ipv6 address 1000::1/96
!
interface GigabitEthernet 0/2
no switchport
ipv6 traffic-filter dev_deny_ipv6video in
ipv6 address 1001::1/96
!
interface GigabitEthernet 0/3
no switchport
ipv6 address 1002::1/96
!
通过ACL80即专家级高级ACL,限制来访客户可访问的资源。要求访客不能访问公司内部员工的PC和公司的财务数据服务器,但能访问公共资源服务器和Internet。
图1-8 ACL80应用场景组网图
l Device A配置专家级高级ACL并添加规则,包括:
○ 禁止访客区内主机发出目标为内部员工网段的报文。
○ 禁止访客访问财务数据服务器。
○ 允许其他所有报文通过。
l Device A将ACL应用在连接访客区接口的入方向上。
(1) 配置专家级高级ACL并添加访问规则。
# Device A配置专家级高级ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# expert access-list advanced acl80-guest
DeviceA(config-exp-dacl)# deny 0800 FFFF 24 0A0101 FFFFFF 42
DeviceA(config-exp-dacl)# deny 0800 FFFF 24 0C010102 FFFFFFFF 42
DeviceA(config-exp-dacl)# permit 0806 FFFF 24
DeviceA(config-exp-dacl)# permit 0800 FFFF 24
DeviceA(config-exp-dacl)# exit
(2) 将专家级高级ACL应用到接口上。
# Device A将ACL80应用在连接访客区接口的入方向上。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# expert access-group acl80-guest in
# 检查Device A设备ACL配置命令是否正确。
DeviceA(config)# show access-lists
expert access-list advanced sss
10 deny 0800 FFFF 24 0A0101 FFFFFF 42
20 deny 0800 FFFF 24 0C010102 FFFFFFFF 42
30 permit 0806 FFFF 24
40 permit 0800 FFFF 24
expert access-group acl80-guest in
Applied On interface GigabitEthernet 0/2
# 从访客PC机上ping财务数据服务器,确认ping不通。
# 从访客PC机上ping公共资源服务器,确认可以ping得通。
# 从访客PC机上ping公司内部员工网关192.168.1.1,确定ping不通。
# 在访客PC机上访问Internet,例如访问百度,确认可以打开主页。
l DeviceA的配置文件
hostname DeviceA
!
expert access-list advanced acl80-guest
10 deny 0800 FFFF 24 0A0101 FFFFFF 42
20 deny 0800 FFFF 24 0C010102 FFFFFFFF 42
30 permit 0806 FFFF 24
40 permit 0800 FFFF 24
!
interface GigabitEthernet 0/1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
expert access-group 2700 in
ip address 11.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip address 12.1.1.1 255.255.255.0
!
配置基于时间段的ACL规则,只允许研发部门在每天的12:00到13:30访问Internet。
图1-9 基于时间段的ACL规则应用场景组网图
l Device A配置时间段,并添加每天12:00到13:30的时间段表项。
l Device A配置IP标准ACL并添加规则,包括:
○ 添加允许源IP网段地址为10.1.1.0/24的规则,关联的时间段为access-internet。
○ 添加禁止源IP网段地址为10.1.1.0/24的规则。表明时间段之外都不允许访问Internet。
○ 添加允许除研发网段地址外,其他所有网段地址的规则。
l Device A将ACL应用在连接研发部接口的入方向上。
(1) 配置时间区。
# Device A配置时间段。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# time-range access-internet
DeviceA(config-time-range)# periodic daily 12:00 to 13:30
DeviceA(config-time-range)# exit
(2) 配置IP标准ACL并添加访问规则。
# Device A配置IP标准ACL并添加访问规则。
DeviceA(config)# ip access-list standard ip_std_internet_acl
DeviceA(config-std-nacl)# permit 10.1.1.0 0.0.0.255 time-range access-internet
DeviceA(config-std-nacl)# deny 10.1.1.0 0.0.0.255
DeviceA(config-std-nacl)# permit any
DeviceA(config-std-nacl)# exit
(3) 将IP标准ACL应用到接口上。
# Device A将ACL应用在连接研发部接口的入方向上。
DeviceA(config)# interface gigabitethernet 0/1
DeviceA(config-if-GigabitEthernet 0/1)# ip access-group ip_std_internet_acl in
# 检查Device A设备ACL配置命令是否正确。
DeviceA# show time-range
time-range entry: access-internet (inactive)
periodic Daily 12:00 to 13:30
DeviceA# show access-lists
ip access-list standard ip_std_internet_acl
10 permit 10.1.1.0 0.0.0.255 time-range access-internet (inactive)
20 deny 10.1.1.0 0.0.0.255
30 permit any
DeviceA# show access-group
ip access-group ip_std_internet_acl in
Applied On interface GigabitEthernet 0/1
# 在时间段生效期内(12:00至13:30),从研发部分内的某台PC机访问百度主页,确认可以访问。
# 在时间段失效期(12:00至13:30时段外),从研发部分内的某台PC机访问百度主页,确认不能访问。
l DeviceA的配置文件
hostname DeviceA
!
ip access-list standard ip_std_internet_acl
10 permit 10.1.1.0 0.0.0.255 time-range access-internet
20 deny 10.1.1.0 0.0.0.255
30 permit any
!
time-range access-internet
periodic daily 12:00 to 13:30
!
interface GigabitEthernet 0/1
no switchport
ip access-group ip_std_internet_acl in
ip address 10.1.1.1 255.255.255.0
!
配置VRRP+VLAN应用场景,只允许主机与主机之间的三层通信。配置只允许主机之间访问的ACL,拒绝其他所有网段的ACL。
图1-10 VRRP+VLAN应用场景组网图
l DeviceA和DeviceB组成VRRP场景。主机PC1和PC2全部接入到DeviceC。
l 配置生成树协议,消除DeviceA、DeviceB和DeviceC之间的环路。
l 主机PC1和PC2的网关采用SVI接口的地址。
l 配置只允许主机之间访问的ACL,拒绝其他所有网段的ACL,并将ACL应用在SVI接口上。此时会导致VRRP组内DeviceA和DeviceB形成双主。
l 配置svi router-acls enable命令后,VRRP组内DeviceA和DeviceB形成一主一备,VRRP协议恢复正常。
(1) 配置VLAN。
# DeviceA配置VLAN。DeviceA、DeviceB和DeviceC配置完全相同,以下以DeviceA配置为例。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# vlan 10
DeviceA(config-vlan)# exit
DeviceA(config)# vlan 20
DeviceA(config-vlan)# exit
(2) 配置VRRP组。
# DeviceA配置VRRP。
DeviceA(config)# interface VLAN 10
DeviceA(config-if-VLAN 10)# ip address 172.16.1.3 255.255.255.0
DeviceA(config-if-VLAN 10)# vrrp 10 ip 172.16.1.1
DeviceA(config-if-VLAN 10)# vrrp 10 priority 120
DeviceA(config-if-VLAN 10)# exit
DeviceA(config)# interface VLAN 20
DeviceA(config-if-VLAN 20)# ip address 172.31.1.4 255.255.255.0
DeviceA(config-if-VLAN 20)# vrrp 20 ip 172.31.1.1
# DeviceB配置VRRP。
DeviceB(config)# interface VLAN 10
DeviceB(config-if-VLAN 10)# ip address 172.16.1.4 255.255.255.0
DeviceB(config-if-VLAN 10)# vrrp 10 ip 172.16.1.1
DeviceB(config-if-VLAN 10)# exit
DeviceB(config)# interface VLAN 20
DeviceB(config-if-VLAN 20)# ip address 172.31.1.3 255.255.255.0
DeviceB(config-if-VLAN 20)# vrrp 20 ip 172.31.1.1
DeviceB(config-if-VLAN 20)# vrrp 20 priority 120
DeviceB(config-if-VLAN 20)# exit
(3) 配置生成树协议,消除环路。
# DeviceA配置生成树协议。DeviceA、DeviceB和DeviceC配置完全相同,以下以DeviceA配置为例。
DeviceA(config)# spanning-tree
(4) 配置ACL。
# DeviceA配置ACL。DeviceA和DeviceB配置完全相同,以下以DeviceA配置为例。
DeviceA(config)# ip access-list standard 10
DeviceA(config-std-nacl)# permit host 3.3.3.3
DeviceA(config-std-nacl)# deny any
DeviceA(config-std-nacl)# exit
(5) 将ACL应用到SVI接口。
# DeviceA应用ACL。DeviceA和DeviceB配置完全相同,以下以DeviceA配置为例。
DeviceA(config)# int vlan 20
DeviceA(config-if-VLAN 20)# ip access-group 10 in
(6)
配置命令svi router-acls enable。
# DeviceA配置命令svi router-acls enable。DeviceA和DeviceB配置完全相同,以下以DeviceA配置为例。
DeviceA(config)# svi router-acls enable
# 检查DeviceA设备VRRP协议状态。
DeviceA# show vrrp
Interface Grp Pri timer Own Pre State Master addr Group addr
VLAN 10 10 120 3.53 - P Master 172.16.1.3 172.16.1.1
VLAN 20 20 100 3.60 - P Backup 172.31.1.3 172.31.1.1
l DeviceA的配置文件。
hostname DeviceA
!
vlan 1
!
vlan 10
!
vlan 20
!
spanning-tree
!
ip access-list standard 10
10 permit host 3.3.3.3
20 deny any
!
svi router-acls enable
!
interface GigabitEthernet 0/1
switchport mode trunk
!
interface GigabitEthernet 0/3
switchport mode trunk
!
interface VLAN 1
ip address 192.168.1.2 255.255.255.0
!
interface VLAN 10
ip address 172.16.1.3 255.255.255.0
vrrp 10 priority 120
vrrp 10 ip 172.16.1.1
!
interface VLAN 20
ip access-group 10 in
ip address 172.31.1.4 255.255.255.0
vrrp 20 ip 172.31.1.1
!
ip route 3.3.3.0 255.255.255.0 192.168.1.1
!
l DeviceB的配置文件。
hostname DeviceB
!
vlan 1
!
vlan 10
!
vlan 20
!
spanning-tree
!
ip access-list standard 10
10 permit host 3.3.3.3
20 deny any
!
svi router-acls enable
!
interface GigabitEthernet 0/1
switchport mode trunk
!
interface GigabitEthernet 0/3
switchport mode trunk
!
interface VLAN 1
ip address 192.168.2.2 255.255.255.0
!
interface VLAN 10
ip access-group 10 in
ip address 172.16.1.4 255.255.255.0
vrrp 10 ip 172.16.1.1
!
interface VLAN 20
ip address 172.31.1.3 255.255.255.0
vrrp 20 priority 120
vrrp 20 ip 172.31.1.1
!
ip route 3.3.3.0 255.255.255.0 192.168.2.1
!
l DeviceC的配置文件。
hostname DeviceC
!
vlan 1
!
vlan 10
!
vlan 20
!
interface GigabitEthernet 0/1
switchport access vlan 10
!
interface GigabitEthernet 0/2
switchport access vlan 20
!
interface GigabitEthernet 0/3
switchport mode trunk
!
interface GigabitEthernet 0/4
switchport mode trunk
!
l ServerA的配置文件。
hostname ServerA
!
interface GigabitEthernet 0/1
ip address 192.168.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
ip address 192.168.2.1 255.255.255.0
!
interface Loopback 0
ip address 3.3.3.3 255.255.255.0
!
ip route 172.16.1.0 255.255.255.0 192.168.1.2
ip route 172.31.1.0 255.255.255.0 192.168.2.2
!
应用ACL时如果配置带counter-only选项,可以对某些特征的报文进行计数统计。以PC ping网关丢弃ICMP报文为例进行计数统计,并定位丢包位置。
l Device上G0/1和G0/2的入方向和出方向都要应用ACL,所以Device需要配置4条ACL,分别匹配从PC到Gateway和从Gateway到PC的ICMP报文。
l Gateway设备G0/1的入方向和出方向都要应用ACL,所以Gateway配置2条ACL,分别匹配从PC到Gateway和从Gateway到PC的ICMP报文。
l 应用ACL时配置需要counter-only选项。
l 计数统计只对该ACL中的Permit规则生效,Deny规则不生效。
(1) 配置ACL。
# Device设备配置4条ACL,分别匹配从PC到Gateway的ICMP报文和从Gateway到PC的ICMP报文。
Device> enable
Device# configure terminal
Device(config)# ip access-list extend 100
Device(config-ext-nacl)# permit icmp host 10.10.10.1 host 10.10.10.254
Device(config-ext-nacl)# exit
Device(config)# ip access-list extend 101
Device(config-ext-nacl)# permit icmp host 10.10.10.254 host 10.10.10.1
Device(config-ext-nacl)# exit
Device(config)# ip access-list extend 102
Device(config-ext-nacl)# permit icmp host 10.10.10.1 host 10.10.10.254
Device(config-ext-nacl)# exit
Device(config)# ip access-list extend 103
Device(config-ext-nacl)# permit icmp host 10.10.10.254 host 10.10.10.1
Device(config-ext-nacl)# exit
# Gateway设备配置2条ACL,分别匹配从PC到Gateway的ICMP报文和从Gateway到PC的ICMP报文。
Gateway> enable
Gateway #configure terminal
Gateway(config)# ip access-list extend 100
Gateway(config-ext-nacl)# permit icmp host 10.10.10.1 host 10.10.10.254
Gateway(config-ext-nacl)# exit
Gateway(config)# ip access-list extend 101
Gateway(config-ext-nacl)# permit icmp host 10.10.10.254 host 10.10.10.1
Gateway(config-ext-nacl)# exit
(2) 应用ACL。
# 在Gateway设备和Device设备互联接口G0/1的入方向和出方向应用ACL。
Gateway(config)# interface gigabitEthernet 0/1
Gateway(config-if-GigabitEthernet 0/1)# ip access-group 100 in counter-only
Gateway(config-if-GigabitEthernet 0/1)# ip access-group 101 out counter-only
Gateway(config-if-GigabitEthernet 0/1)# exit
# 在Device设备和Gateway设备互联接口G0/2的入方向和出方向应用ACL。
Device# configure terminal
Device(config)# interface gigabitEthernet 0/2
Device(config-if-GigabitEthernet 0/2)# ip access-group 103 in counter-only
Device(config-if-GigabitEthernet 0/2)# ip access-group 102 out counter-only
Device(config-if-GigabitEthernet 0/2)# exit
# 在Device设备和PC互联接口G0/1的入方向和出方向应用ACL。
Device# configure terminal
Device(config)# interface gigabitEthernet 0/1
Device(config-if-GigabitEthernet 0/1)# ip access-group 100 in counter-only
Device(config-if-GigabitEthernet 0/1)# ip access-group 101 out counter-only
Device(config-if-GigabitEthernet 0/1)# exit
# 在PC上ping网关地址10.10.10.254,3次共发出15个ICMP报文。分别查看Device设备和Gateway设备上ICMP报文统计计数。查看Device设备上ICMP报文统计计数。
Device# show access-list
ip access-list extended 100
10 permit ip host 10.10.10.1 host 10.10.10.254 (15 matches)
ip access-list extended 101
10 permit ip host 10.10.10.254 host 10.10.10.1 (10 matches)
ip access-list extended 102
10 permit ip host 10.10.10.1 host 10.10.10.254 (15 matches)
ip access-list extended 103
10 permit ip host 10.10.10.254 host 10.10.10.1 (10 matches)
# 查看Gateway设备上ICMP报文统计计数。
Gateway# show access-list
ip access-list extended 100
10 permit ip host 10.10.10.1 host 10.10.10.254 (15 matches)
ip access-list extended 101
10 permit ip host 10.10.10.254 host 10.10.10.1 (15 matches)
# 分析报文统计计数,定位报文丢弃位置。
Device设备和PC互联接口G0/1的入方向收到15个报文(Device设备ACL 100)。
Device设备和Gateway设备互联接口G0/2的出方向发出15个报文(Device设备ACL 102)。
Gateway设备和Device设备互联接口G0/1的入方向收到15个报文(Gateway设备ACL 100)。
Gateway设备和Device设备互联接口G0/1的出方向发出15个报文(Gateway设备ACL 101)。
Device设备和Gateway设备互联接口G0/2的入方向收到10个报文(Device设备ACL 103)。
说明报文丢弃在Device设备和Gateway设备之间的链路上。
l Device的配置文件。
hostname Device
!
ip access-list extended 100
10 permit icmp host 10.10.10.1 host 10.10.10.254
!
ip access-list extended 101
10 permit icmp host 10.10.10.254 host 10.10.10.1
!
ip access-list extended 102
10 permit icmp host 10.10.10.1 host 10.10.10.254
!
ip access-list extended 103
10 permit icmp host 10.10.10.254 host 10.10.10.1
!
interface GigabitEthernet 0/1
ip access-group 100 in counter-only
ip access-group 101 out counter-only
!
interface GigabitEthernet 0/2
ip access-group 103 in counter-only
ip access-group 104 out counter-only
!
l Gateway的配置文件。
hostname Gateway
!
ip access-list extended 100
10 permit icmp host 10.10.10.1 host 10.10.10.254
!
ip access-list extended 101
10 permit icmp host 10.10.10.254 host 10.10.10.1
!
interface GigabitEthernet 0/1
ip access-group 100 in counter-only
ip access-group 101 out counter-only
ip address 10.10.10.254 255.255.255.0
!