用snmpget下载ciscoconfiguration

我目前有麻烦使用snmpset从监视服务器获取思科configuration。

这里是我提示:

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 

思科文档指出指定一个随机整数(这里是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。 此外,我无法弄清楚第二个错误的含义。

任何人都可以给我一些build议吗? 任何帮助或线索将深受赞赏

非常感谢 :)

你最初的问题是你试图监控服务器上获取configuration,但是你对petrus的回应表明你想把configuration复制服务器上,这就是你原来的例子所显示的,所以我认为你就是这样后。

两件事情:

1 – 这不适用于我没有。 在数字OIDS的开始。

2 – 它看起来像您的版本的snmpget可用的TYPE值不匹配在思科文档(它说,他们使用的HPOV版本的snmpset)。 尝试运行没有任何参数的“snmpset”,看看你得到什么; 如果您使用的是Net-SNMP,则应在底部附近有一个指定可用TYPE的部分。

以下是我以前使用过的步骤,使用Net-SNMP和CISCO-CONFIG-COPY-MIB(道歉):

步骤1:使用所需的协议(tftp = 1),源文件types(runningConfig = 4),目标文件types(networkFile = 1),tftp服务器的IP地址以及所需的文件名configuration 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步: 销毁您创build的行:

 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步:去validation它实际上被复制到tftp服务器。

 snmpset -v 2c -c <community> <router address> OLD-CISCO-SYS-MIB::netConfigSet.<tftp server> s <config-file> 

<tftp-server>是点分十进制。

<config-file>是一个相对于你TFTP根目录的path。

例:

 snmpset -v 2c -c private 192.168.0.254 OLD-CISCO-SYS-MIB::netConfigSet.192.168.0.10 s router-confg.txt 

非常感谢您的回答。

但是,根据OLD-CISCO-SYS-MIB

oid是1.3.6.1.4.1.9.2.1.50,命令提示是

 snmpset -v2c -c public 172.23.176.71 1.3.6.1.4.1.9.2.1.50.172.23.129.4 s config 

其中返回

 Error in packet. Reason: commitFailed Failed object: iso.3.6.1.4.1.9.2.1.50.172.23.129.4 

我select了合适的OID吗?

此外,它看起来像把configuration放入交换机,我想执行相反的转移:从交换机到服务器

谢谢你的帮助