mib库扩展方法
- 格式:doc
- 大小:37.00 KB
- 文档页数:2
MIB库扩展的方法
一、描述
在已有的网管控制命令的基础上添加新的命令需要对相应的被控端的snmp代理的
MIB库进行扩展,即在已有的MIB库中添加新的节点。
二、具体步骤
1. 按照ASN.1标准编写mib文件
可以在已有的MIB文件中根据ASN.1标准直接添加节点定义即可。
ASN.1标准的内容比较多,网上可以搜索到相关的资料,这里不作过多的说
明,实际的使用中可以参考snmp源代码中给出的示例。这里给出一个例子。在
已有的PARAM-MIB.txt中添加新节点mynode
PARAM-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
enterprises, Integer32, Gauge32, OBJECT-TYPE, MODULE-IDENTITY,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
-- 用户站设备
usr OBJECT IDENTIFIER ::= { enterprises 1}
-- 我的私有节点
--oid=.1.3.6.1.4.1.1
-- ?string size
password OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..64))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"login password"
::= { usr 1 }
.
.
-- 新增节点定义 oid=.1.3.6.1.4.1.1.20
Mynode OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"new node for test"
::= { usr 20 }
END
2. 使用mib2c编译工具编译mib文件
命令格式为:mib2c+对象名称
例如:mib2c mynode
根据需要选择相应的选项即可生成相应的mynode.c 和mynode.h文件,在
mynode.c中编辑相应的控制代码。
3. 将生成的.c和.h文件加入到snmp源码中
将生成的mynode.c 和mynode.h拷贝到snmp源代码文件夹下的agent/mibgroup
下
4. 重新编译、安装snmp
1)需要加上新加的节点(红色部分)
./configure --prefix=/usr/local/net-snmp --enable-mfd-rewrites
--with-default-snmp-version="2" --with-sys-contact="tf@tf.com" --with-sys-location="China"
--with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"
--with-mib-modules="mynode "
2)make
3)make install