使用 snmpget 下載 cisco 配置
我目前無法使用 snmpset 從監控伺服器獲取 cisco 配置。
這是我的提示:
snmpset -v2c -cvtmYdXVHfo9v38oAbtACikvV calcium \ 1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 integer 1 \ 1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 integer 4 \ 1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 integer 1 \ 1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 ipaddress 172.23.129.4 \ 1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 octetstring "config" \ 1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 integer 4
按照cisco_snmp_doc提供的文件:
ccCopyProtocol is 1.3.6.1.4.1.9.9.96.1.1.1.1.2 ccCopySourceFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.3 ccCopyDestFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.4 ccCopyServerAddress 1.3.6.1.4.1.9.9.96.1.1.1.1.5 ccCopyFileName 1.3.6.1.4.1.9.9.96.1.1.1.1.6 ccCopyEntryRowStatus 1.3.6.1.4.1.9.9.96.1.1.1.1.14
Cisco 文件指示指定一個隨機整數(此處為 111,因為它在文件中,但指定 1 不會改變任何內容)
這是我得到的:
1.3.6.1.4.1.9.9.96.1.1.1.1.5.111: Value out of range (172.23.129.4) 1.3.6.1.4.1.9.9.96.1.1.1.1.6.111: Unknown Object Identifier \ (Sub-id not found: (top) -> config)
顯然,我無法將我的伺服器的 ip 地址設置為相關的 oid。此外,我無法弄清楚第二個錯誤是什麼意思。
誰能給我一些建議?任何幫助或線索將不勝感激
非常感謝 :)
您最初的問題表明您試圖從監控伺服器獲取配置,但您對 petrus 的響應表明您希望將配置複製到伺服器,這就是您的原始範例所顯示的,所以我假設這就是您的後。
兩件事情:
1 - 如果沒有 . 在數字 OID 的開頭。
2 - 看起來您的 snmpget 版本可用的 TYPE 值與 Cisco 文件中的值不匹配(它說他們使用的是 HPOV 版本的 snmpset)。嘗試不帶任何參數執行“snmpset”,看看你得到了什麼;如果您使用的是 Net-SNMP,則在底部附近應該有一個部分指定可用的類型。
–
以下是我過去使用過的步驟,使用 Net-SNMP 和 CISCO-CONFIG-COPY-MIB(對長度表示歉意):
第 1 步:使用所需的協議 (tftp=1)、源文件類型 (runningConfig=4)、目標文件類型 (networkFile=1)、tftp 伺服器的 IP 地址和所需的文件名配置ccCopyEntryTable tftp 伺服器。最後,將 RowStatus 設置為“createAndGo”(4)。
數值上:
snmpset -v 2c -c private lab-rtr1 \ .1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 1 \ .1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4 \ .1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1 \ .1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a 10.1.1.1 \ .1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s "lab-rtr1-confg" \ .1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 4
使用 MIB 中的文本 OID:
snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 \ ccCopyProtocol.111 i 1 \ ccCopySourceFileType.111 i 4 \ ccCopyDestFileType.111 i 1 \ ccCopyServerAddress.111 a 10.1.1.1 \ ccCopyFileName.111 s "lab-rtr1-confg" \ ccCopyEntryRowStatus.111 i 4
你應該得到這樣的東西:
ccCopyProtocol.111 = INTEGER: tftp(1) ccCopySourceFileType.111 = INTEGER: runningConfig(4) ccCopyDestFileType.111 = INTEGER: networkFile(1) ccCopyServerAddress.111 = IpAddress: 10.1.1.1 ccCopyFileName.111 = STRING: lab-rtr1-confg ccCopyEntryRowStatus.111 = INTEGER: createAndGo(4)
第 2 步:檢查狀態:
snmpget -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.10.111
文字版:
snmpget -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyState.111
您應該返回一個“3”,表示成功(檢查 MIB 以獲取其他可能的值):
ccCopyState.111 = INTEGER: successful(3)
第 3 步:銷毀您創建的行:
snmpset -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 6
文字版:
snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyEntryRowStatus.111 i 6
你應該得到這樣的東西:
ccCopyEntryRowStatus.111 = INTEGER: destroy(6)
第 4 步:去驗證它是否真的被複製到了 tftp 伺服器。