सिस्को राउटर के साथ काम करने के लिए एसएनएमपी के माध्यम से एससीपी कैसे प्राप्त करें?


10

मेरे पास एक प्रयोगशाला सेटअप है जहां मैं एससीएमपी के माध्यम से एक सिस्को राउटर में एससीपी का उपयोग करने की कोशिश कर रहा हूं। मुझे कुछ ऑनलाइन दस्तावेज मिले जैसे: http://ccie20728.wordpress.com/2008/05/20/get-the-cisco- विन्यास-ओवर-SNMP /

यहाँ मेरा उच्च स्तरीय सेटअप है। राउटर पर:

R1(config)# username cisco password cisco
R1(config)# ip domain-name somedomain.com
R1(config)# crypto key generate rsa general-keys modulus 1024
R1(config)# aaa new-model
R1(config)# aaa authentication login cisco local
R1(config)# aaa authorization exec cisco local
R1(config)# ip scp server enable
R1(config)# line vty 0
R1(config)# login authentication cisco
R1(config)# snmp-server community cisco RW

SCP सर्वर के रूप में कार्य करने के लिए राउटर प्राप्त करने के लिए, cmd के साथ सक्षम करने की आवश्यकता होती है। एक ubuntu सर्वर पर, मेरे पास ओपनएसएसएच स्थापित है / चल रहा है और यह कर रहा है:

snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 4
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a <svr ip addr>
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s cisco.txt
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.7.111 s cisco
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.8.111 s cisco
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 1

फिर जाँच करने के लिए कि स्थिति क्या है, मैं एक स्नैम्पेट और / या स्नैंपवॉक के माध्यम से करता हूँ:

snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.10.111

जब मैं इसे चलाता हूं, तो मुझे पूर्णांक (2) मिलता है, जिसका अर्थ है कि यह चल रहा है, तो यह पूर्णांक (4) में चला जाता है, जिसका अर्थ है कि यह विफल हो गया है।

फिर मैं विफलता के कारण की जांच करता हूं:

snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.13.111

और मुझे पूर्णांक (2) मिलता है, जिसका अर्थ है "बैडफिलनेम"।

इसलिए मैंने ऊपर ".6.111 स्ट्रिंग" के लिए एक फ़ाइल नाम के अलग-अलग क्रमोन्नति की कोशिश की है, जिसमें अलग-अलग फ़ाइल एक्सटेंशन शामिल हैं, जिसमें और बिना हाइपेंस के साथ, समान फ़ाइल नाम रनिंग cmds के रूप में, यहां तक ​​कि पूर्ण पथ फ़ाइल नाम भी निर्दिष्ट है लेकिन कोई भी काम नहीं करता है।

मैंने sshdविभिन्न लॉगिंग स्तरों के साथ डिबगिंग की कोशिश की है और सहेजे / संग्रहीत syslog फ़ाइल से कोई आउटपुट नहीं मिल रहा है।

क्या किसी को यह काम करने में सक्षम किया गया है?


यहाँ दो अन्य लिंक दिए गए हैं जिन्हें मैंने प्रलेखन के लिए उपयोग किया है: tools.cisco.com/Support/SNMP/do/… और cisco.com/en/US/tech/tk648/tk362/…
user1609

एससीपी सर्वर पर मुद्दों को छोड़ने के लिए, यदि आप अपने राउटर से मैन्युअल रूप से कॉपी चलाते हैं तो क्या यह काम कर रहा है? मुझे कुछ TFTP सर्वर याद हैं जो हमें इसे लिखते समय नई फ़ाइलों को बनाने की अनुमति नहीं देते हैं, इसलिए पहले हमें सर्वर साइड पर एक खाली फ़ाइल बनानी थी और फिर खाली फ़ाइलनाम की ओर इशारा करते हुए गंतव्य फ़ाइल के साथ प्रतिलिपि चलाएँ
डैनियल Yuste अरोका

हाँ, मैंने यह भी मैन्युअल रूप से राउटर से सर्वर के माध्यम से कोशिश की और यह ठीक काम किया। मैं पहले भी एक खाली फ़ाइल बनाने के बिना मैन्युअल रूप से सर्वर पर फ़ाइल की प्रतिलिपि बनाने में सक्षम था।
user1609

क्या किसी उत्तर ने आपकी मदद की? यदि हां, तो आपको उत्तर स्वीकार करना चाहिए ताकि प्रश्न हमेशा के लिए पॉपिंग न हो जाए, उत्तर की तलाश में है। वैकल्पिक रूप से, आप अपना स्वयं का उत्तर प्रदान कर सकते हैं और स्वीकार कर सकते हैं।
रॉन Maupin

जवाबों:


6

मैंने अपने CPE पर बस यही कोशिश की:

[ytti@lintukoto ~]% cat moi2.sh 
#!/bin/sh

snmp="snmpset -v2c -cfoo bu.ip.fi"

$snmp 1.3.6.1.4.1.9.9.96.1.1.1.1.2.9 i 4 \
      1.3.6.1.4.1.9.9.96.1.1.1.1.3.9 i 4 \
      1.3.6.1.4.1.9.9.96.1.1.1.1.4.9 i 1 \
      1.3.6.1.4.1.9.9.96.1.1.1.1.5.9 a 91.198.120.2 \
      1.3.6.1.4.1.9.9.96.1.1.1.1.6.9 s filename \
      1.3.6.1.4.1.9.9.96.1.1.1.1.7.9 s username \
      1.3.6.1.4.1.9.9.96.1.1.1.1.8.9 s password \
      1.3.6.1.4.1.9.9.96.1.1.1.1.14.9 i 4
sleep 10
$snmp 1.3.6.1.4.1.9.9.96.1.1.1.1.14.9 i 6
[ytti@lintukoto ~]% 

कौन से नेटवर्क (1) को रनिंग कॉन्फिगर (4) कॉपी करता है, इन्हें स्वैप करके आप दिशा बदल सकते हैं (नेटवर्क से रनिंग में)।

स्क्रिप्ट के ऊपर चलने से मेरी होम डायरेक्टरी में 'फ़ाइल नाम' फ़ाइल होगी, जिसमें मेरा CPE रनिंग-कॉन्फिगर है:

[ytti@lintukoto ~]% ls -la filename
ls: cannot access filename: No such file or directory
[2 ytti@lintukoto ~]% ./moi2.sh      
iso.3.6.1.4.1.9.9.96.1.1.1.1.2.9 = INTEGER: 4
iso.3.6.1.4.1.9.9.96.1.1.1.1.3.9 = INTEGER: 4
iso.3.6.1.4.1.9.9.96.1.1.1.1.4.9 = INTEGER: 1
iso.3.6.1.4.1.9.9.96.1.1.1.1.5.9 = IpAddress: 91.198.120.2
iso.3.6.1.4.1.9.9.96.1.1.1.1.6.9 = STRING: "filename"
iso.3.6.1.4.1.9.9.96.1.1.1.1.7.9 = STRING: "username"
iso.3.6.1.4.1.9.9.96.1.1.1.1.8.9 = STRING: "password"
iso.3.6.1.4.1.9.9.96.1.1.1.1.14.9 = INTEGER: 4
iso.3.6.1.4.1.9.9.96.1.1.1.1.14.9 = INTEGER: 6
[ytti@lintukoto ~]% ls -la filename
-rw-r--r-- 1 ytti ytti 16172 Jun 11 00:35 filename
[ytti@lintukoto ~]% 

शीर्ष पर जो @daniel का उल्लेख करता है वह भी आपके '14' या 'रोस्टैटस' में गलत है, आप 1 'सक्रिय' का उपयोग करते हैं, जबकि आपको 4 'क्रिएंडएंडगो' का उपयोग करना चाहिए।


बस इसे फिर से "14" में बदलकर पूर्णांक 4 में लाने की कोशिश की और अभी भी पैकेट में त्रुटि हो रही है, कारण: असंगत मूल्य। मैंने भी "6" के साथ स्नैंपसेट को साफ किया है जैसे आपने हर बार किया था। वैसे, आप इसे अपने सेटअप के साथ काम करने में सक्षम थे?
user1609

हाँ। ऊपर 15.1 (2) T5 चल रहे मेरे 881G पर ठीक काम करता है। मैंने स्क्रिप्ट का आउटपुट जोड़ा। यदि मेरे पास वह सूचकांक / आईडी (9) लटका हुआ है, तो मुझे वही 'असंगत मूल्य' शिकायत मिलती है, इसे नष्ट करने से पहले आपको काफी समय लगता है। आप सुनिश्चित करने के लिए नए सूचकांक / आईडी के साथ परीक्षण कर सकते हैं।
यति

इसे अलग-अलग इंडेक्स / आईडी के साथ आज़माया, अभी भी नहीं हो रहा है मैं एक अलग डिवाइस की कोशिश करने जा रहा हूं। शायद यह विशिष्ट उपकरण वास्तव में समर्थित नहीं है। बात यह है कि, सिस्को mib और सॉफ्टवेयर मैट्रिक्स में भी, यह दर्शाता है कि ये MIB वर्तमान IOS i'I परीक्षण पर समर्थित हैं।
user1609

यह अब तक बहुत पुराना एमआईबी है, जैसे शायद 5 <10 साल। तो शायद ऐसा नहीं है। आईओएस सीएलआई से यह काम होता है: 'कॉपी रनिंग-कॉन्फिग स्केप: // यूजरनेम: पासवर्ड @ सर्वर / फाइलनाम'
ytti

हां, राउटर से सर्वर में मैन्युअल स्कैप कॉपी करने से काम ठीक हो जाता है। मैं यह करने के लिए क्रोन शेड्यूलर या ईईएम स्क्रिप्ट भी बना सकता हूं और राउटर से सर्वर तक ठीक काम कर रहा हूं। बस snmp के माध्यम से नहीं ...
user1609

4

सिस्को एसएनएमपी ऑब्जेक्ट नेविगेटर के अनुसार, मूल्य 4 1.3.6.1.4.1.9.9.96.1.1.1.1.3 के लिए समर्थित नहीं है। इसके बजाय, मान 2 का मतलब रनिंग-कॉन्फिगर है:

Object  ccCopySourceFileType
OID     1.3.6.1.4.1.9.9.96.1.1.1.1.3
Type    ConfigFileType
1:startupConfig
2:runningConfig
Permission  read-create

शायद इसीलिए आपको badFileName त्रुटि मिल रही है।

संपादित करें:

वास्तव में लगता है कि SNMP वस्तु नेविगेटर और के बीच विरोधाभास है एमआईबी परिभाषा के लिए प्रकार के रूप में, ccCopySourceFileTypeऔर ccCopyDestFileTypeहै ConfigFileTypeऔर एमआईबी परिभाषा के अनुसार:

ConfigFileType ::= TEXTUAL-CONVENTION

SYNTAX          INTEGER  {
                        networkFile(1),
                        iosFile(2),
                        startupConfig(3),
                        runningConfig(4),
                        terminal(5),
                        fabricStartupConfig(6) }

और यह ytti के जवाब से समर्थित लगता है


हाँ, मैंने देखा कि mib में भी, लेकिन अगर मैं इसे 2 के पूर्णांक में बदलता हूं, तो मुझे एक त्रुटि मिलती है: *** snmpset -c <str> -v 2c <ip> 1.3.6.1.4.1.9.9 .96.1.1.1.1.1.3.111 i 2 पैकेट में त्रुटि। कारण: गलतValue (सेट मान अवैध या किसी तरह से असमर्थित है) विफल वस्तु: iso.3.6.1.4.1.9.9.9.1.1.1.1.1.111 *** मैंने इसके साथ अलग-अलग क्रमपरिवर्तन की भी कोशिश की है ।3। 4 जहां शायद पूर्णांक दोनों के मामले में अलग था। Im राउटर से सर्वर पर कॉपी करने की कोशिश कर रहा है, जिसे मैं समझता हूं, नेटवर्कफाइल के लिए रन-सीएफजी है।
user1609

मुझे लगता है कि विरोधाभास इसलिए हो सकता है क्योंकि नकल की दो पीढ़ियां हैं। मूल बहुत सरल / निपुण था और सिर्फ tftp किया था, मैं याद नहीं कर सकता, लेकिन शायद उस युग में 1 स्टार्टअप और 2 चल रहा था।
यति

ये एक अच्छा बिंदु है। इसलिए ऐसा लगता है कि कोड अपग्रेड के साथ बदलाव किए गए थे।
user1609

"राइट-नेट" mib को "कॉन्फिगर-कॉपी" mib के पक्ष में (कई कारणों से) मूल्यह्रास किया गया था, जो अभी भी इसे करने का वर्तमान तरीका है।
रिकी बीम

3

मैंने इसे पहले पोस्ट किया है: http://checkforbees.com/router-backup/

मुझे लगता है कि आपका मुद्दा कई स्नैपशॉट के साथ है। ऐसा करने के लिए आपको प्रविष्टि बनाकर प्रारंभ करना होगा। [14.xxx = 5 (createAndWait)] फिर आप पंक्ति को सेट करने से पहले आवश्यकतानुसार प्रविष्टि को "1" (सक्रिय) में सेट कर सकते हैं।

[नोट: मेरी स्क्रिप्ट दशकों पुरानी है, इसलिए वे tftp के लिए तैयार हैं।]

[root:pts/6{8}]debian1:/tmp/[01:32 AM]:./test.sh
CISCO-CONFIG-COPY-MIB::ccCopyProtocol.111 = INTEGER: scp(4)
CISCO-CONFIG-COPY-MIB::ccCopySourceFileType.111 = INTEGER: runningConfig(4)
CISCO-CONFIG-COPY-MIB::ccCopyDestFileType.111 = INTEGER: networkFile(1)
CISCO-CONFIG-COPY-MIB::ccCopyServerAddress.111 = IpAddress: 192.168.55.25
CISCO-CONFIG-COPY-MIB::ccCopyFileName.111 = STRING: cisco.txt
CISCO-CONFIG-COPY-MIB::ccCopyUserName.111 = STRING: cisco
CISCO-CONFIG-COPY-MIB::ccCopyUserPassword.111 = STRING: cisco
CISCO-CONFIG-COPY-MIB::ccCopyEntryRowStatus.111 = INTEGER: active(1)
..
Status: successful []
CISCO-CONFIG-COPY-MIB::ccCopyEntryRowStatus.111 = INTEGER: destroy(6)
[root:pts/6{8}]debian1:/tmp/[01:32 AM]:ls -l cisco.txt
-rw-r--r-- 1 root root 15790 Jun 12 01:32 cisco.txt

मैं चल रहा हूँ ... 10.111 (राज्य) जबकि यह "चल रहा है"। मुझे संदेह है कि आपने अपनी "111" प्रविष्टि को कभी नहीं हटाया है। अन्यथा snmpsetएक लाइन बॉक्स के ssh सर्वर के साथ एक 2960S के खिलाफ एस के आपके सटीक अनुक्रम हैं । (जैसा कि मेरा संकेत बताता है, एक डेबियन बॉक्स।)


मैंने आपके सुझाव के अनुसार प्रयास किया, फिर भी काम नहीं किया :-( मुझे असफलता का एक ही असफलता और कारण मिलता है। मुझे आश्चर्य है कि अगर यह कुछ विशिष्ट आईओएस कोड के लिए कुछ बग हो गया है। 12.2 (33) SCF4
user1609

आप किस उपकरण का उपयोग कर रहे हैं?
रिकी बीम

एक सिस्को ubr10k सीएमटीएस पर मेरा परीक्षण कर रहा है, एक सिस्को 3725 (12.4T कोड) के साथ भी कोशिश की, उसी परिणाम को प्राप्त कर रहा है
user1609

badFilenameएक ssh लॉगिन विफलता का भी संकेत दे सकता है, लेकिन मुझे इसके लिए एक विकल्प मिलता noConfig(5)है। (जो इसके विपरीत कहना चाहिए)
रिकी बीम

मुझे badFileName(2)12.4T से मिलता है। (2960S 15.x है)
रिकी बीम

0

यहाँ जाँच करें: सिस्को IOS रूटर्स के लिए और SNMP का उपयोग करने वाले कॉन्फ़िगरेशन फ़ाइलों को कॉपी कैसे करें

ccCopyProtocolअपनी इच्छित स्थानांतरण विधि में बदलें :

  1. TFTP
  2. एफ़टीपी
  3. आरसीपी
  4. SCP
  5. SFTP

यहाँ कॉन्फ़िगरेशन बैकअप को स्वचालित करने के लिए एक बैश स्क्रिप्ट है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.