SNMP協議的基礎以及軟件使用
在網絡通信協議中,我們強調SNMP協議的使用,因為這個協議時網絡管理協議,作為一名管理員,我們是需要掌握這方面內容的。所以,下面我們就來對這方面的知識進行一下講述。
SNMP協議基礎
SNMP的本質是基于代理的通告系統。每個設備,甚至是很多低端的交換機和打印機,都支持這種基于代理的通告。這種通告,或者所謂的 "trap,"是由設備廠商所開發的代理功能來生成的,監聽軟件可以監控系統的特殊事件,比如事件日志中的某類特殊事件,然后將通告發送給SNMP處理器或者其他網絡管理工具。
SNMP可以看做是目前眾多功能類似的網管框架之一,此類管理框架還包括Microsoft Windows Management Instrumentation (WMI),Web Based Enterprise Management (WEBM) 以及 Common Information Mode(CIM)。CIM 已經發展成一個完整的對象模型,采用DMTF并使用UML語言。
Windows 或 Linux下的SNMP協議
Microsoft在WMI中完全兼容CIM 模型。比如,在Vista, Windows 7, 或 Server 2008系統中,打開命令行窗口輸入以下命令:
winrm enumerate wmicimv2/Win32_ComputerSystem
這個命令會顯示出電腦系統的基本硬件信息,比如主板廠商名稱,另外還包括域成員名稱,管理賬戶密碼狀態,服務器角色,當前用戶名,主機名,啟動項等各種內容。通過 WMI,用戶可以對系統信息了如指掌。圖 A 所顯示的是開啟SNMP的圖表。類似的監控功能在Linux上也存在。比如,免費的WebNMS就帶有一套snmp代理功能,同時還提供了通過HTTP的管理方式。
圖 A#p#
是否值得
心急的網管們這時候可能就會問,到底學習SNMP協議和相關內容需要多少成本呢。Distributed Management Task Force (桌面管理任務組,DMTF)是SNMP的知識庫也是與SNMP關系最密切的組織,他們堅持認為,他們的教材適用于"管理應用程序開發者,架構開發者,信息技術經理以及系統管理員。" 這可能有點夸張。而CIM Road Map Task Force 的Scott Neumann則將CIM稱為"描述網絡的最成熟和廣泛接受的模塊"。也就是說,這個模塊像網絡一樣深入、復雜、宏大和特異。
SNMP協議軟件
snmp代理程序并不只針對硬件。實際上, Oracle Enterprise Manager (OEM)被修改后,可以針對來自于Oracle VM, Oracle Database, 或 Fusion Middleware的警告信息作出反應。這里所說的是Oracle提供的 Contact Center Anywhere (CCA) 程序。他不但可以讓 SNMP用戶擁有常用的與電話相關的管控能力,還提供諸如軟件許可失敗,"惡意呼叫追蹤",自動呼叫分布語音信箱等功能。也就是說,SNMP程序是可以被調整的,以便讓管理者更好的理解其性能,也可以擁有在一定條件下自動升級的能力,或者適應于企業特定的工作流程。軟件通過設計,能夠實現令人興奮的結果。
不過這個諜對諜的世界總是充滿了風險。SNMP最初的設計者對周圍的環境過于信任,并沒有考慮安全問題。SNMP的"community strings"功能就像管理者和代理之間的密碼。community string出現在這兩者之間通信的所有數據包中。不要冒險讓你的snmp代理變成雙面間諜。也不要接受默認的"public" 或 "private"的community strings。 "Private"尤其容易出問題,因為它可以允許攻擊者修改設備配置。如果不得不采用默認的"private"的community strings,那么就要限制能夠訪問SNMP的IP地址,從而確保通信安全。SNMP Version 3新增了代理加密功能,可以有效降低man-in the-middle類型的攻擊,但并不是所有網絡設備都支持這種功能。
購買注意事項
全面的購買指南肯定要比本文詳細的多,所以我在這里只提供幾個重要的購買注意事項:
◆記住就算一個很小的網絡也會擁有上百甚至上千個"設備"。如果價格是根據設備的數量來定的,那么要注意了。
◆"自動網絡發現"是一個很好的概念,但是它是假設所有狀況都是理想情況,比如所有的代理和管理者能彼此看到對方。
◆SNMP監控有托管方式的,也有網絡內部自己管理的。
◆要把時間成本加入其中。雖然不比一次搞定所有設置,但是在SNMP協議警告信息的簡歷方面,可能耗時比較多。