2020-8-10 seo達人
1.安裝
Windows 安裝請參考
默認安裝為c:/usr/ 。可以執行如下文件,以便啟動snmp agent:
snmpd
會提示需要配置snmpd.conf。
No log handling enabled - turning on stderr logging
Warning: no access control information configured.
It's unlikely this agent can serve any useful purpose in this state.
Run "snmpconf -g basic_setup" to help you configure the snmpd.conf file for this agent.
NET-SNMP version 5.5
不必使用提示中的命令,因為此命令引用了perl,但是perl的對應模塊無法跑起來。看來perl要完蛋的傳說并不是空穴來風。
snmpd.conf可以自己創建到/usr/etc/snmp/snmpd.conf內。
2.修改配置文件
配置之前的說明:我在網上看到的所有配置都是com2sec,group,access這三個配置,但是從默認的snmp.conf文件中有一段話:
沒必要使用 com2sec/group/access配置,使用ro(w)user,ro(w)community結合合適的views,就可以覆蓋大多數需求了。
2.1 配置監聽地址
snmpd默認監聽本地IP的UDP161端口,等待snmp請求
agentAddress udp:161
藍藍設計( m.91whvog3.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
2.2 配置視圖(view)
格式:view viewName type oid[mask]
參數說明:
viewName : view名稱
type : 有兩個值:include和exclude(包括或者排除)
oid:可以訪問的oid(mib子樹)
[mask]:對oid的掩碼 (可選參數)
案例:
view systemonly included .1.3.6.1.2.1
2.3 配置共同體(community)
格式:ro(w)community communityName source
參數說明:
rocommunity定義一個只讀權限的共同體,rwcommunity定義一個讀寫權限的共同體
rocommunity6或 rwcommunity6表示監聽IPv6。
communityName:共同體名稱
source:可以訪問的IP地址范圍,默認為”default”,即任何IP都能訪問。
可選參數:-V viewName 限制共同體只能訪問viewName下的節點
實際配置文件
agentAddress udp:161
view systemonly included .1.3.6.1.2.1
rocommunity public default
3. 測試
修改完配置之后,重啟snmpd:
snmpd
連接測試:(該節點表示獲取主機內存大小)
snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Windows DESKTOP-70OA76Q 6.2.9200 Professional
得到類似以上的結果,就說明snmpd配置成功。
配置MIB庫
Windows版本的snmp自帶有很多MIB,位于C:\usr\share\snmp\mibs
因此可以對OID和MIB name做互相轉換:
snmptranslate -On SNMPv2-MIB::sysDescr.0
.1.3.6.1.2.1.1.1.0
snmptranslate .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0
添加自己的mib
之前的筆記有提到自己創建的一個定制mib文件
https://github.com/1000copy/tbit-guard-snmp/blob/master/tbit.mib
可以把它加入到C:\usr\share\snmp\mibs目錄內,文件名無所謂。然后為snmptranslate加入選項 -mALL ,表示加載所有在此目錄內的mib文件:
snmptranslate -m ALL .1.3.6.1.4.1.66666
你應該看到如下消息,表明mib加載成功:
tbitinc::tbit
詳細的說明如下:
-m MIBLIST
指定一個用冒號分隔的MIB模塊列表(不是文件),以便為這個應用程序加載。 這將覆蓋(或增加)環境變量MIBS、snmp.conf的內容。指令mibs,以及硬編碼到Net-SNMP庫中的MIBs列表。如果MIBLIST有一個前導的'-'或'+'字符,那么所列出的MIB模塊將被加載到默認列表之外,分別位于該列表之前或之后。
否則,將加載指定的MIB,而不是這個默認列表。特殊關鍵字ALL用于加載MIB目錄搜索列表中的所有MIB模塊。 每一個名字不以". "開頭的文件都會被解析為是一個
MIB文件。
-M DIRLIST
指定一個以冒號分隔的目錄列表來搜索MIB。 這將覆蓋(或增強)環境變量MIBDIRS和snmp.conf指令mibdirs。
以及硬編碼到 Net-SNMP 庫中的默認目錄 (/usr/share/snmp/mibs)。
如果DIRLIST有一個前導的'-'或'+'字符,那么給定的目錄會被添加到默認列表中,在這個列表的目錄之前或之后進行搜索。
分別進行搜索。 否則,將搜索指定的目錄,而不是這個默認列表。
請注意,列表中出現在后面的目錄要比前面的目錄優先。 要避免搜索任何MIB目錄,請將MIBDIRS環境中的
變量為空字符串("")。
請注意,使用-m選項或mibs配置指令指定的MIB將從-M選項(或等價物)列出的目錄中加載。
mibfile指令采用的是指定MIB文件的完整路徑,所以不需要在MIB目錄搜索列表中出現。