cisco yönlendiriciler ile çalışmak için snmp üzerinden scp almak nasıl?


10

Bir cisco yönlendiriciye SNMP üzerinden SCP kullanmaya çalıştığım bir laboratuvar kurulumum var. Http://ccie20728.wordpress.com/2008/05/20/get-the-cisco- gibi bazı çevrimiçi belgeler buldum yapılandırma aşırı SNMP /

İşte benim üst düzey kurulum. Yönlendiricide:

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

Yönlendiricinin SCP sunucusu gibi davranmasını sağlamak için yukarıdaki cmd ile etkinleştirmeniz gerekir. Bir ubuntu sunucusunda, yüklü / çalışan ve bu cmds yapıyor openSSH var:

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

Sonra durumun ne olduğunu kontrol etmek için, bir snmpget ve / veya snmpwalk üzerinden:

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

Bunu çalıştırdığımda, tamsayı (2) alıyorum, yani çalışıyor, sonra tamsayıya (4) gider, bu da başarısız olduğu anlamına gelir.

Sonra başarısızlık nedenini kontrol ediyorum:

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

ve "badfilename" anlamına gelen tamsayı (2) alıyorum.

Bu nedenle, ".6.111 dizesi" için bir dosya adının farklı uzantılarını, hipenli ve hipenssiz, yapılandırma cmds'leri çalıştıran aynı dosya adı da dahil olmak üzere farklı permütasyonlarını denedim, hatta mutlak yol dosya adı belirtildi, ancak hiçbiri çalışmıyor gibi görünüyor.

sshdÇeşitli günlük düzeyleri ile hata ayıklama ve kaydedilen / saklanan syslog dosyasından hiçbir çıktı alma denedim .

Herkes bunu işe alabildi mi?


dokümantasyon için kullandığım iki bağlantı daha var: tools.cisco.com/Support/SNMP/do/… ve cisco.com/en/US/tech/tk648/tk362/…
user1609

SCP sunucusundaki sorunları atmak için, kopyayı yönlendiricinizden manuel olarak çalıştırırsanız çalışıyor mu? Yazarken yeni dosyalar oluşturmamıza izin vermeyen bazı TFTP sunucularını hatırlıyorum, bu yüzden önce sunucu tarafında boş bir dosya oluşturmak ve sonra boş dosya
adını

Evet, scp yoluyla yönlendiriciden sunucuya çok manuel olarak denedim ve iyi çalıştı. Daha önce boş bir dosya oluşturmadan bile dosyayı sunucuya manuel olarak kopyalayabildim.
user1609

Herhangi bir cevap size yardımcı oldu mu? öyleyse, cevabı kabul etmelisiniz, böylece soru sonsuza kadar ortaya çıkmayacak, bir cevap arıyor. Alternatif olarak kendi cevabınızı verebilir ve kabul edebilirsiniz.
Ron Maupin

Yanıtlar:


6

Ben sadece CPE benim denedim:

[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 ~]% 

Hangi config (4) 'ü ağa (1) kopyalar, bunları değiştirerek yönü değiştirebilirsiniz (ağdan çalışmaya).

Komut dosyasının yukarısında çalıştırıldığında, ana dizinim, CPE running-config'imi içeren 'dosya adı' dosyasına sahip olacak:

[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'in bahsettiklerinin üstüne '14' ya da 'rowstatus' da yanlış, 1 'aktif', 4 'createAndGo' kullanmalısın.


"14" değerini tamsayı 4 olarak değiştirip yine de pakette Hata alıp tekrar denediniz, Sebep: tutarsız değer. Her seferinde yaptığınız gibi snmpset'i "6" ile temizledim. Bu arada, yukarıdaki kurulumunuzla çalışmasını sağlayabildiniz mi?
user1609

Evet. Yukarıdaki, 15.1 (2) T5 çalıştıran 881G'imde iyi çalışıyor. Senaryo çıktısını ekledim. Eğer bu dizin / id (9) asılı varsa, o zaman aynı 'tutarsız değer' şikayet olsun, onu yok etmek için oldukça uzun sürer. Emin olmak için yeni dizin / kimlikle test edebilirsiniz.
ytti

Farklı bir dizin / kimlik ile denedim, hala olmadı. Farklı bir cihaz deneyeceğim. belki bu cihaz gerçekte desteklenmemektedir. şey, cisco mib ve yazılım matrisinde bile, bu MIB'lerin üzerinde test ettiğim mevcut IOS için desteklendiğini gösterir.
user1609

Şimdiye kadar oldukça eski MIB, belki 5 <10 yıl gibi. Muhtemelen öyle değil. IOS CLI'den bu işe
yarar

evet, yönlendiriciden sunucuya el ile scp kopyasını yapmak iyi çalışıyor. Hatta bunu yapmak için bir kron zamanlayıcı veya EEM komut dosyası oluşturabilir ve yönlendiriciden sunucuya scp yaparak iyi çalışır. sadece snmp ile değil ...
user1609

4

Cisco SNMP Nesne Gezgini'ne göre, 1.3.6.1.4.1.9.9.96.1.1.1.1.3 için değer 4 desteklenmemektedir. Bunun yerine, değer 2 çalışan-config anlamına gelir:

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

Muhtemelen bu yüzden badFileName hatası alıyorsunuz.

DÜZENLE:

Aslında orada SNMP Nesne Navigator arasındaki çelişki gibi görünüyor MIB tanımı için türü olarak ccCopySourceFileTypeve ccCopyDestFileTypeolduğu ConfigFileTypeve MIB tanımına göre:

ConfigFileType ::= TEXTUAL-CONVENTION

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

Ve bu, ytti'nin cevabı ile desteklenmiş gibi görünüyor


evet, ben mib de gördüm, ama ben 2 tamsayısına değiştirmek bile, bir hata mesajı alıyorum: *** snmpset -c <str> -v 2c <ip> 1.3.6.1.4.1.9.9 .96.1.1.1.1.3.111 i 2 Pakette hata. Sebep: wrongValue (Ayarlanan değer geçersiz veya bir şekilde desteklenmiyor) Başarısız nesne: iso.3.6.1.4.1.9.9.96.1.1.1.1.3.111 *** .3 ve ile bunun farklı permütasyonlarını denedim. Burada tamsayı her iki durumda da farklı olabilir. Im anladığım gibi ağ dosyasından run-cfg olan yönlendiriciden sunucuya kopyalamaya çalışıyorum.
user1609

Bence çelişki, iki kuşak kopya mibs olduğu için olabilir. Orijinal çok daha basit / dumber ve sadece tftp yaptı, hatırlayamıyorum ama belki o dönemde 1 başlangıç ​​ve 2 çalışıyor.
ytti

İyi bir noktaya değindin. bu yüzden kod yükseltmeleri ile değişiklikler yapıldı gibi görünüyor.
user1609

"net yazma" kalıbı, halen geçerli olan "config-copy" kalıbı lehine amortismana tabi tutulmuştur (sayısız nedenden dolayı).
Ricky Beam

3

Bunu daha önce gönderdim : http://checkforbees.com/router-backup/

Bence sorun birden fazla snmpset ile ilgili. Bunu yapmak için girişi oluşturarak başlamalısınız. [14.xxx = 5 (createAndWait)] Ardından, rowStatus öğesini "1" (etkin) olarak ayarlamadan önce girişi gerektiği gibi ayarlayabilirsiniz.

[Not: Betiklerim onlarca yıldır, bu yüzden tftp için ayarlanmışlar.]

[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

Ben "çalışıyor" iken ... 10.111 (devlet) üzerinden döngü. "111" girişinizi hiç silmediğinizden şüpheleniyorum. Aksi takdirde snmpset, bir linux kutusunun ssh sunucusu ile 2960S'ye karşı tam s sırasınızdır . (istemimin de belirttiği gibi, bir debian kutusu.)


Ben :-( iş yoktu hala Öneriniz altında yargılanmıştır ben başarısızlığın aynı yetmezliği ve nedenini olsun bu özgü IOS kodu 12.2 (33) SCF4 için sonra bazı hata olmak zorunda olmadığını merak ediyorum...
user1609

Hangi cihazı kullanıyorsunuz?
Ricky Beam

bir cisco ubr10k CMTS üzerinde testimi yapıyorum, aynı zamanda bir cisco 3725 (12.4T kodu) ile çalıştı, aynı sonucu elde etti
user1609

badFilenameAyrıca ssh giriş hatası anlamına gelebilir, ama bunun için bir olsun noConfig(5). (söylemesi gerekenin tam tersi)
Ricky Beam

badFileName(2)12.4T'den bir tane alıyorum. (2960S 15.x)
Ricky Beam

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.