交换产品线 >> 常用交换产品技术【非11.x平台】 >> 网管和监控 >> SNMP/MIB >>

1、S20/S21怎么定义SNMP访问的合法主机

S20/S21无法通过snmp-server关联ACL的常规方法来控制合法主机访问交换机的SNMP服务。只能通过host参数控制一个合法的主机IP的访问,如果多次配置,后来的会覆盖原先的。

Ruijie(config)#snmp-server community ruijie host 1.1.1.1     //这样只允许1.1.1.1的主机访问该设备的snmp服务。

 

2、设备配置多个snmp community是否会存在冲突

我司设备允许配置多个不同的snmp community的团体属性,以便满足不同的服务器或者应用对设备的网管需求,所以不同的community间是并存关系不会冲突。

snmp-server community 123 rw

snmp-server community 456 ro

snmp-server community 789 rw

 

3、我司交换机默认snmp服务是不是开启的,能够关闭吗

1)我司所有交换机的snmp-agent代理功能是开启的,也就是默认可以处理所有snmp的报文,但是如果本交换机上面没有配置snmp community团体字的话,或者是这个认证字与服务器配置的不匹配的话,也会产生类似这样的报错:%SNMP-3-AUTHFAIL: Authentication failure for SNMP req from host 54.214.18.121

2)如果你发现交换机的cpu很高时,对应的snmpd进程占有率很高,并且控制台一直报上述的snmp认证失败的log。你的设备没有网管的需求,也不需要配snmp功能,有关闭这个功能的需要的话,希望降低cpu的话,命令如下:

Ruijie(config)#no enable service snmp-agent

 

4、交换机show cpu发现snmpd,printk_task两个进程cpu近100%,怎么解决

Ruijie-ACTIVE#sh cpu

=======================================

     CPU Using Rate Information

CPU utilization in five seconds: 99.29%

CPU utilization in one minute  : 55.20%

CPU utilization in five minutes: 18.05%

  NO   5Sec   1Min   5Min   Process

  0   1.00%   1.01%   1.01%    LISR INT

  1   1.21%   1.44%   1.46%    HISR INT

  4   0.00%   0.01%   0.03%    printk_task

 11  93.64%  44.01%   8.88%    snmpd            //snmpd的cpu占用率很高

 12   0.00%   0.00%   0.00%    snmp_trapd

 

Ruijie-ACTIVE#sh cpu

=======================================

     CPU Using Rate Information

CPU utilization in five seconds: 99.99%

CPU utilization in one minute  : 99.98%

CPU utilization in five minutes: 66.60%

  NO   5Sec   1Min   5Min   Process

  0   0.02%   0.60%   0.75%    LISR INT

  1   0.61%   0.68%   1.03%    HISR INT

  4  95.47%  91.14%  52.66%    printk_task     //当console口打印很多信息的时候,printk_task进程的cpu占用率很高

 11   0.31%   0.47%   2.34%    snmpd

 12   0.00%   0.00%   0.00%    snmp_trapd

 

show log有这样的刷屏的日志

*Jun 26 20:50:58: Ruijie-ACTIVE %SNMP-3-AUTHFAIL: Authentication failure for SNMP req from host 54.214.18.121

*Jun 26 20:50:59: Ruijie-ACTIVE %SNMP-3-AUTHFAIL: Authentication failure for SNMP req from host 54.214.18.122

 

snmpd:snmp模块初始化线程,接收、处理snmp请求报文并返回响应的报文,如果cpu占有率高的话,原因通常是受到网管端的报文攻击。

printk_task:打印日志信息/调试信息,如果cpu占有率高的话,原因通常是控制台在不停地打印日志信息或调试信息

SNMP模块的工作机制如下:

snmpd任务循环在监听客户端(也就是网管服务器)发送过来的snmp报文,当接收到报文后,会串行(因为是单任务处理)的处理各个从UDP缓冲中送到snmpd的报文,在处理报文过程,首先对报文进行解析,若发现报文携带的Community与设备上面配置的不合法,则会提示认证失败。若报文携带的Community与设备上面配置的相关合法,则会将报文送到具体的mib功能模块进行处理,等待处理完成后,返回处理结果,并响应respone报文。若外界网管发包的速率太快,1秒钟发送大量的报文,报文会先存放在udp socket缓冲区中,然后上层snmpd触发去获取udp缓冲区的报文,进行处理,大报文多的情况下,则有可能导致snmpd cpu占用较高。

printk_task任务的工作机制如下:

循环的监听是否有log信息要输出,当各个模块有log信息要输出时,则会触发printk_task打一条日志到终端控制台,在故障现象中,当一条SNMP请求报文认证失败时,会打出一条认证失败的log信息,若外界网管端,发送大量的snmp请求报文过来时,在都认证失败的情况下,将有可能导致设备一直需要输出SNMP认证失败的log信息,最终导致printk_task任务cpu升高。

 

故障原因:

通过以上信息可以初步判断是由校外地址54.214.18.121等非法的服务器不断发起SNMP扫描引起的,频率极高,因设备都开启了SNMP-AGENT功能,所以当COMMUNITY不对的时候就会不断送CPU处理,从而导致不断打印PRINT信息,使得CPU飙高,这时转发层面没有影响,但管理层面登陆很困难。

 

解决方法:

1)关于snmp的检测,print的控制台打印方面先前的版本做的不够优化,存在不合理,10.4(3b17)之后做了全面的优化,即使在遭受攻击或者有大量日志需要打印的时候也会使cpu保持一个良好的值,所以这个问题可以尝试通过升级软件到10.4(3b17)p3版本来优化解决。

2)如果不方便升级,那么还有另外一种方法,就是通过镜像抓包或者是了解到这些snmp报文从哪里端口发过来的,可以在相应的端口的IN方向配置ACL过滤掉snmp认证失败日志里面所提到的非法IP,这样报文在端口就被丢弃,不会送snmp模块处理,也就不会占用CPU,也就不会产品失败的log需要控制台消耗资源打印,例如

Ruijie(config)#ip access-list extended SNMPdeny

Ruijie(config-ext-nacl)#deny ip host 54.214.18.121 any

Ruijie(config-ext-nacl)#deny ip host 54.214.18.122 any

Ruijie(config-ext-nacl)#permit ip any any

Ruijie(config)#inter g1/1

Ruijie(config-if-GigabitEthernet 1/1)#ip access-group SNMPdeny in

注意:不能通过snmp-server community关联ACL的方式来解决,因为这样只是简单使snmp认证报文当不满足ACL条件的时候失败,但是实际snmp报文是已经送cpu处理了,虽然最终攻击者snmp认证失败,但是设备的cpu会因此还是很高,并且控制台还是会打印snmp失败log。

 

5、我司交换机上常用的一些MIB以及对应的OID说明

   

常见咨询中的MIB OID值见附件

a、常见节点的OID值如上,与产品型号无关,通常是软件版本一致即可,如果发现读取中存在问题,请先确保软件版本为最新的;

b、如果产品停产,或者是存在早期软件,或者是需要读取的节点上述表格没有列出的,可以直接去版本管理系统上面下载对应软件的MIB交互件,先自己尝试查找

c、关于MIB的问题,如果涉及的节点为公有的,那么MIB说明交互件(excel表格)+MIB库文件可以直接公开,OID值也可以直接告知,或者自行查找excel表格;

d、关于MIB的问题,如果涉及的节点为私有的,那么MIB说明交互件(excel表格)+OID值可以公开,但是MIB库文件都为保密不公开,一律需要呼入4008111000通过CMG与我司签订完保密协议后,再通过邮件方式发送MIB库文件于客户;

e、通常RUIJIE打头的MIB库文件都为私有节点。

 

 

6、2952G-E,配置snmp community的时候为明文,但是show run是加密串

snmp-server community 7 0132564a3d1103 rw

与配置enable等密码类似,如果需要明文,需要关闭密码加密显示功能:

Ruijie(config)#no service password-encryption