锐捷RSR20X路由器设备异常重启
一、故障现象描述
RSR20-X突然断网,设备重启
场景拓扑
不涉及
二、故障排查分析
-
检查是否出现死机的情况。因为没有出现断电的情况,故优先怀疑是设备出现了死机。通过debug support→show exception命令查看是否有死机堆栈。发现死机堆栈有输出
Ruijie#debug sup Ruijie(support)#show exc Ruijie(support)#show exception Exception address is 0x110000! ====================================================================== Exception Head Information Entry Number: 1 MAX Entry Number: 31 First Number: 0 Last Number: 0 ====================================================================== Time: 2024-3-16 23:40:2 size: 3365 Exception Message: System(CPU 0) Exception Occured: ExType: XTLB Miss Exception Current Thread: sms_server //注意关键字sms_server SP : 0000000033142D40 SP Start : 000000003313B480 SP End : 0000000033144FF0 CP0 Error Report Registers: Cause : 00800008 EPC : 0000000000D90F9C Status : 50008CE3 ErrEPC : 0000000033142F70 ErrCtrl : 02840000 BadVAddr : 0000000053141E68 CacheErr : 00001528 RA(r31) : 0000000000D90F64 General Purpose Registers (GPRs): 0 (r00) : 0000000000000000 s0(r16) : 0000000000000000 AT(r01) : 0000000050008CE0 s1(r17) : FFFFFFFFFFFFFFFF v0(r02) : 0000000000000000 s2(r18) : 000000000000840B v1(r03) : 0000000053141D3C s3(r19) : 0000000000000080 a0(r04) : FFFFFFFF80000000 s4(r20) : 000000000000000B a1(r05) : 0000000000000000 s5(r21) : 0000000033142F70 a2(r06) : 0000000000000000 s6(r22) : 0000000000000000 : 000000 a3(r07) 000000840B s7(r23) : 0000000000000001 a4(r08) : 0000000002E92D18 t8(r24) : 0000000000000004 a5(r09) : 0000000000000001 t9(r25) : 000000000070D670 a6(r10) : 0000000002E90000 k0(r26) : 0000000000BEA2E8 a7(r11) : 0000000002E90000 k1(r27) : 0000000000000001 t0(r12) : 0000000000000008 gp(r28) : 000000000248E7F0 t1(r13) : 0000000000EBA364 sp(r29) : 0000000033142D40 t2(r14) : 0000000000000003 fp(r30) : 000000003313B480 t3(r15) : 0000000000000000 ra(r31) : 0000000000D90F64 MIPS Stack Trace: symbol sp ra name 0x00d905c0 0x33142d40 0x00be5b50 sms_server //注意关键字sms_server 0x00be5b30 0x33144fe8 0x00d90f64 TCC_Task_Shell <end> Dump The Exception Stac Addr ss | 0 1 2 3 4 5 6 7 8 9 A B C D E F| ---------+-----------------------------------+ 33142D40 |00000010 00080003 00000001 00021987| 33142D50 |00000000 00000000 00000000 0002F685| 33142D60 |3E7AB8E3 00000000 00000000 00000000| 33142D70 |00000000 00000000 00000000 00000000| 33142D80 |00000000 00000000 00000000 00000000| 33142D90 |00000000 00000000 00000000 00000000| 33142DA0 |00000000 00000000 00000000 00000000| 33142DB0 |00000000 00000000 00000000 00000000| 33142DC0 |00000000 00000000 00000000 00000000| 33142DD0 |00000000 00000000 00000000 00000000| 33142DE0 |00000000 00000000 00000000 00000001| 33142DF0 |00000000 00000000 00000000 00000000| 33142E00 |00000000 00000000 00000000 00000000| 33142E10 |00000000 00000000 00000000 00000000| 33142E20 |00000000 00000000 00000000 00000000| 33142E30 |00000000 00000000 00000000 00000000| 33142E40 |00000000 00000000 00000000 00000000| 33142E50 |00000000 00000000 00000000 00000000| 33142E60 |00000000 00000000 00000000 00000000| 33142E70 |00000000 00000000 00000000 00000000| 33142E80 |00000000 00000000 00000000 00000000| 33142E90 |00000000 00000000 00000000 00000000| 33142EA0 |00000000 00000000 00000000 00000000| 33142EB0 |00000000 00000000 00000000 00000000| 33142EC0 |00000000 00000000 00000000 00000000| 33142ED0 |00000000 00000000 00000000 00000000| 33142EE0 |00000000 00000000 00000000 00000001| 33142EF0 |00000000 00000000 00000000 00000000| 33142F00 |00000000 00000000 00000000 00000000| 33142F10 |00000000 00000000 00000000 00000000| 33142F20 |00000000 00000000 00000000 00000000| 33142F30 |00000000 00000000 00000000 00000000| ---------+-----------------------------------+ System HALT!
-
分析死机堆栈内容。发现死机堆栈中有sms_server字眼,SMS_Server该模块是设备中的短息网关功能,主要用于向SNC服务器发送消息。在10.4(3b75)p3,Release(216047)该功能的任务为默认创建,在创建任务过程中,对Accept套接字的返回值未做预期判断,导致该函数返回失败(返回值:-1)的值被强制转为无符号去做一个数组的下角标,造成巨数下角标访问数组越界。
三、故障根因说明
SMS_Server该模块是设备中的短息网关功能,主要用于向SNC服务器发送消息。在10.4(3b75)p3,Release(216047)该功能的任务为默认创建,在创建任务过程中,对Accept套接字的返回值未做预期判断,导致该函数返回失败(返回值:-1)的值被强制转为无符号去做一个数组的下角标,造成巨数下角标访问数组越界。RSR30-X,RSR20-X,RSR10-X 等盒式系列产品由于tcp 6535端口扫描攻击,在RGOS 10.4(3b100)及之前的所有版本将会导致设备被攻跨整机重启,打印sms_server堆栈,设备业务中断。
四、故障解决方案
规避方案:配置ACL过滤TCP6535报文:
ip access-list extend 199 ----->定义acl
10 deny udp any any eq 137 ----->常见的udp 137攻击
20 deny udp any any eq 138 ----->常见的udp 138攻击
30 deny tcp any any eq 445 ----->常见的udp 445攻击
40 deny tcp any any eq 6535 ----->过滤TCP 6535攻击
50 permit tcp 172.16.0.0 0.0.255.255 any eq 23 ----->允许网段172.16.0.0/16的访问任何地址的23端口
60 permit tcp host 192.16.0.1 any ----->允许主机192.16.0.1 访问任意ip地址的23端口,如果是ssh登录设备使用的是22端口
1000 permit ip any any ----->放通不过滤的其他地址 ,这条一定要写 不然可能导致所有数据到路由器往上三层的数据都端口
ip fpm session filter 199 ----->在全局模式下调用
彻底解决方案:升级rgos 10.4(3b114) release 223495以后的版本,建议升级官网推荐最新版本。
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/8218.html
文章版权归作者所有,未经允许请勿转载。
THE END