05-SNMP配置
本章節下載: 05-SNMP配置 (366.02 KB)
設備運行於FIPS模式時,本特性部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
SNMP(Simple Network Management Protocol,簡單網絡管理協議)是互聯網中的一種網絡管理標準協議,廣泛用於實現管理設備對被管理設備的訪問和管理。SNMP具有以下優勢:
· 支持網絡設備的智能化管理。利用基於SNMP的網絡管理平台,網絡管理員可以查詢網絡設備的運行狀態和參數,配置參數值,發現故障,完成故障診斷,進行容量規劃和製作報告。
· 支持對不同物理特性的設備進行管理。SNMP隻提供最基本的功能集,使得管理任務與被管理設備的物理特性和聯網技術相對獨立,從而實現對不同廠商設備的管理。
SNMP網絡架構由三部分組成:NMS、Agent和MIB。
· NMS(Network Management System,網絡管理係統)是SNMP網絡的管理者,能夠提供友好的人機交互界麵,方便網絡管理員完成大多數的網絡管理工作。
· Agent是SNMP網絡的被管理者,負責接收、處理來自NMS的SNMP報文。在某些情況下,如接口狀態發生改變時,Agent也會主動向NMS發送告警信息。
· MIB(Management Information Base,管理信息庫)是被管理對象的集合。NMS管理設備的時候,通常會關注設備的一些參數,比如接口狀態、CPU利用率等,這些參數就是被管理對象,在MIB中稱為節點。每個Agent都有自己的MIB。MIB定義了節點之間的層次關係以及對象的一係列屬性,比如對象的名稱、訪問權限和數據類型等。被管理設備都有自己的MIB文件,在NMS上編譯這些MIB文件,就能生成該設備的MIB。NMS根據訪問權限對MIB節點進行讀/寫操作,從而實現對Agent的管理。
NMS、Agent和MIB之間的關係如圖1-1所示。
圖1-1 NMS、Agent和MIB關係圖
MIB以樹狀結構進行存儲。樹的每個節點都是一個被管理對象,它用從根開始的一條路徑唯一地識別(OID)。如圖1-2所示,被管理對象B可以用一串數字{1.2.1.1}唯一確定,這串數字是被管理對象的OID(Object Identifier,對象標識符)。
MIB視圖是MIB的子集合,將團體名/用戶名與MIB視圖綁定,可以限製NMS能夠訪問的MIB對象。當用戶配置MIB視圖包含某個MIB子樹時,NMS可以訪問該子樹的所有節點;當用戶配置MIB視圖不包含某個MIB子樹時,NMS不能訪問該子樹的所有節點。
圖1-2 MIB樹結構
SNMP提供四種基本操作:
· Get操作:NMS使用該操作查詢Agent MIB中節點的值。
· Set操作:NMS使用該操作配置Agent MIB中節點的值。
· Trap操作:Agent使用該操作向NMS發送Trap報文。Agent不要求NMS發送回應報文,NMS也不會對Trap報文進行回應。SNMPv1、SNMPv2c和SNMPv3均支持Trap操作。
· Inform操作:Agent使用該操作向NMS發送Inform報文。Agent要求NMS發送回應報文,因此,Inform報文比Trap報文更可靠。如果Agent在一定時間內沒有收到NMS的回應報文,則會啟動重發機製。隻有SNMPv2c和SNMPv3支持Inform操作。
目前,設備運行於非FIPS模式時,支持SNMPv1、SNMPv2c和SNMPv3三種版本;設備運行於FIPS模式時,隻支持SNMPv3版本。隻有NMS和Agent使用的SNMP版本相同,NMS才能和Agent建立連接。
· SNMPv1采用團體名(Community Name)認證機製。團體名類似於密碼,用來限製NMS和Agent之間的通信。如果NMS配置的團體名和被管理設備上配置的團體名不同,則NMS和Agent不能建立SNMP連接,從而導致NMS無法訪問Agent,Agent發送的告警信息也會被NMS丟棄。
· SNMPv2c也采用團體名認證機製。SNMPv2c對SNMPv1的功能進行了擴展:提供了更多的操作類型;支持更多的數據類型;提供了更豐富的錯誤代碼,能夠更細致地區分錯誤。
· SNMPv3采用USM(User-Based Security Model,基於用戶的安全模型)認證機製。網絡管理員可以配置認證和加密功能。認證用於驗證報文發送方的合法性,避免非法用戶的訪問;加密則是對NMS和Agent之間的傳輸報文進行加密,以免被竊聽。采用認證和加密功能可以為NMS和Agent之間的通信提供更高的安全性。
SNMP支持的訪問控製方式包括VACM(View-based Access Control Model,基於視圖的訪問控製模型)和RBAC(Role Based Access Control,基於角色的訪問控製)。
將團體名/用戶名與指定的MIB視圖進行綁定,可以限製NMS能夠訪問哪些MIB對象,以及對MIB對象不同的操作權限。
創建團體名/用戶名時,可以指定對應的用戶角色。
· 擁有用戶角色為network-admin或level-15的SNMP團體/用戶,可以對所有的MIB對象進行讀寫操作;
· 擁有用戶角色為network-operator的SNMP團體/用戶,可以對所有的MIB對象進行讀操作;
· 擁有用戶角色為自定義角色的SNMP團體/用戶,則根據該用戶角色下rule命令創建的用戶角色規則來對相應MIB對象進行操作。
對於同一SNMP用戶名/團體名,隻能配置一種控製方式,多次使用兩種控製方式配置同一用戶名/團體名時,以最後一次的配置方式為準,推薦使用RBAC方式,安全性更高。有關用戶角色及rule命令的詳細情況,請參見“基礎配置”中的“RBAC”。
RBAC配置方式限製的是MIB節點的讀寫權限,VACM配置方式限製的是MIB視圖的讀寫權限。RBAC配置方式更精準、更靈活。
設備使用SNMP靜默功能可以自動檢測並防禦SNMP攻擊,不需要命令行配置。
其原理為:用戶開啟SNMP功能後,設備會自動創建SNMP靜默定時器,並統計1分鍾內收到的認證失敗的SNMP報文的個數:
· 如果個數小於100,則自動重新開始計數。
· 如果個數大於等於100,則認為設備受到了SNMP攻擊,SNMP模塊會進入靜默狀態,設備將不再響應收到的任何SNMP報文。靜默時間為5分鍾,5分鍾後,自動重新開始計數。
由於SNMPv3版本的配置和SNMPv1版本、SNMPv2c版本的配置有較大區別,所以下麵分兩種情況介紹SNMP基本功能的配置,詳見表1-1和表1-2。
設備運行於FIPS模式時,不支持SNMPv1/v2c版本。
為了安全起見,隻有具有network-admin或者level-15用戶角色的用戶登錄設備後才能創建SNMP團體、用戶或組。其它角色的用戶,即使授權了SNMP特性或相應命令的操作權限,也不能執行相應命令。
表1-1 配置SNMPv1/v2c版本基本參數
操作 |
命令 |
說明 |
||
進入係統視圖 |
system-view |
- |
||
(可選)啟動SNMP Agent服務 |
snmp-agent |
缺省情況下,SNMP Agent服務處於關閉狀態 執行除snmp-agent calculate-password外任何以snmp-agent開頭的命令,都可以啟動SNMP Agent服務 |
||
(可選)配置設備的維護聯係信息 |
snmp-agent sys-info contact sys-contact |
缺省情況下,設備的維護聯係信息為New H3C Technologies Co., Ltd. |
||
(可選)配置設備的物理位置信息 |
snmp-agent sys-info location sys-location |
缺省情況下,物理位置信息為Hangzhou, China |
||
配置設備支持SNMPv1/v2c版本 |
snmp-agent sys-info version { all | { v1 | v2c | v3 } *} |
缺省情況下,啟用SNMPv3版本 |
||
(可選)配置本設備的SNMP引擎ID |
snmp-agent local-engineid engineid |
缺省情況下,設備引擎ID為公司的“企業號+設備信息”。每台設備的設備信息不同,請以設備實際情況為準 |
||
(可選)配置遠端SNMP實體的引擎ID |
snmp-agent remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] engineid engineid |
缺省情況下,不存在遠端SNMP實體的引擎ID 當設備需要向目的主機(能夠解析Trap和Inform報文的設備,通常為NMS)發送SNMPv3 Inform報文時,該步驟必選 |
||
(可選)創建或者更新MIB視圖 |
snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ] |
缺省情況下,存在四個MIB視圖,名稱均為ViewDefault: · 視圖一包含MIB子樹iso · 視圖二不包含子樹snmpUsmMIB · 視圖三不包含子樹snmpVacmMIB · 視圖四不包含子樹snmpModules.18 MIB視圖是MIB的子集,由視圖名和MIB子樹來唯一確定一個MIB視圖。視圖名相同但包含的子樹不同,則認為是不同的視圖 |
||
配置訪問權限 |
直接配置 |
創建SNMP團體 |
VACM方式: snmp-agent community { read | write } [ simple | cipher ] community-name [ mib-view view-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
二者選其一 直接配置是以SNMPv1和SNMPv2c版本的團體名進行配置 間接配置是先創建SNMP組,再向創建的組中添加的用戶,用戶相當於SNMPv1和SNMPv2c版本的團體名,在NMS上配置的團體名需要跟Agent上配置的用戶名一致 缺省情況下,不存在任何SNMP組和SNMP團體 |
RBAC方式: snmp-agent community [ simple | cipher ] community-name user-role role-name [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
||||
間接配置 |
創建SNMPv1/v2c組 |
snmp-agent group { v1 | v2c } group-name [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
||
創建SNMPv1/v2c用戶 |
snmp-agent usm-user { v1 | v2c } user-name group-name [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
|||
(可選)創建SNMP上下文 |
snmp-agent context context-name |
缺省情況下,不存在SNMP上下文 |
||
(可選)創建團體名到SNMP上下文的映射 |
snmp-agent community-map community-name context context-name |
缺省情況下,不存在團體名到SNMP上下文的映射 |
||
(可選)配置Agent能處理的SNMP報文的最大長度 |
snmp-agent packet max-size byte-count |
缺省情況下,Agent能處理的SNMP報文的最大長度為1500 |
||
(可選)配置設備上接收SNMP報文的端口號 |
snmp-agent port port-num |
缺省情況下,使用161號端口接收SNMP報文 |
為了安全起見,隻有具有network-admin或者level-15用戶角色的用戶登錄設備後才能創建SNMP用戶或組。其它角色的用戶,即使授權了SNMP特性或相應命令的操作權限,也不能執行相應命令。
建立SNMPv3連接時,是否進行認證和加密,受snmp-agent group v3和snmp-agent usm-user v3兩條命令的影響:
· 創建組時,如果不指定authentication和privacy參數,則表示不認證不加密。此時,使用和該組綁定的用戶名建立SNMP連接時,均不認證不加密。即便用戶配置了認證密碼/加密密碼,認證密碼/加密密碼也不生效。
· 創建組時,如果指定authentication參數,則表示認證不加密。此時,使用和該組綁定的用戶名建立SNMP連接時,均認證不加密。即便用戶配置了加密密碼,加密密碼也不生效。該組內的用戶必須配置認證密碼,否則,不能建立SNMP連接。
· 創建組時,如果指定privacy參數,則表示認證加密。此時,使用和該組綁定的用戶名建立SNMP連接時,均認證加密。該組內的用戶必須配置認證密碼和加密密碼,否則,不能建立SNMP連接。
表1-2 配置SNMPv3版本基本參數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)啟動SNMP Agent服務 |
snmp-agent |
缺省情況下,SNMP Agent服務處於關閉狀態 執行除snmp-agent calculate-password外任何以snmp-agent開頭的命令,都可以啟動SNMP Agent服務 |
(可選)配置設備的維護聯係信息 |
snmp-agent sys-info contact sys-contact |
缺省情況下,設備的維護聯係信息為New H3C Technologies Co., Ltd. |
(可選)配置設備的物理位置信息 |
snmp-agent sys-info location sys-location |
缺省情況下,物理位置信息為Hangzhou, China |
配置設備支持SNMPv3版本 |
snmp-agent sys-info version { all | { v1 | v2c | v3 } * |
缺省情況下,啟用SNMPv3版本 |
(可選)配置本設備的SNMP引擎ID |
snmp-agent local-engineid engineid |
缺省情況下,設備引擎ID為公司的“企業號+設備信息”。每台設備的設備信息不同,請以設備實際情況為準 SNMPv3版本的用戶名、密文密碼等都和引擎ID相關聯,如果更改了引擎ID,則原引擎ID下配置的用戶名、密碼失效。 |
(可選)配置遠端SNMP實體的引擎ID |
snmp-agent remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] engineid engineid |
缺省情況下,未配置遠端SNMP實體的引擎ID 當設備需要向目的主機(能夠解析Trap和Inform報文的設備,通常為NMS)發送SNMPv3 Inform報文時,該步驟必選 |
(可選)創建MIB視圖或更新MIB視圖內容 |
snmp-agent mib-view { excluded | included } view-name oid-tree [ mask mask-value ] |
缺省情況下,存在四個MIB視圖,名稱均為ViewDefault · 視圖一包含MIB子樹iso · 視圖二不包含子樹snmpUsmMIB · 視圖三不包含子樹snmpVacmMIB · 視圖四不包含子樹snmpModules.18 MIB視圖是MIB的子集,由視圖名和MIB子樹來唯一確定一個MIB視圖。視圖名相同但包含的子樹不同,則認為是不同的視圖 |
(可選)創建SNMPv3組 |
非FIPS模式下: snmp-agent group v3 group-name [ authentication | privacy ] [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * FIPS模式下: snmp-agent group v3 group-name { authentication | privacy } [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
缺省情況下,不存在SNMP組 |
(可選)為明文密碼計算對應的密文密碼 |
非FIPS模式下: snmp-agent calculate-password plain-password mode { 3desmd5 | 3dessha | aes192md5 | aes192sha | aes256md5 | aes256sha | md5 | sha } { local-engineid | specified-engineid engineid } FIPS模式下: snmp-agent calculate-password plain-password mode { aes192sha | aes256sha | sha } { local-engineid | specified-engineid engineid } |
- |
創建SNMPv3用戶 |
非FIPS模式下: · VACM方式: snmp-agent usm-user v3 user-name group-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { md5 | sha } auth-password [ privacy-mode { 3des | aes128 | aes192 | aes256 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * · RBAC方式: snmp-agent usm-user v3 user-name user-role role-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { md5 | sha } auth-password [ privacy-mode { 3des | aes128 | aes192 | aes256 | des56 } priv-password ] ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * FIPS模式下: · VACM方式: snmp-agent usm-user v3 user-name group-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] { cipher | simple } authentication-mode sha auth-password [ privacy-mode { aes128 | aes192 | aes256 } priv-password ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * · RBAC方式: snmp-agent usm-user v3 user-name user-role role-name [ remote { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] { cipher | simple } authentication-mode sha auth-password [ privacy-mode { aes128 | aes192 | aes256 } priv-password ] [ acl { ipv4-acl-number | name ipv4-acl-name } | acl ipv6 { ipv6-acl-number | name ipv6-acl-name } ] * |
當設備需要向目的主機發送SNMPv3 Inform報文時,remote參數必選 如果使用cipher參數,則後麵的auth-password和priv-password都必須輸入並被視為密文密碼 |
(可選)為通過RBAC方式創建的SNMPv3用戶添加角色 |
snmp-agent usm-user v3 user-name user-role role-name |
缺省情況下,使用創建SNMPv3用戶時指定的角色 |
(可選)創建SNMP上下文 |
snmp-agent context context-name |
缺省情況下,不存在SNMP上下文 |
(可選)配置Agent能處理的SNMP報文的最大長度 |
snmp-agent packet max-size byte-count |
缺省情況下,Agent能處理的SNMP報文的最大長度為1500 |
(可選)配置Agent接收SNMP報文的端口號 |
snmp-agent port port-num |
缺省情況下,使用161端口接收SNMP報文 |
SNMP日誌可以記錄NMS對Agent的Get請求、Set請求和Set響應信息,不能記錄Get響應信息。同時SNMP日誌可以記錄Agent對NMS的Trap和Inform操作信息以及SNMP認證失敗信息。
· 當進行Get操作時,Agent會記錄NMS用戶的IP地址、Get操作的節點名和節點OID。
· 當進行Set操作時,Agent會記錄NMS用戶的IP地址、Set操作的節點名、節點OID、節點值以及Set操作返回的錯誤碼和錯誤索引。
· 當進行Trap和Inform操作時,Agent會向NMS發送告警,Agent會記錄告警相關的信息。
· 當進行SNMP認證操作時,如果Agent收到來自NMS的SNMP請求但是沒有通過認證,Agent會記錄相關日誌。
這些日誌將被發送到設備的信息中心,並通過信息中心配置的參數,最終決定SNMP日誌的輸出規則(即是否允許輸出以及輸出方向)。SNMP每條日誌信息中記錄的node域(信息內容對應的MIB節點名)和value域(信息內容對應的MIB節點值)的長度之和不能超過1024字節,超出的部分將不會被輸出。有關信息中心的詳細介紹請參見“網絡管理和監控配置指導”中的“信息中心”。
表1-3 配置SNMP日誌功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)打開SNMP日誌開關 |
snmp-agent log { all | authfail | get-operation | set-operation } |
大量的日誌記錄會占用設備的存儲空間,影響設備的性能。正常情況下,建議關閉SNMP日誌功能。 缺省情況下,SNMP日誌開關處於關閉狀態 |
(可選)打開SNMP告警日誌開關 |
snmp-agent trap log |
缺省情況下,SNMP告警日誌功能處於關閉狀態 |
SNMP告警信息包括Trap和Inform兩種,用來告知NMS設備上發生了重要事件,比如,用戶的登錄/退出,接口狀態變成up/down等。如無特殊說明,本文中的告警信息均指Trap和Inform兩種信息。
因為告警信息通常較多,會占用設備內存,影響設備性能,所以建議用戶根據需要開啟指定模塊的告警功能,生成相應的告警信息。
如果要求接口在鏈路狀態發生改變時生成相應的告警信息,需要在全局和接口下均開啟接口鏈路狀態變化的告警功能。如果要生成其它模塊的告警信息,除了使用snmp-agent trap enable命令開啟告警功能外,還可能需要執行各個模塊的相關配置,詳情請參見各模塊的相關描述。
表1-4 開啟告警功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟SNMP告警功能 |
snmp-agent trap enable [ configuration | protocol | standard [ authentication | coldstart | linkdown | linkup | warmstart ] * | system ] |
缺省情況下,SNMP配置告警、標準告警和係統告警功能處於開啟狀態,其他各模塊告警功能是否開啟請參見各模塊手冊 |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟接口鏈路狀態變化的告警功能 |
enable snmp trap updown |
缺省情況下,接口狀態變化的告警功能處於開啟狀態 |
如果配置了snmp-agent target-host inform命令,則設備會向指定目的主機(能夠解析Trap和Inform報文的設備,通常為NMS)發送Inform報文;如果配置了snmp-agent target-host trap命令,則設備會向指定目的主機發送Trap報文,由於設備NMS收到Trap報文並不會為此發送確認信息,所以發送Trap報文比Inform報文不可靠且占用係統資源少。
對linkUp/linkDown告警信息進行私有擴展後,設備生成和發送的該信息由標準linkUp/linkDown告警信息後增加接口描述和接口類型信息構成。如果NMS不支持該擴展信息,請禁用私有擴展功能。
為了成功發送Inform報文,請確保以下兩點:
· NMS通過SNMPv2c或者SNMPv3版本對Agent進行監控管理。
· 如果要通過V3版本對Agent管理,當進行SNMPv3基礎配置時,你必須配置NMS所管理設備的引擎ID,同時在創建SNMPv3用戶時指定SNMP引擎的IP地址。
設備第一次發送告警信息時,會檢查設備和目的主機是否路由可達。如果可達,則直接發送。如果不可達,則先將告警信息緩存在消息隊列裏,等路由可達後,再發送。為防止告警信息累積占用太多內存,用戶可以配置該隊列的長度以及告警信息在隊列裏的保存時間。
· 如果在告警信息的發送隊列滿時係統又收到了新的告警信息,則係統會自動刪除最先收到的告警信息來保存新的告警信息。
· 如果告警信息的發送隊列中的某信息到達了已設定的保存時間,則係統會自動刪除該告警信息。
如果要將告警信息發送給NMS,則需要進行以下配置準備:
(1) 配置SNMP基本參數。
(2) 確保設備與NMS路由可達。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置Inform報文的發送參數 |
非FIPS模式下: snmp-agent target-host inform address udp-domain { ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params securityname security-string { v2c | v3 [ authentication | privacy ] } FIPS模式下: snmp-agent target-host inform address udp-domain { ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params securityname security-string v3 { authentication | privacy } |
缺省情況下,未配置Inform報文的目的主機 |
配置Trap報文的發送參數 |
非FIPS模式下: snmp-agent target-host trap address udp-domain { ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params securityname security-string [ v1 | v2c | v3 [ authentication | privacy ] ] FIPS模式下: snmp-agent target-host trap address udp-domain { ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vpn-instance vpn-instance-name ] params securityname security-string v3 { authentication | privacy } |
缺省情況下,未配置Trap報文的目的主機 |
(可選)配置發送的告警信息的源IP地址 |
snmp-agent { inform | trap } source interface-type { interface-number | interface-number.subnumber } |
缺省情況下,使用出接口的IP地址作為告警信息的源IP地址 |
(可選)對標準linkUp/linkDown告警信息進行私有擴展 |
snmp-agent trap if-mib link extended |
缺省情況下,係統發送的linkUp/linkDown告警信息的格式為標準格式,不對其進行私有擴展 |
(可選)配置告警信息發送隊列的長度 |
snmp-agent trap queue-size size |
缺省情況下,告警信息的消息隊列最多可以存儲100條告警信息 |
(可選)配置告警信息的保存時間 |
snmp-agent trap life seconds |
缺省情況下,告警信息的保存時間為120秒 |
在完成上述配置後,在任意視圖下執行display命令,均可以顯示配置後SNMP的運行情況,通過查看顯示信息,來驗證配置的效果。
表1-6 SNMP顯示和維護
操作 |
命令 |
顯示SNMP設備的係統信息 |
display snmp-agent sys-info [ contact | location | version ] * |
顯示SNMP報文統計信息 |
display snmp-agent statistics |
顯示本設備的SNMP引擎ID |
display snmp-agent local-engineid |
顯示SNMP組信息 |
display snmp-agent group [ group-name ] |
顯示遠端SNMP實體引擎信息 |
display snmp-agent remote [ { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] |
顯示告警信息隊列的基本信息 |
display snmp-agent trap queue |
顯示可以生成告警信息的模塊及其告警信息的使能狀態 |
display snmp-agent trap-list |
顯示SNMPv3用戶信息 |
display snmp-agent usm-user [ engineid engineid | username user-name | group group-name ] * |
顯示SNMPv1或SNMPv2c團體信息 (FIPS模式下不支持該命令) |
display snmp-agent community [ read | write ] |
顯示MIB視圖的信息 |
display snmp-agent mib-view [ exclude | include | viewname view-name ] |
顯示SNMP支持的MIB節點信息 |
display snmp-agent mib-node [ details | index-node | trap-node | verbose ] |
顯示SNMP上下文 |
display snmp-agent context [ context-name ] |
設備運行於FIPS模式時,不支持本例。
SNMPv1和SNMPv2c的配置方法相同,下麵以SNMPv1為例進行配置。
· NMS與Agent相連,設備的IP地址和掩碼如圖1-3所示。
· NMS通過SNMPv1對Agent進行監控管理,Agent在故障時能夠主動向NMS發送告警信息。
圖1-3 SNMPv1配置組網圖
(1) 配置Agent
# 配置Agent的IP地址為1.1.1.1/24,並確保Agent與NMS之間路由可達。(配置步驟略)
# 配置Agent支持SNMPv1版本、隻讀團體名為public,讀寫團體名為private。
<Agent> system-view
[Agent] snmp-agent sys-info version v1
[Agent] snmp-agent community read public
[Agent] snmp-agent community write private
# 配置設備的聯係人和位置信息,以方便維護。
[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306
[Agent] snmp-agent sys-info location telephone-closet,3rd-floor
# 開啟NMS告警功能,告警信息發送到主機1.1.1.2,使用的團體名為public。
[Agent] snmp-agent trap enable
[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname public v1
snmp-agent target-host命令中指定的版本必須和NMS上運行的SNMP版本一致,因此需要將snmp-agent target-host命令中的版本參數配置為v1。否則,NMS無法正確接收告警信息。
(2) 配置NMS
# 配置NMS使用的SNMP版本為SNMPv1,隻讀團體名為public,讀寫團體名為private。另外,還可以根據需求配置“超時”時間和“重試次數”。具體配置請參考NMS的相關手冊。
NMS側的配置必須和Agent側保持一致,否則無法通信。
(3) 結果驗證
# 通過查詢Agent上相應的MIB節點獲取NULL0接口的MTU值,結果為1500:
Send request to 1.1.1.1/161 ...
Protocol version: SNMPv1
Operation: Get
Request binding:
1: 1.3.6.1.2.1.2.2.1.4.135471
Response binding:
1: Oid=ifMtu.135471 Syntax=INT Value=1500
Get finished
# 當使用錯誤的團體名獲取Agent上的MIB節點信息時,NMS上將看到認證失敗的Trap信息,即authenticationFailure:
1.1.1.1/2934 V1 Trap = authenticationFailure
SNMP Version = V1
Community = public
Command = Trap
Enterprise = 1.3.6.1.4.1.43.1.16.4.3.50
GenericID = 4
SpecificID = 0
Time Stamp = 8:35:25.68
· NMS與Agent相連,設備的IP地址和掩碼如圖1-4所示。
· NMS通過SNMPv3隻能對Agent的SNMP報文的相關信息進行監控管理,Agent在出現故障時能夠主動向NMS發送告警信息,NMS上接收SNMP告警信息的默認UDP端口號為162。
· NMS與Agent建立SNMP連接時,需要認證,使用的認證算法為SHA-1,認證密碼為123456TESTauth&!。NMS與Agent之間傳輸的SNMP報文需要加密,使用的加密協議為AES,加密密碼為123456TESTencr&!。
圖1-4 SNMPv3配置組網圖
(1) 配置Agent
# 配置Agent的IP地址為1.1.1.1/24,並確保Agent與NMS之間路由可達。(配置步驟略)
# 創建用戶角色test並配置訪問權限:用戶隻能讀節點snmpMIB(OID為1.3.6.1.6.3.1)下的對象(本舉例驗證時會用到linkUp和linkDown節點),不可以訪問其它MIB對象。
<Agent> system-view
[Agent] role name test
[Agent-role-test] rule 1 permit read oid 1.3.6.1.6.3.1
# 配置用戶角色test具有system(OID為1.3.6.1.2.1.1)的讀權限與interfaces(OID為1.3.6.1.2.1.2)的讀寫權限,以便接口狀態變化時,Agent會向NMS發送告警信息。
[Agent-role-test] rule 2 permit read oid 1.3.6.1.2.1.1
[Agent-role-test] rule 3 permit read write oid 1.3.6.1.2.1.2
[Agent-role-test] quit
# 創建用戶RBACtest,為其綁定用戶角色test,認證算法為SHA-1,認證密碼為123456TESTauth&!,加密算法為AES,加密密碼是123456TESTencr&!。
[Agent] snmp-agent usm-user v3 RBACtest user-role test simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!
# 配置設備的聯係人和位置信息,以方便維護。
[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306
[Agent] snmp-agent sys-info location telephone-closet,3rd-floor
# 開啟NMS告警功能,告警信息發送到主機1.1.1.2,使用的用戶名為RBACtest。
[Agent] snmp-agent trap enable
[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname RBACtest v3 privacy
(2) 配置NMS
# 配置NMS使用的SNMP版本為SNMPv3,用戶名為RBACtest,啟用認證和加密功能,認證算法為SHA-1,認證密碼為123456TESTauth&!,加密協議為AES,加密密碼為123456TESTencr&!。另外,還可以根據需求配置“超時”時間和“重試次數”。具體配置請參考NMS的相關手冊。
NMS側的配置必須和設備側保持一致,否則無法進行相應操作。
(1) 配置Agent
# 配置Agent的IP地址為1.1.1.1/24,並確保Agent與NMS之間路由可達。(配置步驟略)
# 配置訪問權限:用戶隻能讀節點snmpMIB(OID為1.3.6.1.6.3.1)下的對象(本舉例驗證時會用到linkUp和linkDown節點),不可以訪問其它MIB對象。
<Agent> system-view
[Agent] undo snmp-agent mib-view ViewDefault
[Agent] snmp-agent mib-view included test snmpMIB
[Agent] snmp-agent group v3 managev3group privacy read-view test
# 配置訪問權限:配置用戶具有system(OID為1.3.6.1.2.1.1)和interfaces(OID為1.3.6.1.2.1.2)的讀寫權限,以便接口狀態變化時時,Agent會向NMS發送告警信息。(VACM方式隻能將MIB視圖中包含的所有節點配置為隻讀屬性或者讀寫屬性,不能僅配置部分節點的屬性)
[Agent] snmp-agent mib-view included test 1.3.6.1.2.1.1
[Agent] snmp-agent mib-view included test 1.3.6.1.2.1.2
[Agent] snmp-agent group v3 managev3group privacy read-view test write-view test
# 配置Agent使用的用戶名為VACMtest,認證算法為SHA-1,認證密碼為123456TESTauth&!,加密算法為AES,加密密碼是123456TESTencr&!。
[Agent] snmp-agent usm-user v3 VACMtest managev3group simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!
# 配置設備的聯係人和位置信息,以方便維護。
[Agent] snmp-agent sys-info contact Mr.Wang-Tel:3306
[Agent] snmp-agent sys-info location telephone-closet,3rd-floor
# 開啟NMS告警功能,告警信息發送到主機1.1.1.2,使用的用戶名為VACMtest。
[Agent] snmp-agent trap enable
[Agent] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname VACMtest v3 privacy
(2) 配置NMS
# 配置NMS使用的SNMP版本為SNMPv3,用戶名為VACMtest,啟用認證和加密功能,認證算法為SHA-1,認證密碼為123456TESTauth&!,加密協議為AES,加密密碼為123456TESTencr&!。另外,還可以根據需求配置“超時”時間和“重試次數”。具體配置請參考NMS的相關手冊。
NMS側的配置必須和設備側保持一致,否則無法進行相應操作。
(1) NMS使用RBACtest用戶名訪問Agent
· 可查詢sysName節點的值,返回結果為Agent。
· 設置sysName節點的值為Sysname,由於沒有權限,操作失敗。
· 在Agent上關閉或打開接口,NMS上將收到linkUP(OID為1.3.6.1.6.3.1.1.5.4)或linkDown(OID為1.3.6.1.6.3.1.1.5.3) Trap信息。
(2) NMS使用VACMtest用戶名訪問Agent
· 可查詢sysName節點的值,返回結果為Agent。
· 設置sysName節點的值為Sysname,操作成功。
· 在Agent上關閉或打開接口,NMS上將收到linkUP或linkDown Trap信息。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!