lua数据丢包 olt丢包_IP

lua数据丢包 olt丢包_抓包_02

★★★★


lua数据丢包 olt丢包_抓包_03

报文攻击、OLT脱管、主控盘挂死


lua数据丢包 olt丢包_IP_04

某工程新开的OLT,每隔约3~4天就会出现脱管情况,脱管后主控盘挂死,无法登录OLT的命令行管理系统,但是连接串口后有无关信息打印。现场拔插主控盘进行主备倒换或重启可恢复正常。


lua数据丢包 olt丢包_抓包_05

lua数据丢包 olt丢包_服务器_06

lua数据丢包 olt丢包_IP_07

  • OLT配置问题;
  • 上层网络问题。

lua数据丢包 olt丢包_服务器_08

1. 查看OLT的配置,发现直接配置了OLT的管理IP网关和ACL规则,没有配置包抑制参数,上联口也没有增加untag包的攻击预防VLAN。将管理IP的网关设置方式修改为静态路由方式,OLT的广播包和未知包的包抑制大小设置为1500,在上联口加入未使用的合法VLAN(如:4002),防止上层过多的untag包进入OLT。

结果:OLT还是会在3~4天左右出现脱管情况。

结论:排除OLT管理IP网关、包抑制、上联口untag包VLAN的配置问题。

2. 在现场用串口登录,截取OLT脱管后无法登录时主控盘的打印信息。


lua数据丢包 olt丢包_抓包_09

结果:打印信息提示内存泄漏。

结论:内存泄漏大多都是异常报文引起的,这个异常报文有可能来自于系统内部,也有可能来自于上层,此时的攻击报文并非传统的ARP攻击报文,而是上层网络的攻击报文;如果是ARP报文,ARP广播报文会被包抑制的配置抑制掉,untag的报文进入OLT以后,也会被带入4002的VLAN,然后从VLAN4002对应的上联端口出OLT,不会对系统造成影响,但配置了包抑制值和上联口剥离VLAN后还是有问题。

3.现场环境中,网管服务器仅管理了这一台OLT设备,怀疑网管服务器可能在向OLT发送异常报文导致OLT脱管,因此在网管上安装抓包软件,进行抓包分析。

结果:在抓到的包中并未发现异常报文。

结论:排除网管服务器向OLT发送异常报文的可能性。

4. 在OLT上联口设置镜像进行抓包,分析抓到的报文,发现SNMP包有异常情况。

  • OLT的MAC:00:0a:c2:20:fe:a5
  • OLT的IP:10.192.255.254
  • 网管服务器IP:10.193.0.133

lua数据丢包 olt丢包_IP_10

结果:发现MAC地址为08:19:a6:7d:78:3a的设备通过4002的管理VLAN通道向OLT不停的发送SNMP协议报文,发送到OLT的161端口,优先级为0,不是OLT管理VLAN所设置的默认优先级7,进一步分析SNMP包,发现同样为08:19:a6:7d:78:3a的MAC地址,在不同的时间IP不同。

结论:初步判断可能是此不正常的SNMP报文引起OLT的脱管。

5. 在网管和命令行中查看OLT的SNMP TRAP配置。


lua数据丢包 olt丢包_tell网关arp包正常吗_11

lua数据丢包 olt丢包_IP_12

结果:OLT配置SNMP TRAP的接收端口为默认值162,团体名为adsl,不是OLT抓包中的SNMP。

结论:此SNMP报文并非正常的报文,报文以161端口进入OLT后,不会被OLT的SNMP TRAP接收端口162识别,SNMP代理会将161端口的包当成SNMP的配置包处理,该攻击包会申请内存而不释放,导致内存泄漏。在实验室中模拟此TRAP包的发送,加快SNMP的报文发送速度后,很快就会将OLT的内存耗尽。


lua数据丢包 olt丢包_lua数据丢包_13

在OLT上配置QoS模板并绑定至上联口,对进入OLT的报文进行过滤,将目的地址为161端口的报文丢弃掉,并在OLT上设置网管访问控制列表,仅允许网管服务器的IP地址(10.193.0.133)可以访问OLT,故障消除。


lua数据丢包 olt丢包_抓包_14

lua数据丢包 olt丢包_lua数据丢包_15

lua数据丢包 olt丢包_IP_16

脱管问题大多是由于OLT受到异常报文攻击导致,导致OLT脱管的攻击报文来源可分别从上层和下层方向出发进行排查。攻击报文一般为ARP广播报文,但本案例是OLT收到了过多的SNMP异常报文,导致OLT内存耗尽而脱管,在OLT上联口配置QoS模板和设置网管访问控制列表等,都可以有效地控制无关报文对OLT的攻击。


lua数据丢包 olt丢包_抓包_17

lua数据丢包 olt丢包_IP_18