本文說明如何在Catalyst作業系統(CatOS)的交換器和UNIX上使用簡易網路管理通訊協定(SNMP)的簡單檔案傳輸通訊協定(TFTP)伺服器之間移動組態檔和系統軟體映像。
確認您可以從Catalyst交換器對TFTP伺服器的IP位址執行Ping:
Cat6509> (enable) ping 171.68.191.135 !!!!! ----171.68.191.135 PING Statistics---- 5 packets transmitted, 5 packets received, 0% packet loss round-trip (ms) min/avg/max = 2/2/2
這些步驟如下:
不適用於基於Cisco IOS®軟體的Catalyst交換器,例如Catalyst 2900/3500XL系列。
不適用於搭載Cisco IOS軟體的Catalyst 6000系列MSFC和MSFC2模組。
如果交換器上未設定或知道SNMP讀取/寫入社群字串,則不適用。有關如何設定SNMP社群字串的詳細程式,請參閱如何設定SNMP社群字串。
基於NET-SNMP (先前稱為UCD-SNMP)實用程式的命令列語法。如果您有某些其他SNMP應用程式(例如HP Open View或NetView),則語法可能與這些範例不同。
基於CISCO-STACK-MIB,自初始管理引擎模組軟體版本起,Catalyst OS一直支援該功能。請參閱Cisco.com上的產品支援的MIB頁面,驗證您的交換器是否支援CISCO-STACK-MIB。使用此MIB中的以下MIB對象:
MIB對象名稱 | OID |
tftp主機 | .1.3.6.1.4.1.9.5.1.5.1 |
tftp檔案 | .1.3.6.1.4.1.9.5.1.5.2 |
tftp模組 | .1.3.6.1.4.1.9.5.1.5.3 |
tftpAction | .1.3.6.1.4.1.9.5.1.5.4 |
tftpResult | .1.3.6.1.4.1.9.5.1.5.5 |
有關這些MIB對象及定義的詳細資訊,請參閱附錄A。
本檔案中的資訊是根據僅執行Catalyst OS軟體的交換器。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
在所有範例中,以下值均用於說明:
採用CatOS的Catalyst 6509交換器
172.16.99.66 = Catalyst 6509交換機的IP地址
private = SNMP讀取/寫入社群字串。使用交換器上設定的讀取/寫入字串。在交換器CLI上使用show snmp命令驗證這點。
public = SNMP唯讀社群字串。使用交換器上設定的唯讀字串。在交換器CLI上使用show snmp命令驗證這點。
171.68.191.135 = TFTP伺服器的IP地址
以下是這些範例中snmpset和snmpwalk命令的語法:
snmpset [options...] <hostname> {<community>} [<objectID> <type> <value> ...] snmpwalk [options...] <hostname> {<community>} [<objectID>]
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
這些步驟將指導您完成複製配置檔案的過程。
請完成以下步驟:
在TFTP伺服器/tftpboot目錄中建立一個新檔案switch-config。在UNIX上,使用以下語法:觸控<filename>。
touch switch-config
將檔案的許可權更改為777。使用以下語法:chmod <permissions> <filename> 。
chmod 777 switch-config
使用tftpHost MIB對象定義TFTP伺服器的IP地址:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
使用tftpFile MIB對象,定義用於複製配置的TFTP檔名:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config enterprises.9.5.1.5.2.0 = switch-config
在Catalyst交換機上選擇將傳送配置的模組,以及tftpModule MIB對象。選擇Supervisor模組,而不是MSFC或MSFC2模組,否則它將失敗。在交換機CLI上使用show module命令驗證snmpset命令的正確模組編號。典型輸出為:
Mod Slot Ports Module-Type Model Sub Status --- ---- ----- ------------------------- ------------------- --- -------- 2 2 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok 16 2 1 Multilayer Switch Feature WS-F6K-MSFC no OK .... --<snip>--
在輸出範例中,Supervisor模組編號為2,位於插槽編號2中。使用2定義tftpModule MIB對象:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
使用tftpAction MIB對象定義要從TFTP伺服器傳輸到交換機的交換機配置檔案,其MIB對象值為2 = downloadConfig。請參閱附錄A中的MIB對象詳細資訊:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 2 enterprises.9.5.1.5.4.0 = 2
要驗證這些操作的結果,請執行以下步驟:
輪詢tftpGrp(.1.3.6.1.4.1.9.5.1.5)MIB對象,並將結果與附錄A:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "switch-config" !--- name of the switch configuration file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 2 !--- TFTP action. 2 = Download configuration from TFTP server to the switch enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
輪詢tftpResult MIB對象,並將輸出與附錄A中的MIB對象詳細信息進行比較:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
如果下載成功,則MIB對象輸出等於2(或成功)。 如果您收到其他一些輸出,請將其與tftpResult對象的附錄A進行比較,然後採取適當的步驟。
這些步驟將指導您完成複製配置檔案的過程。
請完成以下步驟:
在TFTP伺服器/tftpboot目錄中建立一個新檔案switch-config。在UNIX上,使用以下語法:觸控<filename>。
touch switch-config
使用以下語法將檔案的許可權變更為777:chmod <permissions> <filename> 。
chmod 777 switch-config
使用tftpHost MIB對象定義TFTP伺服器的IP地址。語法為:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
使用tftpFile MIB對象,定義用於複製配置的TFTP檔名:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config enterprises.9.5.1.5.2.0 = switch-config
在Catalyst交換機上選擇將傳送配置的模組,以及tftpModule MIB對象。選擇Supervisor模組,而不是MSFC或MSFC2模組,否則它將失敗。在交換機CLI上使用show module命令驗證snmpset命令的正確模組編號。典型輸出為:
Mod Slot Ports Module-Type Model Sub Status --- ---- ----- ------------------------- ------------------- --- -------- 2 2 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok 16 2 1 Multilayer Switch Feature WS-F6K-MSFC no OK .... --<snip>--
在輸出示例中,Supervisor模組編號為2,位於插槽編號2中。使用2定義tftpModule MIB對象:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
使用tftpAction MIB對象定義交換機配置檔案將從TFTP伺服器傳輸到交換機,MIB對象值為3 = uploadConfig。請參閱附錄A中的MIB對象詳細資訊:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 3 enterprises.9.5.1.5.4.0 = 3
要驗證這些操作的結果,請執行以下步驟:
輪詢tftpGrp(.1.3.6.1.4.1.9.5.1.5)MIB對象,並將結果與附錄A:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "switch-config" !--- name of the switch configuration file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 1 !--- TFTP action enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Succes
輪詢tftpResult MIB對象,並將輸出與附錄A中的MIB對象詳細信息進行比較:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0= 2 !--- Result of the TFTP action, 2 = Success
如果下載成功,則MIB對象輸出等於2(或成功)。 如果您收到其他一些輸出,請將其與tftpResult對象的附錄A進行比較,然後採取適當的步驟。
附註: 此程式會從交換機傳輸預設和非預設配置,如啟用模式下交換機CLI上show config all命令的輸出所示。交換器上的show config命令僅顯示非預設設定。
以下步驟將指導您完成複製軟體映像的過程。
請完成以下步驟:
下載正確的Supervisor映像檔案,並將其放在TFTP伺服器的/tftpboot目錄中。在本例中,圖示使用cat6000-sup.5-4-2a.bin。
使用以下語法將檔案的許可權變更為777:chmod <permissions> <filename>。
chmod 777 cat6000-sup.5-4-2a.bin
定義使用tftpHost MIB對象的TFTP伺服器的IP地址:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
定義用於複製映像檔案的TFTP檔案名稱:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s cat6000-sup.5-4-2a.bin enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin"
在此範例中,Supervisor模組編號為2,且位於插槽編號2中,如show module指令輸出所示。使用2定義tftpModule MIB對象:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
這表示在TFTP伺服器上/tftpboot目錄中存在的CatOS映像已傳輸到Supervisor模組快閃記憶體,如show flash指令的輸出所示。
使用tftpAction MIB對象定義映像檔案已從TFTP伺服器傳輸到交換機,且MIB對象值為4 = downloadSw。請參閱附錄A中的MIB對象詳細資訊:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 4 enterprises.9.5.1.5.4.0 = 4
要驗證此操作的結果,請執行以下步驟:
輪詢tftpGrp(.1.3.6.1.4.1.9.5.1.5)MIB對象,並將結果與附錄A:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin" !--- name of the switch image file enterprises.9.5.1.5.3.0 = 0 enterprises.9.5.1.5.4.0 = 4 !--- TFTP action, 4 = downloadSw enterprises.9.5.1.5.5.0 = 1 !--- Result of the TFTP action, 1 = In Process
註:最後一個條目顯示影象傳輸正在進行。請等待幾分鐘,然後再次輪詢tftpResult MIB對象,以驗證該對象是否已成功傳輸。此步驟可能需要幾分鐘才能完成,具體取決於映像檔案大小(位元組)。 映像傳輸過程中,如果在交換器上發出show flash指令,將會看到:
Cat6509> (enable) show flash TFTP session in progress. Try again later.
輪詢tftpResult MIB對象,並將輸出與附錄A中的MIB對象詳細信息進行比較:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
如果下載成功,則MIB對象輸出等於2(或成功)。 如果您收到其他輸出,請將其與tftpResult對象的附錄A進行比較,然後執行適當的步驟。
映像傳輸成功完成後,請確認映像檔案的大小(位元組)是否與show flash指令輸出中顯示的TFTP伺服器檔案大小(此範例中為cat6000-sup.5-4-2a.bin)相符。
以下步驟將指導您完成複製軟體映像的過程。
請完成以下步驟:
在TFTP伺服器的/tftpboot目錄中,建立一個新的檔案image.bin。在UNIX上,使用以下語法:觸控<filename>。使用.bin 作為檔案擴充模組。
touch image.bin
使用語法將檔案的許可權更改為777:chmod <permissions> <filename>。
chmod 777 image.bin
使用tftpHost MIB對象定義TFTP伺服器的IP地址:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
定義將映像檔案與tftpFile MIB對象一起複製時使用的TFTP檔名:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s image.bin enterprises.9.5.1.5.2.0 = "image.bin"
在此範例中,Supervisor模組編號為2,且位於插槽編號2中,如show module指令輸出所示。使用2定義tftpModule MIB對象:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
這表示在快閃記憶體中的Supervisor模組上執行的CatOS映像已傳輸到TFTP伺服器,如show flash指令的輸出所示。
使用tftpAction MIB對象定義映像檔案已從TFTP伺服器傳輸到交換機,且MIB對象值為5 = uploadSw。請參閱附錄A中的MIB對象詳細資訊:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 5 enterprises.9.5.1.5.4.0 = 5
要驗證這些操作的結果,請執行以下步驟:
輪詢tftpGrp(.1.3.6.1.4.1.9.5.1.5)MIB對象,並將結果與附錄A:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "image.bin" !--- name of the switch image file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 5 !--- TFTP action, 5 = uploadSw enterprises.9.5.1.5.5.0 = 1 !--- Result of the TFTP action, 1 = In Process
註:最後一個條目顯示影象傳輸正在進行。請等待幾分鐘,然後再次輪詢tftpResult MIB對象,以驗證該對象是否已成功傳輸。此步驟可能需要幾分鐘才能完成,具體取決於映像檔案大小(位元組)。
輪詢tftpResult MIB對象,並將輸出與附錄A中的MIB對象詳細信息進行比較:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 --> Result of the TFTP action, 2 = Success
如果下載成功,則MIB對象輸出等於2(或成功)。 如果您收到其他輸出,請將其與tftpResult對象的附錄A進行比較,然後執行適當的步驟。
映像傳輸成功完成後,請確認映像檔案大小(位元組)是否與TFTP伺服器(image.bin ,在本範例中)中檔案的show flash指令輸出中所示的相符。
注意:如果快閃記憶體中有多個映像(show flash),則只有引導了Supervisor模組的映像才會通過此過程傳輸到TFTP伺服器。使用show boot命令以檢視BOOT變數=,該變數顯示Supervisor模組使用快閃記憶體中的哪個映像進行啟動。如需詳細資訊,請參閱在Catalyst交換器上升級軟體映像和使用組態檔。
注意:這些指令碼僅作為示例提供,而Cisco Systems並不以任何方式支援它們。
在交換機上自動執行配置檔案和Cisco IOS遷移的指令碼
#!/bin/sh # Script to automate config file & IOS migration of switches # supporting STACK-MIB including 5000, 5500, 1400, 2900, 1200 if [ ! -f SW ] ; then echo echo "File SW does not exist!!!" echo echo "Syntax is 'switch.sh'" echo "where each line in file SW lists:" echo "Switchname Filename Serverip Module# Moduleaction Community" echo echo "Switchname must resolve" echo "Filename must exist in server tftpboot directory 777" echo "Serverip is the ip of the server for the file" echo "Module# is usually '1'" echo "Module action is as per STACK-MIB: " echo "- 2 - config file - server > switch" echo "- 3 - config file - switch > server" echo "- 4 - software image - server > switch" echo "- 5 - software image - switch > server" echo "Community is *write* community" echo exit fi cat SW | while read SW do SWNAME=\Qecho $SW | cut -d' ' -f 1\Q FILE=\Qecho $SW | cut -d' ' -f 2\Q SERVER=\Qecho $SW | cut -d' ' -f 3\Q MODULE=\Qecho $SW | cut -d' ' -f 4\Q ACTION=\Qecho $SW | cut -d' ' -f 5\Q CMTY=\Qecho $SW | cut -d' ' -f 6\Q echo echo $SWNAME echo $FILE echo $SERVER echo $MODULE echo $ACTION echo $CMTY echo # '-t #' can be modified to adjust timeout snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.1.0 octetstring $SERVER sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.2.0 octetstring $FILE sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.3.0 integer $MODULE sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.4.0 integer $ACTION sleep 60 echo echo Check Progress... echo echo echo "Switch $SWNAME: \\c"; snmpget -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.5.0 | cut -d":" -f 3 done
交換機期望指令碼在交換機上執行特定命令
#!/usr/nms/bin/expect # Above line points to your expect interpreter # Add '-d' option to expect line above to enable debugging # Tested on Cat5000 with regular login; no error-checking # except for number arguments, but will timeout on failure. # Tacacs+ lines left in for future releases set argc [llength $argv] if { $argc < 4} { puts "Syntax is:" puts "(For system with no Tac+)" puts "switch.exp destination \"command\" vtypassword enapassword" exit 0 } set destination [lindex $argv 0] puts -nonewline "Where we're going: " puts $destination set command [lindex $argv 1] puts -nonewline "What we're doing: " puts $command set vtypassword [lindex $argv 2] puts -nonewline "What our password is (vty): " puts $vtypassword set enapassword [lindex $argv 3] puts -nonewline "What our password is (enable): " puts $enapassword # username only for Tac+ set username [lindex $argv 4] puts -nonewline "What our username is if Tac+: " puts $username # set timeout 10 spawn telnet $destination expect { "Enter password:" { send "$vtypassword\r" } "Username:" { send "$username\r" exec sleep 1 expect "Password:" send "$vtypassword\r" } } # Look for non-enable router 'prompt>' expect -re "(^.*)(\r\n\[^ \]+> \$)" # Get into enable mode send "en\r" expect { "password: " { send "$enapassword\r" } "Username:" { send "$username\r" exec sleep 1 expect "Password:" send "$enapassword\r" } } # Look for enable router 'prompt#' expect -re "(^.*)(\r\n\[^ \]+(enable) \$)" # Send the command send "$command\r" expect { -re "(^.*)(\r\n\[^ \]+ (enable) \$)" { append buffer $expect_out(1,string) } -re "(^.*)(\r\n\ --More-- \$)" { append buffer $expect_out(1,string) send " " } -re "(^.*)(\r\n\ --More-- \$)" { append buffer $expect_out(1,string) send " " } } # Done with command - disable prior to exit send "disable\r" expect -re "(^.*)(\r\n\[^ \]+> \$)" exec sleep 1 send "logout"
通過SNMP顯示與「show cam dynamic」相同的輸出的Perl指令碼
#!/usr/local/bin/perl open(TABLE, "bridge-table.csv") || die "Cant' open file: $!\n"; while (<TABLE>) { ($vlan, $unicast_mac, $mod_ports) = split (/,/, $_); write; } exit; format STDOUT = set cam permanent @<<<<<<<<<<<<<<<<<< @<<< @< $unicast_mac, $mod_ports, $vlan
對象 | tftp主機 |
OID | .1.3.6.1.4.1.9.5.1.5.1 |
類型 | 顯示字串 |
許可權 | 讀取/寫入 |
語法 | 八位組字串(0.64) |
狀態 | 當前 |
MIB | CISCO-STACK-MIB |
說明 | TFTP傳輸或儲存裝置傳輸的源/目標主機的名稱。如果名稱用於TFTP傳輸,則可能是IP地址或主機名。如果儲存裝置傳輸的名稱,則其格式為deviceName:(例如slot0: 、 slot1:) |
樹中的OID | ::= { iso(1)org(3)dod(6)internet(1)private(4)enterprise(1)cisco(9)workgroup(5)ciscoStackMIB(1)tftpGrp(5)1 } |
對象 | tftp檔案 |
OID | .1.3.6.1.4.1.9.5.1.5.2 |
類型 | 顯示字串 |
許可權 | 讀取/寫入 |
語法 | 八位組字串(0.64) |
狀態 | 當前 |
MIB | CISCO-STACK-MIB |
說明 | 用於TFTP傳輸或儲存裝置傳輸的檔名稱。 |
樹中的OID | ::= { iso(1)org(3)dod(6)internet(1)private(4)enterprise(1)cisco(9)workgroup(5)ciscoStackMIB(1)tftpGrp(5)2 } |
對象 | tftp模組 |
OID | .1.3.6.1.4.1.9.5.1.5.3 |
類型 | 整數 |
許可權 | 讀取/寫入 |
狀態 | 當前 |
範圍 | 0 - 16 |
MIB | CISCO O-STACK-MIB |
說明 | 傳輸模組的哪個代碼/配置。 |
樹中的OID | ::= { ISO(1)org(3)DOD(6)網際網路(1)私有(4)企業(1)cisco(9)workgroup(5)ciscoStackMIB(1)tftpGrp(5)3 } |
對象 | tftpAction |
OID | .1.3.6.1.4.1.9.5.1.5.4 |
類型 | 整數 |
許可權 | 讀取/寫入 |
狀態 | 當前 |
值 |
|
MIB | CISCO-STACK-MIB |
說明 | 如果將此對象設定為某個可接受的值,它將使用tftpHost、tftpFile、tftpModule中提供的資訊啟動請求的操作。downloadConfig(2):從主機/檔案uploadConfig(3)接收配置:將配置傳送到主機/檔案下載Sw(4):從主機/檔案上傳接收軟體映像Sw(5):將軟體映像傳送到主機/檔案下載防火牆(6):從主機/檔案上傳接收韌體映像防火牆(7):將韌體映像傳送到主機/檔案如果將此對象設定為任何其他值,則會出現錯誤。 |
樹中的OID | ::= { ISO(1)org(3)DOD(6)網際網路(1)私有(4)企業(1)cisco(9)workgroup(5)ciscoStackMIB(1)tftpGrp(5)4 } |
對象 | tftpResult |
OID | .1.3.6.1.4.1.9.5.1.5.5 |
類型 | 整數 |
許可權 | 唯讀 |
狀態 | 當前 |
值 |
|
MIB | CISCO-STACK-MIB |
說明 | 包含上次TFTP操作請求的結果 |
樹中的OID | ::= { ISO(1)org(3)DOD(6)網際網路(1)私有(4)企業(1)cisco(9)workgroup(5)ciscoStackMIB(1)tftpGrp(5)5 } |