龙空技术网

S5700无法通过流策略限制用户访问的原因及解决方法

平静如水的温柔 1060

前言:

此刻同学们对“华为5700使用telnet”可能比较着重,咱们都想要知道一些“华为5700使用telnet”的相关内容。那么小编同时在网摘上网罗了一些有关“华为5700使用telnet””的相关内容,希望兄弟们能喜欢,兄弟们一起来学习一下吧!

简介

通常情况下,推荐配置CPU防攻击特性的黑名单功能进行用户访问限制,而不是配置流策略。这是因为,S系列交换机默认使能CPCAR功能,其中部分交换机的CPCAR优先级高于流策略,因此无法通过流策略丢弃上送交换机CPU的报文,导致用户仍然可以访问交换机。

本文包括了无法通过流策略限制用户访问的现象描述和原因分析,并给出了解决办法。

前提条件

本文以V200R021C00版本的华为S5700系列交换机为例进行介绍,具体的原理和配置可能因设备型号和软件版本而异,具体操作时请参考对应的产品文档。

现象描述场景一:禁止PC访问S系列交换机

如图1-1所示,PC1和PC2加入VLAN10,PC3和PC4加入VLAN20,交换机SwitchA下挂二层交换机做二层透传,交换机SwitchA上配置接口VLANIF10和VLANIF20,所有的终端之间都互通。

图1-1 禁止PC访问S系列交换机

现在希望PC1可以访问VLAN10内的所有终端(例如PC2),但不能访问其他VLAN内的终端(例如PC3和PC4),也不能访问交换机(例如SwitchA)。

按照如下示例,在SwitchA上配置流策略。此时,VLAN10内的终端不能访问VLAN20内的终端,但仍然可以ping通SwitchA,无法达到预期效果。

#acl number 3001 rule 5 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 rule 10 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.10.3 0#traffic classifier c1 operator or precedence 5 if-match acl 3001#traffic behavior b1 deny#traffic policy p1 match-order config classifier c1 behavior b1#interface GE0/0/1 traffic-policy p1 inbound#
场景二:只允许交换机的1个VLANIF接口地址做管理地址

如上图所示,SwitchA上有多个VLANIF接口(例如VLANIF10和VLANIF20)。现在只希望VLANIF10的地址(192.168.10.3)作为管理地址,该地址用于Telnet登录,其他VLANIF接口(例如VLANIF20)的地址不能用于Telnet登录。

图1-2 只允许交换机的1个VLANIF接口地址做管理地址

按照如下示例配置SwitchA后,发现VLAN10内的终端仍然可以ping通SwitchA上VLANIF20的地址192.168.20.3。

#acl number 3001 rule 5 permit tcp destination 192.168.20.3 0 destination-port eq telnet#traffic classifier c1 operator or precedence 5 if-match acl 3001#traffic behavior b1 deny#traffic policy p1 match-order config classifier c1 behavior b1#interface GE0/0/1 traffic-policy p1 inbound#
原因分析

用户访问交换机时,会发送目的IP地址为交换机地址的报文。交换机收到这类报文后,会将报文上送CPU处理。缺省情况下,交换机会对上送CPU的报文进行限速,也就是对这类报文应用CPCAR(Control Plane Committed Access Rate)功能。

前面的例子中,匹配ACL 3001的报文都会上送交换机CPU进行处理,因此CPCAR功能会对其进行限速。流策略p1对匹配ACL 3001的报文执行deny动作。此时,流策略p1中的deny动作与限速动作产生冲突。

上送CPU的报文同时匹配流策略中的流分类规则,CPCAR和流策略产生冲突时,只有优先级高的生效。换言之,如果交换机的CPCAR优先级高于流策略,就会出现场景一和场景二中的问题。

对于V200R021C00版本的S5700系列交换机,二者间的优先级关系如表1-1所示。

表1-1 CPCAR和流策略的优先级关系

形态

优先级顺序

S5720-LI、S5720S-LI、S5720I-SI、S5736-S

流策略优先级高于CPCAR。

其中,对于DHCP以及NAC认证时需要上送的ARP协议报文,其优先级高于流策略。

S5735-L-I、S5735-L1、S5735-L、S5735S-L1、S5735S-L、S5735S-L-M、S5735-S、S5735S-S、S5735-S-I、S5731-H、S5731-H-K、S5731S-H、S5731-S、S5731S-S、S5732-H、S5732-H-K

CPCAR优先级高于流策略。

关于其他设备型号和软件版本,CPCAR和流策略的优先级关系,请参考《配置指南-安全》 本机防攻击配置 中的“本机防攻击配置注意事项”。

解决办法

为了避免流策略因冲突而无法生效的这类情况,推荐您配置CPU防攻击特性的黑名单功能,进行用户访问限制。交换机支持通过ACL灵活设置黑名单。

黑名单和CPCAR都是CPU防攻击特性的功能。交换机缺省使能CPCAR功能,若同时配置黑名单功能,则交换机先根据CPCAR值对上送CPU的报文进行CAR限速,再判断报文是否匹配黑名单,并直接丢弃匹配黑名单的报文。

因此,为了解决前文中PC仍然可以ping通交换机的问题,可以参考下面的示例,配置黑名单功能。

配置黑名单功能,有如下注意事项:

黑名单中应用的ACL,无论其rule配置为permit还是deny,命中该ACL的报文均会被丢弃。如果ACL的rule为空,则应用该ACL的黑名单功能不生效。对于S5731-H、S5731-H-K、S5731-S、S5731S-H、S5731S-S、S5732-H和S5732-H-K,使能ping快回功能后,无法通过黑名单阻止ping检测。这是因为在使能ping快回功能后,交换机的某个接口上收到的ICMP Echo Request报文不再上送到协议栈交由CPU处理,而是由接口直接处理。场景一:禁止PC访问S系列交换机

图1-3 禁止PC访问S系列交换机

PC1和PC2加入VLAN10,PC3和PC4加入VLAN20,交换机SwitchA下挂二层交换机做二层透传,交换机SwitchA上配置接口VLANIF10和VLANIF20,所有的终端之间都互通。

现在希望PC1可以访问VLAN10内的所有终端(例如PC2),但不能访问其他VLAN内的终端(例如PC3和PC4),也不能访问交换机SwitchA。可以对SwitchA进行如下配置:

#acl number 3001 rule 5 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 rule 10 permit ip source 192.168.10.0 0.0.0.255 destination 192.168.10.3 0#cpu-defend policy test blacklist 1 acl 3001#cpu-defend-policy test global#
场景二:只允许交换机的1个VLANIF接口地址做管理地址

图1-4 只允许交换机的1个VLANIF接口地址做管理地址

如图1-4所示,SwitchA上有多个VLANIF接口(例如VLANIF10和VLANIF20)。现在只希望VLANIF10的地址(192.168.10.3)作为管理地址,该地址用于Telnet登录,其他VLANIF接口的地址(192.168.20.3)不能用于Telnet登录。可以对SwitchA进行如下配置:

#acl number 3001 rule 5 permit tcp destination 192.168.20.3 0 destination-port eq telnet#cpu-defend policy test blacklist 1 acl 3001#cpu-defend-policy test global#

标签: #华为5700使用telnet