新聞中心

net-snmp移植到ARM平臺

作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
主機(jī)環(huán)境

Windows + vmware(redhat9.0)

本文引用地址:http://2s4d.com/article/201611/317664.htm

IP分配如下:

ARM開發(fā)板:192.168.4.151

Windows: 192.168.4.44

Redhat9.0: 192.168.4.150

搭建交叉編譯環(huán)境

把交叉編譯器解壓到/opt/目錄下,然后在/etc/profile文件中添加

環(huán)境變量,pathmunge /opt/hardhat/devkit/arm/xscale_be/bin.

交叉編譯步驟

①. tar –zxvf net-snmp-5.3.2.tar.gz

②. cd net-snmp-5.3.2

③../configure --host=armv5teb-hardhat-linux //運(yùn)行平臺

--build=i686-linux //編譯平臺

--with-cc=xscale_be-gcc //交叉編譯器

--with-ar=xscale_be-ar //

--prefix=/usr/local/net-snmp //安裝目錄

--disable-shared //靜態(tài)編譯

--with-endianness=little //指定小端

--enable-mini-agent//最小的SNMPD

--with-openssl=/opt/hardhat //openssl庫路徑

/devkit/arm/xscale_be/target/usr

④. make (make LDFLAGS="-static",如果沒有指定disable-shared)

⑤. make install

⑥. cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

⑦. 配置/usr/local/net-snmp/share/snmp/snmpd.conf文件

⑧.xscale_be-strip /usr/local/net-snmp/sbin/snmpd,壓縮snmpd.

移植文件

在移植以前首先要刪除AP上的/usr/sbin/snmpd和/etc/snmpd.conf.

1./usr/local/net-snmp/sbin/目錄下snmpd進(jìn)程

2./usr/local/net-snmp/share/snmp/目錄下snmpd.conf ,mibs

3./usr/local/net-snmp/bin目錄下net-snmp-config, snmpwalk, snmpget等

備注:snmpd,net-snmp-config,snmkwalk,snmpget等工具在移植以前,要先用xscale_be-strip壓縮一下。然后snmpd放到AP的/usr/sbin中,

Snmpd.conf放到Ap 的/etc中。其他按照上面目錄存放。AP上沒有就自動創(chuàng)建。

在AP上運(yùn)行snmpd

#snmpd –c /etc/snmpd.conf

備注:

1.在AP上運(yùn)行時會出現(xiàn)缺少libcrypto.so.0.9.6文件。在交叉編譯器中(/opt/hardhat/devkit/arm/xscale_be/target/usr/lib)能找到這個文件,然后put到AP的/lib/目錄下?;蛘?/p>

創(chuàng)建軟連接ln –s /mnt/ramd/libcrypto.so.0.9.6 /lib/libcrypto.so.0.9.6。

2.原來snmpd.conf在/usr/local/net-snmp/share/snmp/snmpd.conf中,傳到AP時放到/etc/目錄中,所以在運(yùn)行時用參數(shù)C來指定最新目錄。

3.當(dāng)snmpd進(jìn)程運(yùn)行時會在/var/net-snmp目錄下創(chuàng)建一個snmpd.conf.

原來沒有,Snmpd.conf文件中有engineboot和engineID。當(dāng)用net-snmp-config創(chuàng)建v3用戶時,下面會自動添加

createuser zhuangqian MD5 “19840318” DES,當(dāng)然同時也會在/usr/local/net-snmp/share/snmp/snmpd/conf中添加rwuser zhuangqian.

如何創(chuàng)建V3用戶

方法一

①首先關(guān)閉snmpd進(jìn)程

②net-snmp-config --create-snmpv3-user –a “19840318” zhuangqian

執(zhí)行上面操作之后,/var/net-snmp/snmpd.conf文件中增加一行

createuser zhuangqian MD5 “19840318” DES

/usr/local/net-snmp/share/snmp/snmpd.conf中增加一行

rwuser zhuangqian

③snmpd 啟動進(jìn)程

④snmpget –v 3 –u zhuangqian –l authNoPriv –a MD5 –A “19840318” localhost sysUpTime.0或者

snmpget -v 3 -u zhuangqian –l authPriv –a MD5

-A “19840318” –x DES – X “19840318” localhost sysUpTime.0

方法二

# net-snmp-config --create-snmpv3-user ↙

# 輸入用戶名(zhuangqian)↙

# 輸入authentication pass-phrase(驗(yàn)證)如19840318長度不小于8

# 輸入encryption pass-phrase(加密)如19840318,直接回車則跟上面一樣。

測試:

Snmpget –v 3 –l authPriv –u zhuangqian –A “19840318” –X “19840318” localhost sysUpTime.0

注意v3中authprotocal MD5 SHA Privprotocal DES AES

客戶端能ping通運(yùn)行snmpd進(jìn)程的設(shè)備,但取不到值,可能是客戶端防火墻問題,取消客戶端防火墻試試。

測試V2

snmpwalk –v 2c -c public 192.168.4.151 if

snmpget –v 2c –c public 192.168.4.151 system.sysName.0



關(guān)鍵詞: net-snmp移植ARM平

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉