日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SNMP功能开发简介 一 net-snmp编译与安装

發(fā)布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SNMP功能开发简介 一 net-snmp编译与安装 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

部門產(chǎn)品還沒有snmp功能,應(yīng)客戶需求,最近開始開發(fā)snmp功能。snmp即簡單網(wǎng)絡(luò)管理協(xié)議,管理很簡單,但實際開發(fā)還是有點工作量,協(xié)議有三個版本,分為1,2c,3。相關(guān)的RFC文檔也比較多,從零開始開發(fā)難度還是比較大,和技術(shù)經(jīng)理討論了下,可以基于現(xiàn)有方案做二次開發(fā),移植。產(chǎn)品平臺基于openwrt,armlinux。上層業(yè)務(wù)是用Golang開發(fā),在github上看了下,現(xiàn)有的Go 版本的snmp實現(xiàn)還不是很全面,大部分gosnmp僅僅實現(xiàn)了nms(網(wǎng)絡(luò)管理工作站)功能,對于snmp agent代理功能還沒有很好的方案。現(xiàn)有的比較完善的方案是net-snmp,這是一個開源的snmp實現(xiàn)方案,基于c語言,功能比較全,支持三個版本的snmp以及v4/v6等,此外兄弟部門的產(chǎn)品也是基于net-snmp開發(fā),可以參考一下,所以就定了方案,移植net-snmp。具體包括使用cgo方式調(diào)用netsnmp的c庫,添加私有mib等。

在開發(fā)之前,需要先熟悉一下net-snmp的編譯,運行等。

下面是在ubuntu上安裝net-snmp的方式

//創(chuàng)建目錄 cd ~ mkdir -p netsnmp && cd netsnmp//下載net-snmp源代碼 wget https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz//解壓 tar -zxvf net-snmp-5.7.3.tar.gz//依賴庫安裝 sudo apt-get install libperl-dev//配置,輸入enter選擇默認配置./configure --with-default-snmp-version="2" --with-sys-contact="mason" --with-sys-location="shenzhen" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"//編譯 make//安裝 sudo make install//設(shè)置動態(tài)庫路徑 cd ~ echo export LD_LIBRARY_PATH=/usr/local/lib >> .bashrc source .bashrc//測試 snmpget --version

如果出現(xiàn)? libnetsnmp.so.30: cannot open shared object file: No such file or directory,source ~/.bashrc就可以了

這個時候,測試snmpd,在啟動snmpd之前需要設(shè)置好配置文件,可以簡單的把安裝包里面的EXAMPLE.conf復(fù)制到/usr/local/share/snmp/snmpd.conf目錄下,修改下監(jiān)聽端口。

啟動snmpd

//-Le選項是打印程序啟動的錯誤 sudo snmpd -f -Le &

可能遇到的問題是程序沒有啟動,自動退出,這時候看下打印或者看/var/log/snmpd.log日志文件。

另一個常見的錯誤是:

snmpd: error while loading shared libraries: libnetsnmpagent.so.30: cannot open shared object file: No such file or directory

這種情況需要確認下/usr/local/lib目錄下是不是真的沒有該文件,如果沒有的話,就去編譯目錄找到相關(guān)文件手動復(fù)制過來。

如果存在該文件的話,可能是路徑不對,可以手動將/usr/local/lib添加到 /etc/ld.so.conf文件中,然后sudo ldconf

如果存在Error opening specified endpoint "udp:0.0.0.0:161"錯誤的話,有可能是配置文件問題,也有可能端口已經(jīng)被占用。

當運行成功后,可以在windows上安裝mib browser來測試一下

mib-browser 下載 :https://www.softpedia.com/get/Internet/Other-Internet-Related/ManageEngine-MibBrowser-Free-Tool.shtml

安裝的時候記得不要安裝在系統(tǒng)盤,以免出現(xiàn)mib無法加載錯誤。

安裝完成后打開mibbrowser,設(shè)置目的地址為虛擬機ubuntu地址查詢即可:

以上就是net-snmp在ubuntu上編譯、安裝與測試的基本步驟。

但是對于我們的方案來說,這只是第一步,畢竟實際的運行是在arm板子上的,需要交叉編譯,此外還有添加私有mib等等。這些內(nèi)容日后在詳細討論。

總結(jié)

以上是生活随笔為你收集整理的SNMP功能开发简介 一 net-snmp编译与安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。