Quidway S3552/S3528上谨慎使用ARP源抑制功能
一、 问题描述:
当S3552/S3528运行R0031P06之前的版本(包括R0031P06)做三层设备,有DHCP客户端通过本设备请求IP,并开启ARP源抑制功能(arp source-suppression enable)时:如果网络中存在如下IP报文攻击,持续进入某端口,即:源IP为0.0.0.0,目的IP为三层接口所在的网段IP,不断的引发设备进行ARP学习。这样会导致该端口上的DHCP discover报文(源IP是0.0.0.0)被丢弃,无法为端口下挂的DHCP客户提供服务。即使关闭了ARP源抑制功能也无法恢复。
通过下面的隐含命令可以直接确认是否发生了问题,如在e0/1口下的DHCP客户无法申请到IP,则可查看
[S3552P-hidecmd]_drv_qos showportrule portnumber 0
********************************************************
RuleIdx = 2186 Pclindex = 4 Pceindex = 0
PktType = 0 Fieldlen = 8 ActiOnId= 75
SIP:
valu[6] = { 0 0 0 0 255 255 }
mask[6] = { 0x00 0x00 0x00 0x00 0xff 0xff }
The Action is DENY
The Rule Has No Tc Entry Action
The Rule Has No Redirect Action
TrapToCpu = 0 ,MirrorToCpu = 0 ,MirrorToAnalayzerPort = 0
The Mark Action is GT_ACTION_MARK_BY_ENTRY
markDSCP = 0, dscp = 0, markUserPriority = 0, userPriority = 0
markTrafficClass = 0,trafficClass = 0, markDropPrecedence = 0 ,dropPrecedence =0
斜体加粗部分表示对源IP为0.0.0.0的报文采取丢弃操作。
二、 原因分析:
ARP源抑制功能实际上是通过下发ACL方式,来阻挡特定的IP报文(而不是ARP报文),这类IP报文的目的IP属于设备的直连网段,一般并不存在,所以会不断的引起设备发起ARP解析,带有攻击性质。系统就会下发一条针对源IP的deny规则进行报文丢弃。当报文攻击停止之后5秒,又会自动删除这条ACL,恢复正常。
如果源IP是0.0.0.0,也同样会下发针对SIP=0.0.0.0的ACL规则,但是对于这种特殊的源IP规则,在攻击停止后,也不会再做删除,即使取消了ARP源抑制功能。而DHCP discover报文的特征恰好是源IP为0.0.0.0,符合此规则,因此一同被丢弃。
三、 解决方案:
如果检查发现设备还没有下发攻击防范的ACL,直接关闭ARP源抑制功能即可。
如果检查发现设备已经下发攻击防范的ACL,需要先关闭ARP源抑制功能再重启设备恢复。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作