学习
(1)SNMP是简单网络管理协议,但是多么晦涩我就不说了。
(2)SNMP工作在应用层,也就是通过socket实现的,基于UDP,端口161和162,161是用于和网管通信的端口(get/set),162是设备主动上报信息(形式为trap报文)给网管的端口。
(3)SNMP管理模型,模型很简单,就是服务器写个程序监听UDP 161和162端口,然后Agent就是设备写的程序监听UDP 161和162端口,MIB就相当于数据库,存储key-value值。
(4)MIB数据库模型如下,也比较简单, 主要是看OID是怎么来的。
明白了上面几点,就可以开始测试了。
测试:linux和华为BMC(iBMC)的snmp通信。
(1)iBMC默认是开启SNMPv3服务的。
(2)linux安装SNMP工具。
yum install net-snmp*
service snmpd start
service snmpd status
(3)获取iBMC的ip地址
snmpget -l authPriv -v 3 -a SHA -x AES -X Admin@9000 -u Administrator -A Admin@9000 192.168.2.206:161 1.3.6.1.4.1.2011.2.235.1.1.12.50.1.2.1
-l指定认证方式,有三个选项noAuthNoPriv|authNoPriv|authPriv
-v是使用的snmp版本
-a是认证协议是SHA还是MD5
-x是加密方式是AES加密
-X是密码
-u是用户名
-A也是密码
用户名密码就是iBMC的用户名和密码。
后面跟的是ip和端口号,接着是OID,这个OID是查询iBMC的ip用的。
(4)返回结果成功,获得了iBMC的地址是192.168.2.206
(5)这个OID主要还是要去找设备的厂商要MIB文件,比如我找到这个5288 V3-iBMC-MIB-V300.zip文件,解压后得到HUAWEI-SERVER-iBMC-MIB.mib
使用MIB browser可以打开。通过这个文件可以看到5288服务器iBMC的SNMP的MIB的OID信息,借此可以写个程序通过SNMP服务管理5288服务器
参考:什么是SNMP?为什么需要SNMP? - 华为 (huawei.com)