![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SOjhjZmJGZiRDZhZ2YiZjZlBDO5AzMkdzYiR2M0AjYk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
SNMP協定簡介
SNMP 是專門設計用于在 IP 網絡管理網絡節點(伺服器、工作站、路由器、交換機及HUBS等)的一種标準協定,它是一種應用層協定。 SNMP 使網絡管理者能夠管理網絡效能,發現并解決網絡問題以及規劃網絡增長。通過 SNMP 接收随機消息(及事件報告)網絡管理系統獲知網絡出現問題
SNMP用于保證管理資訊在任意兩點間傳送,便于網絡管理者在網絡上的任何節點檢索資訊、修改資訊、尋找故障、完成故障診斷、進行容量規劃和生成報告。
SNMP采用輪詢機制,提供最基本的功能集,特别适合在小型、快速和低價格的環境中使用。SNMP的實作基于無連接配接的傳輸層協定UDP,是以可以實作和衆多産品的無障礙連接配接。
1. SNMP的工作機制
SNMP分為NMS和Agent兩部分:
· NMS是運作用戶端程式的工作站。
· Agent是運作在網絡裝置(比如:交換機)上的伺服器端軟體。
NMS可以向Agent發出GetRequest、GetNextRequest和SetRequest封包,Agent接收到NMS的這些請求封包後,根據封包類型對MIB進行Read或Write操作,生成Response封包,并将封包傳回給NMS。
Agent在裝置發生異常情況或狀态改變時(比如:裝置重新啟動),也會主動向NMS發送Trap封包,向NMS彙報所發生的事件。
2. SNMP的版本
目前,SNMP Agent支援SNMP v1、SNMP v2c和SNMP v3三個版本。
SNMP v3采用使用者名和密碼認證方式;SNMP v1、SNMP v2c采用團體名(Community Name)認證,非認可團體名的SNMP封包将被丢棄。SNMP團體名用來定義SNMP NMS和SNMP Agent的關系。團體名起到了類似于密碼的作用,可以限制SNMP NMS通路SNMP Agent。
3. MIB
在SNMP封包中用管理變量來描述管理對象。為了唯一辨別管理對象,SNMP用層次結構命名方案來識别管理對象。整個層次結構就像一棵樹,樹的節點表示管理對象
每一個節點,都可以用從根開始的一條路徑唯一地辨別,MIB的作用就是用來描述樹的層次結構,它是所監控裝置的标準變量定義的集合。管理對象可以用一串數字{1.2.1.1}唯一确定,這串數字是管理對象的對象辨別符
下面介紹在CentOS7下安裝SNMP服務
1、yum install net-snmp net-snmp-utils
net-snmp (被監控端 Agent)
net-snmp-utils (NMS-command 工具包)
2、啟動snmpd服務
1)rpm -ql net-snmp檢視相當的配置檔案
2)啟動服務
systemctl enable snmpd.service
systemctl start snmpd.service
3、net-snmp的常用指令
1)、擷取snmp資訊
snmpwalk -v 2c -c public 127.0.0.1
-v 2c 指定版本資訊
-c 指定團體名 public為預設團體名
2)snmpget擷取指定OID的資訊
snmpget -v 2c -c public 127.0.0.1 HOST-RESOURCES-MIB::hrSystemUptime.0
3)snmptranslate 在MIB OID 在數字和文字名稱之間進行轉換的指令
snmptranslate -On -IR HOST-RESOURCES-MIB::hrSystem
用-On(輸出數字格式的oid),使用 -IR(允許“随機”通路 MIB)
4)修改配置檔案
vi /etc/snmp/snmpd.conf
例如:修改團體名,定義一個可操作的範圍(view)等操作均在此配置檔案中進行修改
可以man snmpd.conf檢視相關幫助文檔