J'ai une configuration de laboratoire où j'essaie d'utiliser SCP via SNMP sur un routeur Cisco. J'ai trouvé de la documentation en ligne comme: http://ccie20728.wordpress.com/2008/05/20/get-the-cisco- configuration-over-snmp /
Voici ma configuration de haut niveau. Sur le routeur:
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
Afin que le routeur agisse comme serveur SCP, vous devez l'activer avec cmd ci-dessus. Sur un serveur Ubuntu, j'ai openSSH installé / en cours d'exécution et je fais ceci cmds:
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
Ensuite, pour vérifier l'état, je fais un snmpget et / ou snmpwalk via:
snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.10.111
lorsque je lance ceci, j'obtiens l'entier (2), ce qui signifie qu'il fonctionne, puis il passe à l'entier (4), ce qui signifie qu'il a échoué.
Ensuite, je vérifie la raison de l'échec:
snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.13.111
et j'obtiens l'entier (2), ce qui signifie "mauvais nom de fichier".
J'ai donc essayé différentes permutations d'un nom de fichier pour ".6.111 string" ci-dessus, y compris différentes extensions de fichier, avec et sans hypens, même nom de fichier que l'exécution de cmd de configuration, même nom de fichier de chemin absolu spécifié, mais aucun ne semble fonctionner.
J'ai essayé de déboguer le sshd
avec différents niveaux de journalisation et d'obtenir aucune sortie du fichier syslog enregistré / stocké.
Quelqu'un a-t-il pu faire fonctionner cela?
Réponses:
Je viens d'essayer ceci sur mon CPE:
Quelle copie exécutant config (4) sur le réseau (1), en les échangeant, vous pouvez changer la direction (du réseau à l'exécution).
En exécutant le script ci-dessus, mon répertoire personnel aura un fichier 'filename', qui contient ma configuration de fonctionnement CPE:
En plus de ce que @daniel mentionne également, votre '14' ou votre 'rowstatus' est faux, vous utilisez 1 'actif', tandis que vous devez utiliser 4 'createAndGo'.
la source
Selon Cisco SNMP Object Navigator, la valeur 4 n'est pas prise en charge pour 1.3.6.1.4.1.9.9.96.1.1.1.1.3. Au lieu de cela, la valeur 2 signifie le running-config:
C'est probablement pourquoi vous obtenez l'erreur badFileName.
ÉDITER:
Apparemment, il existe une contradiction entre le navigateur d'objets SNMP et la définition MIB , comme type pour
ccCopySourceFileType
etccCopyDestFileType
estConfigFileType
et selon la définition MIB:Et cela semble étayé par la réponse de ytti
la source
J'ai déjà posté ceci: http://checkforbees.com/router-backup/
Je pense que votre problème concerne les multiples snmpset. Vous devez commencer par créer l'entrée pour ce faire. [14.xxx = 5 (createAndWait)] Ensuite, vous pouvez configurer l'entrée si nécessaire avant de définir rowStatus sur "1" (actif).
[Remarque: Mes scripts ont des décennies, ils sont donc réglés pour tftp.]
Je passe en boucle ... 10.111 (état) pendant qu'il "tourne". Je soupçonne que vous n'avez jamais supprimé votre entrée "111". Ce sont autrement votre séquence exacte de
snmpset
s contre un 2960S avec le serveur ssh d'une boîte Linux. (comme mon invite le suggère, une boîte Debian.)la source
badFilename
pourrait également signifier un échec de connexion ssh, mais j'obtiens unnoConfig(5)
pour cela. (ce qui est à l'opposé de ce qu'il devrait dire)badFileName(2)
12.4T. (le 2960S est 15.x)Vérifiez ici: Comment copier des fichiers de configuration vers et depuis les routeurs Cisco IOS qui utilisent SNMP
Changez
ccCopyProtocol
pour la méthode de transfert souhaitée:Voici un script bash pour automatiser les sauvegardes de configuration.
la source