我目前有麻烦使用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放入交换机,我想执行相反的转移:从交换机到服务器
谢谢你的帮助