NET-SNMP-5.8
安装依赖和编译源码
configure过程中会有一些交互信息,选择默认即可
sudo apt install libperl-dev
./configure
make
sudo make install
MIB开发
MIB开发其实就三个部分
- 创建一个MIB文件
- 使用mib2c工具将MIB文件转化为C语言代码
- 将转化的C语言代码中添加具体的业务实现,加载MIB实现
1.创建MIB文件
2.转化MIB文件为C语言代码
系统默认的各类框架代码的配置文件在/usr/local/share/snmp目录下,一般不需要对框架类的配置文件做修改,有需求再了解。
- mib2c.scalar.conf:适用于所有的标量对象;
- mib2c.iterate.conf:适用于对象的实例值需要某种迭代、反复查询的操作,该配置文件生成的代码使用的API对GET和GETNEXT请求效率较高。该代码框架的API核心函数中使用了大量的case处理get和set请求,代码不太美观;
- mib2c.old-api.conf:能够同时处理标量和表格的配置文件,代码紧凑、直观。比较常用;(统一使用这个模板)
- mib2c.notify.conf:生成通告消息相关的模板代码;
1.将MIB文件拷贝到SNMP的mibs目录,通常为 /usr/local/share/snmp/mibs
2.使用mib2c转化代码
mib2c -c mib2c.scalar.conf TEST2-MIB::node0 //生成scalar框架代码
mib2c -c mib2c.iterate.conf TEST2-MIB::node0 //生成iterate框架代码
mib2c -c mib2c.old-api.conf TEST2-MIB::node0 //生成old-api框架代码