1、编译动态库
将写完的snmp代理程序编译生成动态库
gcc -c -fpic telnetConfig.c -o telnetConfig.o -I/usr/local/net-snmp/include
gcc -shared telnetConfig.o -o libtelnetConfig.so
其中/usr/local/net-snmp是安装目录,里面有include目录,包含了使用的头文件。
通过下面两条命令,查看安装目录,找到配置文件
net-snmp-config --default-mibdirs
snmptranslate -Dinit_mib
2、更改配置文件
找到安装目录中的snmp配置文件,snmpd.conf:
vim /usr/local/share/snmp/snmpd.conf
在最后添加
dlmod telnetConfig /home/tony/.snmp/mibs/libtelnetConfig.so
表示动态添加库,后面的/home/tony/.snmp/mibs/libtelnetConfig.so是产生的so文件的目录。
3、启动snmp
snmpd 或者 sudo snmpd
调试启动: <install>/snmpd –d –f –Lo –c <install>/snmpd.conf
一般启动 <install>/snmpd –c <install>/snmpd.conf
4、snmp移植到交换机中
如果要移植到交换机中,在第一步就要使用交叉编译工具进行编译。
将arm-linux-gcc所在的目录添加到环境变量中
export PATH=$PATH:/home/liutao/proj/switch/brcm/platform/iproc/buildroot/output/host/usr/bin
将生成的.so文件添加到目标板中,例如/lib/。(记住从ftp从服务器下载到目标板的过程中,需要使用bin模式进行下载,否则文件不完整,会有丢失)。
然后将snmpd.conf配置文件也下载到目标板中,例如放在/usr/share/。
在snmpd.conf文件的最后添加
dlmod telnetConfig /lib/libtelnetConfig.so
5、启动snmpd并指定配置文件。
./snmpd -c /usr/share/snmpd.conf