平時我們測試開發交換機的snmp功能時廣泛的用到了net-snmp,net-snmp是免費開源的,廣泛用於snmp開發和測試。
今天講一下如何在ubuntu上安裝和使用net-snmp。
1.安裝ubuntu後apt-get update
本文使用的是ubuntu 16.04服務器版,安裝後請執行apt-get update進行更新
2.去net-snmp網站下載最新版的安裝包(本文用的net-snmp-5.8.tar.gz),用winscp拷貝到根目錄下,然後執行以下操作
1)解壓文件包:
tar -zxvf net-snmp-5.8.tar.gz
2)解壓後重命名下解壓出來的文件夾,名字改為net-snmp(可以使用winscp修改)
3)添加權限
chmod -R 777 net-snmp
3.安裝Ubuntu下的snmp的依賴包
apt-get install libperl-dev
4.安裝gcc,安裝make,後面會用到
apt-get install gcc
apt-get install make
5.進入到/net-snmp目錄,開始安裝
執行./configure --prefix=/usr/local/snmp,安裝在/usr/local/snmp下,./configure後面可以接參數自定義,請自尋查資料
回車出現下面問題都可以直接回車,系統會使用默認值,日誌文件默認路徑為/var/log/snmpd.log,文件存儲目錄默認為/var/net-snmp/
1、default version of-snmp-version(3):
2、System Contact Information (@@no.where)(配置該設備的聯繫信息):
3、System Location (Unknown)(該系統設備的地理位置):
4、Location to write logfile (日誌文件位置):
5、Location to Write persistent(數據存儲目錄):
看到下面這個表示安裝成功
---------------------------------------------------------
Net-SNMP configuration summary:
---------------------------------------------------------
6.配置snmpd.conf
將EXAMPLE.conf拷貝到/usr/local/snmp/share/snmp/目錄下
cp /net-snmp/EXAMPLE.conf /usr/local/snmp/share/snmp/snmpd.conf
輸入
vi /usr/local/snmp/share/snmp/snmpd.conf編輯snmd.conf,需要改的見下面加粗的部分# AGENT BEHAVIOUR
#
# Listen for connections from the local system only
#agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
# ACCESS CONTROL
#
# system + hrSystem groups only
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
view all include .1
# Full access from the local host
#rocommunity public localhost
# Default access to basic system info
rocommunity public default
# Full access from an example network
# Adjust this network address to match your local
# settings, change the community string,
# and check the 'agentAddress' setting above
7.啟動snmp,查看是否安裝成功
進入到/usr/local/snmp/sbin目錄下,啟動snmpd,執行命令:
cd /usr/local/snmp/sbin
./snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf
如何檢驗是否啟動成功呢?可以通過查看進程的方式,使用命令ps -ef|grep snmpd,如果返回進程的相關信息,說明啟動成功。
進入/usr/local/snmp/bin目錄,執行./snmpwalk -v 2c -c public localhost system(public由snmpd.conf 中rocommunity決定),如果返回一大串信息而不是錯誤提示則安裝成功。
8.配置snmp自啟動,修改環境變量任意路徑執行snmp
1)由於經常要測試snmp,所以設置成自動啟動,輸入“vi /etc/rc.local”在/etc/rc.local文件的exit 0前面加上下面這一行:
/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/share/snmp/snmpd.conf &
注意一定要加到exit 0前面
2)修改環境變量任意路徑執行snmp
在/etc/profile文件的末尾加上下面一段代碼:
export PATH=/usr/local/snmp/bin:/usr/local/snmp/sbin:$PATH
再執行source命令
source /etc/profile
這樣每次開機net-snmp會自啟動,並且可以任意路徑下執行snmp命令
9.使用snmp測試
命令如下
snmpwalk -v 2c -c public 192.168.1.10 .1.3.6.1.2.1.1.1.0
snmpwalk可以換成snmpget等,對應具體操作
2c對應的snmpv2c版本
public是共同體名稱
192.168.1.10是交換機的IP,可以替換成具體的IP地址
.1.3.6.1.2.1.1.1.0是要查詢的oid,可以替換成具體的oid
閱讀更多 網絡知識分享君 的文章