APR学习失败问题定位排查

一、ARP学习失败的定位思路

常见原因

ARP学习失败,有以下几种可能(假设设备发送ARP请求):

APR学习失败问题定位排查_第1张图片

故障诊断流程

详细处理流程如下图所示:

APR学习失败问题定位排查_第2张图片

故障处理步骤

1、检查设备和对端设备之间的链路是否正常。

可以通过ping命令检查两端的路由连通性。如果ping不通,请先解决路由的故障。

可以使用displayarp查看ARP表项中是否存在期望的ARP表项。

可以使用命令displaymac查看对端MA地址是否学习正常所在端口是否为对应的端口。如果不正常,请先检查为何无法正常学习到对端MAC。

可以通过流量统计查看设备是否有丢包,如果设备不支持流量统计,可以通过上下互ping来测试。如果有丢包,请先排除设备转发的故障。

2、检查设备的ARP处理是否正常。

用户视图下使用命令debugging arp packet interface interface-type interface-number打开ARP报文调试开关,查看设备是否发出ARP请求报文、是否收到ARP回应报文。

调试信息的“operation”字段表示协议类型:1为ARP请求;2为ARP响应。

如果没有发送过ARP请求报文,请参考IP扫描攻击的定位思路进行处理。

如果没有收到ARP回应报文,检查是否由于CPCAR机制丢弃了ARP回应报文。请参考步骤3。

如果收到了ARP回应报文,请执行步骤5。

如果地址学习正常请转步骤步骤检查本端口和对端端口的配置信息,确定端口的VLANPVID等信息正确,端口没有启用DOT1等协议如果端口配置正确。

3、检查ARP回应报文是否被丢弃。

执行命令display cpu-defend statistics packet-type arp-reply查看ARP Reply报文的“Drop”计数是否增长。

如果计数一直增长,执行命令packet-type适当放大针对ARP Reply报文的CPCAR的限制值。

系统视图或接口视图下执行命令display this查看是否配置了ARP报文限速。

如果配置了ARP报文限速功能“arp anti-attack rate-limit enable”,而ARP报文速率很大,则有可能被丢弃。使用命令arp anti-attack rate-limit可以修改速率抑制大小。

4、检查对端设备的ARP处理是否正常。

检查对端设备是否收到了ARP请求报文,如果收到是否响应了请求,是否发出ARP回应报文。

如果对端设备是华为设备,可以参考步骤2的描述;如果是其他厂商设备,请参考相应的操作手册。

5、如果故障依然存在,请收集如下信息,并联系技术支持人员。

可以抓包看一下,arp报文所带的tag是否正确,封装是否正确。当前面步骤都是正确时说明设备收到arp消息,但是没有学习Mac,建议找相关设备售后解决。

设备的配置文件、日志信息、告警信息。

注意:

交换机,如果不是三层的,如果是三层的没有设置虚接口地址是学不到arp的。

arp是三层的东西交换机的交换功能其实是二层的东西。

二、ARP常见问题定位思路

ARP常见问题现象,有以下几种可能:

APR学习失败问题定位排查_第3张图片

故障处理步骤

1、检查子接口下是否配置了的ARP广播功能。

在子接口视图下执行命令display this命令检查子接口相关配置。

如果没有arp broadcast enable字段,则执行命令arp broadcast enable使能子接口的ARP广播功能。

2、检查设备的ARP表项数量是否正常。

用户视图下执行命令display arp statistics all查看ARP表项的统计信息。

如果静态ARP和动态ARP表项数量超过500条,请排查当前网络。

如果现网用户较少,ARP表项数量超过500可能存在ARP攻击。
如果现网用户较多,ARP表项数量超过500属于正常现象,用户可执行以下命令,提高ARP学习的速度。

执行命令arp-miss speed-limit source-ip [ ip-address ] maximum maximum,配置ARP Miss消息的源抑制速率。
执行命令cpu-defend-policy policy-name,创建防攻击策略,并进入防攻击策略视图;执行命令packet-type arp-miss rate-limit rate-value,配置上送CPU报文的限制速率。

3、检查ARP表项中是否存在多个IP地址对应同一个MAC地址现象。

执行命令display arp all查看设备上所有的ARP映射表项。

如果存在多个IP地址对应同一个MAC地址的表项,说明网络中存在ARP攻击,可执行命令arp learning strict,配置ARP表项严格学习功能。

4、检查STP功能是否已经关闭。

系统视图下执行命令display stp,查看STP的状态和统计信息。

如果显示Protocol Status :enabled字段,则执行命令stp disable,去使能STP功能。

5、如果故障依然存在,请收集如下信息,并联系技术支持人员。

上述步骤的执行结果。
设备的配置文件、日志信息、告警信息。

三、合法用户的ARP表项被修改的定位思路

本类故障的常见原因主要包括:

  • 攻击者伪造合法用户的ARP报文修改合法用户的ARP表项

故障诊断流程

合法用户的网络服务突然中断,初步排查不是链路连接或路由问题。可能是攻击者通过伪造其他用户发出的ARP报文,篡改网关设备上的用户ARP表项,造成其他合法用户的网络服务中断。以下描述基于ARP表项被修改的处理流程。

详细处理流程如下图所示:

APR学习失败问题定位排查_第4张图片

故障处理步骤

1、在设备上执行命令display arp anti-attack configuration entry-check查看ARP防地址欺骗功能是否使能。

如果显示如下信息,则表示没有使能防ARP防地址欺骗功能。

ARP anti-attack entry-check mode: disabled

执行arp anti-attack entry-check { fixed-mac | fixed-all | send-ack } enable命令,使能该功能。

在使能该功能前需要执行reset arp interface interface-type interface-number命令清除用户所在接口下的已学到的攻击者ARP表项。

  • 如果配置的防欺骗模式为send-ack,请执行步骤2。
  • 如果配置的防欺骗模式为fixed-mac,请执行步骤3。
  • 如果配置的防欺骗模式是fixed-all,请直接执行步骤4。

2、send-ack模式下,执行以下子步骤继续排查。

通过端口镜像抓取接入用户的接口上的报文,查看是否有对应的ARP交互过程。如果设备没有发出ARP请求,请直接执行步骤4。

如果设备发出了ARP请求,但没有收到用户的ARP应答,检查设备和用户之间网络连接是否正常。

如果收到用户的ARP应答,执行display cpu-defend statistics packet-type arp-reply命令检查ARP Reply报文是否被丢弃。如果ARP Reply报文的“Drop”计数不断增加,可能是被CPCAR机制丢弃了。可以通过packet-type命令适当放大速率限制值。

如果执行完以上步骤后故障仍未排除,请执行步骤4。

3、执行命令display arp all | include ip-address查看用户的ARP表项中哪些信息被修改。

如果是接口或VLAN信息被修改,在fixed-mac模式下认为是正常现象;如果是MAC被修改,则执行步骤4。

4、请收集如下信息,并联系技术支持人员。

上述步骤的执行结果。

设备的配置文件、日志信息、告警信息。

四、ARP报文攻击导致用户流量中断的定位思路

本类故障的常见原因主要包括:

  • 攻击者发送大量ARP报文,导致目的网段的负担加重。这些ARP报文还会送到设备的CPU增加了CPU的负担,同时有可能导致合法用户流量中断,形成拒绝服务攻击。

故障诊断流程

进入设备的ARP报文在上送CPU时有CPCAR机制进行限速。如果攻击者发送大量伪ARP报文,与合法用户的ARP报文共享CPCAR限制的带宽,就会导致合法的ARP报文被丢弃,从而导致用户流量中断。

详细处理流程如下图所示。

APR学习失败问题定位排查_第5张图片

故障处理步骤

ARP攻击报文包括ARP Request报文和ARP Reply报文,以下步骤中以ARP Request报文为例。针对ARP Reply的处理方法为把以下命令中涉及到的arp-request参数改为arp-reply即可。

1、执行命令display arp查看用户的ARP表项是否存在。

如果ARP表项还在,表明学到了用户的ARP表项,用户流量中断可能是用户的连接闪断。检查并排除链路问题。

如果没有用户表项,执行步骤2。

2、执行命令display cpu-defend statistics packet-type arp-request查看ARP Request报文的“Drop”计数是否增长。

如果计数为0,设备没有丢弃ARP Request报文。请执行步骤8。
如果有计数,表示设备收到的ARP Request报文由于超过了CPCAR的速率限制而被丢弃。执行步骤3。

3、执行命令display cpu-usage,查看主用主控板的CPU占用率信息。

如果CPU占用率正常,而ARP Request报文被丢弃,可能是CPCAR限制值偏小。执行步骤4。
如果CPU占用率较高,可能是ARP攻击报文被丢弃。请执行步骤5。

4、执行命令packet-type适当放大针对ARP Request报文的CPCAR的限制值。

packet-type命令应该在防攻击策略视图下执行,并应用该防攻击策略才能生效。

5、在设备与用户连接的接口上抓取报文,分析ARP Request报文的源地址,找出攻击者。

如果同一个源地址出现在很多ARP Request报文中,则设备认为该地址就是攻击源。可以通过配置黑名单或黑洞MAC对其报文进行丢弃处理。

6、在设备系统视图下执行命令arp speed-limit source-ip,配置ARP报文源抑制速率。
缺省情况下,ARP报文按源IP地址抑制功能使能,抑制速率为5pps。

7、如果故障仍未排除,请收集如下信息,并联系技术支持人员。

上述步骤的执行结果。

设备的配置文件、日志信息、告警信息。

你可能感兴趣的:(服务器故障,网络故障,快速排查定位,学习)