通過SNMP進行配置文件管理舉例
關鍵詞:SNMP、NMS、Agent、FTP、TFTP、當前配置、下次啟動配置文件
摘 要:NET-SNMP是SNMP協議的一套開源實現工具,可作為NMS或Agent。本文主要介紹NET-SNMP作為NMS通過SNMP協議進行配置文件管理,即實現上傳、下載、運行Agent(H3C設備)上的配置文件等操作。
縮略語:SNMP、NMS、MIB、FTP、TFTP
縮略語 | 英文全名 | 中文解釋 |
SNMP | Simple Network Management Protocol | 簡單網絡管理協議 |
NMS | Network Management System | 網絡管理係統 |
MIB | Management Information Base | 管理信息庫 |
FTP | File Transfer Protocol | 文件傳輸協議 |
TFTP | Trivial File Transfer Protocol | 一般文件傳輸協議 |
目 錄
3.1.1 hh3cCfgOperateType對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.2).. 5
3.1.2 hh3cCfgOperateProtocol對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.3).. 6
3.1.3 hh3cCfgOperateFileName對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.4).. 6
3.1.4 hh3cCfgOperateServerAddress對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.5).. 7
3.1.5 hh3cCfgOperateUserName對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.6).. 7
3.1.6 hh3cCfgOperateUserPassword對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.7).. 7
3.1.7 hh3cCfgOperateRowStatus對象(1.3.6.1.4.1.25506.2.4.1.2.4.1.9).. 7
3.2 hh3cCfgOperateResultTable. 8
3.2.1 hh3cCfgOperateResultOptIndex對象(1.3.6.1.4.1.25506.2.4.1.2.5.1.2).. 8
3.2.2 hh3cCfgOperateResultOpType對象(1.3.6.1.4.1.25506.2.4.1.2.5.1.3).. 8
3.2.3 hh3cCfgOperateState對象(1.3.6.1.4.1.25506.2.4.1.2.5.1.4).. 9
4 使用SNMP v1、v2c進行配置文件管理舉例... 9
SNMP是網絡中管理設備(NMS)和被管理設備(Agent)之間的通信規則,NMS通過Get和Set等操作獲取、設置Agent上變量的值,從而實現對Agent的遠程管理、監控。
目前市場上有多種NMS產品,其中Net-SNMP作為一種開源實現的NMS在業界被廣泛使用。它提供了一套完整的應用程序,實現了SNMPv1/v2c/v3功能。本文將描述如何使用Net-SNMP工具通過訪問MIB對象來進行配置文件管理,具體包括:
l running2Startup,將當前配置保存到下次啟動配置文件
l startup2Running,用下次啟動配置文件更新係統當前配置
l running2Net,將當前配置備份到FTP/TFTP服務器
l net2Running,將FTP/TFTP服務器上的配置文件下載到本機並立即執行
l net2Startup,將FTP/TFTP服務器上的配置文件下載到本機替代當前啟動配置文件的內容
l startup2Net,將下次啟動配置文件上傳到FTP/TFTP服務器進行配置備份
啟動配置文件是用於設備啟動的配置文件,是一係列命令的集合。將配置保存到下次啟動配置文件後,如果設備重啟,係統在啟動過程中會自動讀取、執行啟動配置文件中的配置,從而使設備迅速恢複到指定的配置狀態。
本文主要用到Net-SNMP的snmpset功能和snmpwalk功能。
l snmpset功能:即執行一次SNMP Set操作,用來設置Agent上指定MIB對象的值。命令行格式為snmpset [OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]...。
l snmpwalk功能:即執行一次SNMP Walk操作,用來獲取Agent上多個MIB對象的值。命令行格式為snmpwalk [OPTIONS] AGENT [OID]。
以上兩條命令行中,各參數的含義如下:
參數 | 說明 |
snmpset | 命令關鍵字,表示執行Set操作 |
snmpwalk | 命令關鍵字,表示執行Walk操作 |
OPTIONS | 命令行選項(常用選項請參見表1) |
AGENT | Agent的IP地址 |
OID | Agent上MIB對象的OID |
TYPE | MIB對象的類型,取值為i、u、t、a、o、s、x、d、b、n之一,本文中用到: l i表示整數(integer) l a表示IP地址(IpAddress) l s表示字符串(string) |
VALUE | 將設置的MIB對象的值 |
[OID TYPE VALUE]... | 表示一次可以設置多個變量的值,一組OID TYPE VALUE確定一個變量的值 |
選項 | 說明 | 舉例 |
-h | 顯示命令幫助信息 | -h |
-v | 設置使用的SNMP版本,取值為1、2c或3 | -v 1 |
-c | 設置團體名 | -c public |
-a | 設置認證協議類型,取值為MD5或SHA | -a MD5 |
-A | 設置認證密碼 | -A 12345678 |
-e | 設置安全引擎ID | -e 800063A203000056000000 |
-u | 設置用戶名 | -u v3user |
-x | 設置加密協議類型,取值為DES | -x DES |
-X | 設置加密密碼 | -X 12345678 |
-m | 加載MIB列表,取值為MIB文件名(取值為ALL時表示加載所有文件) | -m ALL 或-m d:/net-snmp/xxx.mib |
-M | 指定MIB文件所在目錄列表 | -M d:/nets-snmp |
本文使用的Net-SNMP工具來自於http://www.net.snmp.org/,關於這個工具的詳細介紹,請訪問該網站。
本文通過訪問H3C私有MIB來實現配置文件管理。如果想要通過對象的名稱訪問這些節點,在訪問前需要先通過H3C網站將相關MIB文件下載到NMS上,並在NMS上編譯這些文件。如果不編譯相關MIB文件,則隻能通過對象OID進行訪問。
相關的MIB文件包括:rfc2578.sm2、rfc2579.sm2、rfc2580.sm2、hh3c-oid.mib或huawei-3com-oid.mib、hh3c-config-man.mib或h3c-config-man.mib。其中,
l rfc2578.sm2、rfc2579.sm2、rfc2580.sm2、hh3c-oid.mib是為編譯hh3c-config-man.mib服務的;
l rfc2578.sm2、rfc2579.sm2、rfc2580.sm2、huawei-3com-oid.mib是為編譯h3c-config-man.mib服務的;
l 實際訪問的是hh3c-config-man.mib或h3c-config-man.mib中的對象。
hh3c-oid.mib和hh3c-config-man.mib是H3C new風格的MIB文件,huawei-3com-oid.mib和h3c-config-man.mib是H3C compatible風格的MIB文件。使用哪個MIB文件由設備當前的MIB風格決定。在Agent上使用display mib-snmp命令查看設備的MIB風格,如果“Current MIB style”顯示為:
l new,則表示設備當前使用H3C new風格的MIB文件。
l compatible,則表示設備當前使用H3C compatible風格的MIB文件。
H3C new風格的MIB文件中的節點名稱全部以hh3c開頭,OID全部以1.3.6.1.4.1.25506開頭;H3C compatible風格的MIB文件中的節點名稱全部以h3c開頭,OID全部以1.3.6.1.4.1.2011.10開頭。比如hh3c-config-man.mib中的節點hh3cCfgOperateType(OID為1.3.6.1.4.1.25506.2.4.1.2.4.1.2),h3c-config-man.mib中的節點h3cCfgOperateType(OID為1.3.6.1.4.1.2011.10.2.4.1.2.4.1.2),它們指的都是設備上的同一個變量,隻是MIB風格不同而已。
鑒於當前設備缺省情況下均采用H3C New風格的MIB文件,所以,下麵將重點介紹與配置文件管理密切相關的hh3c-config-man.mib文件中MIB節點。
該表主要實現通過SNMP進行NMS和設備之間的配置文件操作。
hh3cCfgOperateTable是一個操作表,表中定義了多個列對象。每個列對象下可以包含多個實體,實體的OID為“列對象OID.n”,n為實體編號,實體不同,n的取值不同。實體編號由用戶指定,隻要與當前編號不衝突即可。相同編號的實體屬於同一行,行索引即為實體編號。通過定義行狀態可以對該行的所有實體進行一次操作。
hh3cCfgOperateTable中定義了多個MIB對象,與配置文件管理相關的主要有如下幾個:
對象名稱 | hh3cCfgOperateType |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.2 |
對象描述 | 指定配置文件操作類型,比如running2Startup、startup2Running等 |
備注 | 該對象取值的具體含義,請參見0 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
表2 hh3cCfgOperateType取值描述表
取值 | 操作 | 描述 |
1 | running2Startup | l 把當前運行的配置保存到下次啟動配置文件中,相當於執行save命令。 l 如果下次啟動配置文件不存在,則創建一個默認的配置文件並把當前配置保存到其中(不同型號的產品創建的文件的名稱可能不同) |
2 | startup2Running | 用下次啟動配置文件更新係統當前配置,即執行該配置文件中的內容。如果當前啟動的配置文件不存在,則操作失敗並返回13(opFileOpenError)錯誤碼 |
3 | running2Net | 把當前係統運行的配置通過網絡發送到遠端服務器指定位置的文件中 |
4 | net2Running | 用從網絡上通過某種文件傳輸協議獲取的配置文件更新當前係統的配置,即在Agent上執行一次該配置文件 |
5 | net2Startup | 用從網絡上通過某種文件傳輸協議獲取的配置文件替代當前啟動配置文件的內容,並將該文件設置為下次啟動配置文件。如果當前啟動的配置文件不存在,則創建一個默認的配置文件來保存傳過來的文件內容(不同型號的產品創建的文件的名稱可能不同) |
6 | startup2Net | 把下次啟動配置文件通過某種文件傳輸協議傳送到網絡上指定的位置。如果當前啟動的配置文件不存在,則操作失敗並返回13(opFileOpenError)錯誤碼 |
對象名稱 | hh3cCfgOperateProtocol |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.3 |
對象描述 | 指定文件傳輸協議,不指定該對象的值時使用FTP協議 |
備注 | 該對象取值可能為: l 1:表示使用FTP協議 l 2:表示使用TFTP協議 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
對象名稱 | hh3cCfgOperateFileName |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.4 |
對象描述 | 指定配置文件名 |
備注 | 如果hh3cCfgOperateType對象值為3、4或者5,則必須指定文件名(可以包含文件的路徑)。 l 如果hh3cCfgOperateType對象值為3,則hh3cCfgOperateFileName的值為目的文件名 l 如果hh3cCfgOperateType對象值為4或者5,則hh3cCfgOperateFileName的值為待傳輸源文件的文件名 其它情況無需指定文件名 |
對象類型 | 列對象(該對象下生成的實體對象的類型為string) |
對象名稱 | hh3cCfgOperateServerAddress |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.5 |
對象描述 | 指定FTP/TFTP服務器的IP地址 |
備注 | l 如果hh3cCfgOperateType對象值為3、4、5或者6,必須指定服務器IP地址,不能為全0和全F l 其它情況下無需指定IP地址 |
對象類型 | 列對象(該對象下生成的實體對象的類型為IpAddress) |
對象名稱 | hh3cCfgOperateUserName |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.6 |
對象描述 | 指定FTP用戶名 |
備注 | 如果hh3cCfgOperateType對象值為3、4、5或者6,並且hh3cCfgOperateProtocol的值為1,需要使用該對象來指定登錄的用戶名 |
對象類型 | 列對象(該對象下生成的實體對象的類型為string) |
對象名稱 | hh3cCfgOperateUserPassword |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.7 |
對象描述 | 指定hh3cCfgOperateUserName中用戶對應的密碼 |
備注 | 如果hh3cCfgOperateType對象值為3、4、5或者6,並且hh3cCfgOperateProtocol的值為1,需要使用該對象來指定登錄的用戶密碼 |
對象類型 | 列對象(該對象下生成的實體對象的類型為string) |
對象名稱 | hh3cCfgOperateRowStatus |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.4.1.9 |
對象描述 | 配置hh3cCfgOperateTable表中每一行的狀態 |
備注 | 取值可能為: l 1:active,表示Agent可以使用該行 l 2:notInService,表示Agent可以使用該行,與行一致性等因素無關 l 3:notReady,表示行已經創建,但因為缺乏重要信息而不可用 l 4:creatAndGo,表示創建一行,並立即執行 l 5:creatAndWait,表示創建一行,但不立即執行。可以將行狀態手工設置為active,來觸發執行 l 6:destroy,表示刪除一行 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
該表用來記錄hh3cCfgOperateTable中定義的操作的執行結果。通過hh3cCfgOperateTable執行一個操作後,hh3cCfgOperateResultTable中就會創建一行。該行對應的各列中分別記錄hh3cCfgOperateTable操作的實體編號(即hh3cCfgOperateTable中的行索引)、操作類型、操作結果等。hh3cCfgOperateResultTable中每行的編號由係統自動生成,從1開始遞增。
hh3cCfgOperateResultTable中定義了多個MIB對象,與配置文件管理相關的主要有如下幾個:
對象名稱 | hh3cCfgOperateResultOptIndex |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.5.1.2 |
對象描述 | 表示該行對應的hh3cCfgOperateTable中的行索引 |
備注 | 無 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
對象名稱 | hh3cCfgOperateResultOpType |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.5.1.3 |
對象描述 | 記錄對應hh3cCfgOperateTable中的操作類型 |
備注 | 無 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
對象名稱 | hh3cCfgOperateState |
對象OID | 1.3.6.1.4.1.25506.2.4.1.2.5.1.4 |
對象描述 | 記錄對應操作的結果 |
備注 | 該對象取值可能為: l 1:opInProgress,表示當前操作正在進行。如果涉及讀寫設備Flash等需要較長時間的操作,會返回該狀態; l 2:opSuccess,表示操作成功完成; l 其它值表示操作失敗 |
對象類型 | 列對象(該對象下生成的實體對象的類型為integer) |
使用SNMP v1或者v2c版本配置基本相同,本文以SNMP v1為例。如果網絡上運行的SNMP是v2c版本的,則隻需將本舉例中-v參數的值改為2c即可。
l 網管工作站(NMS)與設備(Agent)通過以太網相連。
l FTP/TFTP服務器,提供文件上傳和下載服務。
l NMS上運行Net-SNMP軟件,要求在NMS上通過SNMP v1、團體名private對Agent進行配置文件管理。
圖1 通過SNMP進行配置文件管理組網圖
l 在Agent上配置接口參數:指定接口的IP地址,保證Agent和NMS路由的可達。
l Agent上需要完成SNMP功能基本配置(包括SNMP的版本、SNMP團體名),使得NMS和Agent之間可以互訪。
l 查看Agent支持的MIB風格,確定需要使用的MIB對象。
l 將Net-SNMP軟件中的snmpset.exe和snmpwalk.exe文件放到NMS的C:\usr\bin路徑下,通過MIB對象進行配置文件管理。
l 如果使用FTP協議傳輸文件,需要在FTP server上運行FTP服務器軟件,配置用戶名和密碼;如果使用TFTP協議傳輸文件,需要在TFTP server上運行TFTP服務器軟件。(使用FTP協議時需要將1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值設為1,還需要設置用戶名和密碼;使用TFTP協議時隻需要將1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值設為2,不需要設置用戶名和密碼。本舉例使用FTP傳輸協議)
# 本舉例采用H3C設備作為FTP server,需要在FTP server上使能FTP server功能,配置FTP用戶(假設為ftp),密碼(假設為123123123123)等參數。
<System> system-view
[System] local-user ftp
[System-luser-ftp] password simple 123123123123
[System-luser-ftp] authorization-attribute level 3
[System-luser-ftp] service-type ftp
# 配置Agent的IP地址為192.168.1.40/24,並確保Agent與NMS之間路由可達。
l 如果Ethernet1/1是三層接口,請進行以下配置:
<Sysname> system-view
[Sysname] interface ethernet 1/1
[Sysname-Ethernet1/1] ip address 192.168.1.40 24
[Sysname-Ethernet1/1] quit
l 如果Ethernet1/1是二層接口,請進行以下配置:
<Sysname> system-view
[Sysname] vlan 2
[Sysname-vlan2] port Ethernet 1/1
[Sysname-vlan2] quit
[Sysname] interface vlan-interface 2
[Sysname-Vlan-interface2] ip address 192.168.1.40 24
[Sysname-Vlan-interface2] quit
# 配置SNMP版本。為了防止Agent和NMS因為版本問題導致不能建立SNMP連接,建議將版本參數配置為all,表示支持v1、v2c、v3三個版本。
<Sysname> system-view
[Sysname]snmp-agent sys-info version all
# 配置可讀屬性團體名均為public,配置可寫屬性團體名均為private。
[Sysname] snmp-agent community read public
[Sysname] snmp-agent community write private
# 查看設備當前支持的MIB文件風格,以便決定使用哪些MIB對象。
[Sysname] display mib-style
Current MIB style: new
Next reboot MIB style: new
以上顯示信息表明,設備當前支持的MIB文件風格為new,所以使用根節點為1.3.6.1.4.1.25506的MIB對象。(如果Current MIB style顯示為compatible,則下麵的配置步驟中需要將1.3.6.1.4.1.25506替換為1.3.6.1.4.1.2011.10即可)
(1) 將當前運行的配置信息保存到下次啟動配置文件(running2Startup)
C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 i 4
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 = INTEGER: 4
# 通過snmpwalk命令查看保存操作的執行情況。
C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (245) 0:00:02.45
iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (214998) 0:35:49.98
以上顯示信息表明此次running2Startup操作成功。
(2) 將當前運行的配置信息備份到FTP服務器(running2Net)
# 使用FTP協議將Agent上的當前配置備份到FTP server(192.168.1.46),用戶名為ftp,密碼為123,文件名為aa.cfg。
C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.2 i 3 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.2 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.2 s aa.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.2 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.2 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.2 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.2 i 4
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.2 = INTEGER: 3
iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.2 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.2 = STRING: "aa.cfg"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.2 = IpAddress: 192.168.1.46
iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.2 = STRING: "ftp"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.2 = STRING: "123123123123"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.2 = INTEGER: 4
# 可以通過snmpwalk命令查看上述配置操作的執行情況:
C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 3
iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (243) 0:00:02.43
iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (181608) 0:30:16.08
以上顯示信息表明此次running2Net操作成功。
也可以在FTP server(192.168.1.46)上使用dir命令查看是否有文件aa.cfg,再使用more aa.cfg命令查看文件的內容是否正確,來驗證操作是否成功。
(3) 將FTP服務器上的配置文件恢複到設備中並執行該配置文件(net2Running)
C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.3 i 4 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.3 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.3 s test.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.3 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.3 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.3 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.3 i 4
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.3 = INTEGER: 4
iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.3 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.3 = STRING: "test.cfg"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.3 = IpAddress: 192.168.1.46
iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.3 = STRING: "ftp"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.3 = STRING: "123123123123"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.3 = INTEGER: 4
# 可以通過snmpwalk命令查看上述配置操作的執行情況:
C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 3
iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 4
iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (1083) 0:00:10.83
iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (470443) 1:18:24.43
以上顯示信息表明表示此次net2Running操作成功。
在Agent(192.168.1.40)上使用display current-configuration命令可以看到Agent當前運行的配置不但包括Agent當前啟動配置文件中的配置還包括test.cfg文件中的配置。
(4) 將FTP服務器上的配置文件test.cfg恢複到設備的Flash中(net2Startup)
# 將Agent上當前配置文件的內容替換為test.cfg文件的內容,並將當前配置文件指定為下次啟動配置文件。
C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.4 i 5 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.4 s test.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.4 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.4 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.4 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.4 i 4
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.4 = INTEGER: 5
iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.4 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.4 = STRING: "test.cfg"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.4 = IpAddress: 192.168.1.46
iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.4 = STRING: "ftp"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.4 = STRING: "123123123123"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.4 = INTEGER: 4
# 可以通過snmpwalk命令查看上述配置操作的執行情況:
C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 4
iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 5
iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (264) 0:00:02.64
iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (418007) 1:09:40.07
以上顯示信息表明此次net2Startup操作成功。
在Agent(192.168.1.40)上使用more命令可以看到當前配置文件的內容與test.cfg的內容一致,使用display startup命令可以看到下次啟動配置文件與當前配置文件一致。
(5) 將設備Flash中的啟動配置文件備份到FTP服務器(startup2Net)
C:\usr\bin> snmpset -v 1 -c private 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.5 i 6 1.3.6.1.4.1.25506.2.4.1.2.4.1.3.5 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.4.5 s bb.cfg 1.3.6.1.4.1.25506.2.4.1.2.4.1.5.5 a 192.168.1.46 1.3.6.1.4.1.25506.2.4.1.2.4.1.6.5 s ftp 1.3.6.1.4.1.25506.2.4.1.2.4.1.7.5 s 123123123123 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.5 i 4
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.4.1.2.5 = INTEGER: 6
iso.3.6.1.4.1.25506.2.4.1.2.4.1.3.5 = INTEGER: 1
iso.3.6.1.4.1.25506.2.4.1.2.4.1.4.5 = STRING: "bb.cfg"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.5.5 = IpAddress: 192.168.1.46
iso.3.6.1.4.1.25506.2.4.1.2.4.1.6.5 = STRING: "ftp"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.7.5 = STRING: "123123123123"
iso.3.6.1.4.1.25506.2.4.1.2.4.1.9.5 = INTEGER: 4
# 可以通過snmpwalk命令查看上述配置操作的執行情況:
C:\usr\bin> snmpwalk -v 1 -c public 192.168.1.40 1.3.6.1.4.1.25506.2.4.1.2.5.1
將返回下麵的響應信息:
iso.3.6.1.4.1.25506.2.4.1.2.5.1.2.1 = INTEGER: 5
iso.3.6.1.4.1.25506.2.4.1.2.5.1.3.1 = INTEGER: 6
iso.3.6.1.4.1.25506.2.4.1.2.5.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.25506.2.4.1.2.5.1.5.1 = Timeticks: (11) 0:00:00.11
iso.3.6.1.4.1.25506.2.4.1.2.5.1.6.1 = Timeticks: (356309) 0:59:23.09
以上顯示信息表明此次startup2Net操作成功。
也可以在FTP server(192.168.1.46)上使用dir命令查看是否有文件bb.cfg,再使用more bb.cfg命令查看文件的內容是否正確,來驗證操作是否成功。
l 網管工作站(NMS)與設備(Agent)通過以太網相連。
l FTP/TFTP服務器,提供文件上傳和下載服務。
l NMS上運行Net-SNMP軟件,要求在NMS上通過SNMP v3、用戶名v3user(認證方式為MD5,認證密碼為aaaaaaaaaa,加密算法為DES56,加密密碼是bbbbbbbbbb)對Agent進行配置文件管理。
圖2 通過SNMP進行配置文件管理組網圖
l 在Agent上配置接口參數:指定接口的IP地址,保證Agent和NMS路由的可達。
l Agent上需要完成SNMP功能基本配置(包括SNMP的版本、組、用戶、認證和加密參數),使得NMS和Agent之間可以互訪。
l 查看Agent支持的MIB風格,確定需要使用的MIB對象。
l 將Net-SNMP軟件中的snmpset.exe和snmpwalk.exe文件放到NMS的C:\usr\bin路徑下,通過MIB對象進行配置文件管理。
l 如果使用FTP協議傳輸文件,需要在FTP server上運行FTP服務器軟件,配置用戶名和密碼;如果使用TFTP協議傳輸文件,需要在TFTP server上運行TFTP服務器軟件。(使用FTP協議時需要將1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值設為1,還需要設置用戶名和密碼;使用TFTP協議時隻需要將1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4值設為2,不需要設置用戶名和密碼。本舉例使用FTP傳輸協議)
# 本舉例采用H3C設備作為FTP server,需要在FTP server上使能FTP server功能,配置FTP用戶(假設為ftp),密碼(假設為123123123123)等參數。
<System> system-view
[System] local-user ftp
[System-luser-ftp] password simple 123123123123
[System-luser-ftp] authorization-attribute level 3
[System-luser-ftp] service-type ftp
# 配置Agent的IP地址為192.168.1.40/24,並確保Agent與NMS之間路由可達。
l 如果Ethernet1/1是三層接口,請進行以下配置:
<Sysname> system-view
[Sysname] interface ethernet 1/1
[Sysname-Ethernet1/1] ip address 192.168.1.40 24
[Sysname-Ethernet1/1] quit
l 如果Ethernet1/1是二層接口,請進行以下配置:
<Sysname> system-view
[Sysname] vlan 2
[Sysname-vlan2] port Ethernet 1/1
[Sysname-vlan2] quit
[Sysname] interface vlan-interface 2
[Sysname-Vlan-interface2] ip address 192.168.1.40 24
[Sysname-Vlan-interface2] quit
# 配置SNMP版本。為了防止Agent和NMS因為版本問題導致不能建立SNMP連接,建議將版本參數配置為all,表示支持v1、v2c、v3三個版本。
<Sysname> system-view
[Sysname]snmp-agent sys-info version all
# 設置SNMP參數:使用的用戶名為v3user,認證方式為MD5,認證密碼為aaaaaaaaaa,加密算法為DES56,加密密碼是bbbbbbbbbb。
l 根據實際需要,用戶可以自行選擇是否對交互的SNMP報文進行認證,是否對交互的SNMP報文進行加密,本舉例采用的是既認證又加密;
l 為了讓設置的認證、加密密碼在設備重啟後能夠繼續生效,這裏先將明文密碼加密,然後在創建用戶時直接使用加密後的密碼進行配置。
[Sysname] snmp-agent calculate-password aaaaaaaaaa mode md5 local-engineid
The secret key is: 17CED5A1298DF35A643D81EC14E0E816
[Sysname] snmp-agent calculate-password bbbbbbbbbb mode md5 local-engineid
The secret key is: 5D3250992503990147EEB03B04CF2190
[Sysname] snmp-agent group v3 test
[Sysname] snmp-agent usm-user v3 v3user test cipher authentication-mode md5 17CED5A1298DF35A643D81EC14E0E816 privacy-mode des56 5D3250992503990147EEB03B04CF2190
請參見4.3.3 配置NMS。隻需要將配置步驟中的“snmpset -v 1 -c private”替換為“snmpset -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb”、“snmpwalk -v 1 -c private”替換為“snmpwalk -v 3 -a MD5 -A aaaaaaaaaa -u v3user -x DES -X bbbbbbbbbb”即可。
Copyright © 2009 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。