可以通过SNMPconfigurationCisco交换机(IOS)?

是否可以configuration通过SNMP运行IOS的Cisco交换机? 我知道有一个通过SNMP( doc )启动TFTP拷贝的方法,但是有没有像SNMP写入直接configuration端口级别的configuration?

另外,是否有办法启动传输configuration片段来应用,而不是取代整个configuration?

让我知道你是否想要澄清任何事情。 我试图避免使用Expect或任何与访问API不相似的东西。

为了回答我自己的问题,思科似乎并没有通过SNMP提供高粒度的configuration(例如,端口configuration),但它确实提供了向交换机发起FTP / TFTP / SCPconfiguration复制的方法。 该副本可以执行到允许合并的运行configuration。 这意味着一个configuration片段可以被写入一个文本文件,然后TFTP到交换机将与运行configuration合并,而不是取代它。 如果复制到启动configuration,合并操作没有完成,所以它将replace整个configuration。 一个重要的区别;)

详情请见: http : //www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

对的,这是可能的。 有关configurationVLAN的示例,请参阅此技术说明 。

通过在已启用的terminal上运行命令show snmp mib ,可以查看交换机上支持哪些MIB。

我真的不知道任何原因,你不能通过SNMPconfigurationIOS …但是我会build议要这样做。 SNMP非常不安全。 如果你不担心安全问题,你可以简单地把你的configuration文件转换成一个文本文件,然后盲目地将它们重放到一个telnet会话中,这也是我不build议的。

我没有看到使用snmpv3和scp作为传输协议的任何snmp指南。 对于那些想实施,这是什么对我有用。

与其他snmpconfiguration复制指南一样,您需要下载相应的MIBS并将其加载到snmp.conf文件中。

本文将专门介绍v3安装程序的snmpset命令。

 SNMP Environment: Name : net-snmp Version : 5.7.2 Release : 17.fc20 

snmp conf文件在〜/ .snmp / snmp.conf中

包含

 defSecurityName XXX <- replace with v3 username defContext "" defAuthType SHA defPrivType AES defSecurityLevel authPriv defAuthPassphrase ***** <-replace with authentication pass defPrivPassphrase ***** <-replace with encryption pass defVersion 3 showMibErrors no mibs ALL 

我会用一些像sysUpTime这样简单的snmpwalk来validation基本的snmpv3function。 如果这很好,请继续执行CONFIG-COPY snmp命令。

这是我的bash脚本,它会执行整个副本,只询问正在备份的设备的IP /主机名的单个参数。 脚本中或下面的cli中显示的2> / dev / null将STDERRredirect为空以避免MIB模块parsing错误。

 #!/usr/bin/bash DEVICE=$1 RANNUM=42 USER=****** PASS=****** SERVER=XXXX DATE=$(date +"%m_%d_%y") snmpset $DEVICE ccCopyProtocol.$RANNUM i 4 ccCopySourceFileType.$RANNUM i 4 ccCopyDestFileType.$RANNUM i 1 ccCopyServerAddress.$RANNUM a "$SERVER" ccCopyFileName.$RANNUM s "$DEVICE.$DATE" ccCopyUserName.$RANNUM s $USER ccCopyUserPassword.$RANNUM s $PASS ccCopyEntryRowStatus.$RANNUM i 4 2>/dev/null 

一旦运行,您可以使用以下命令检查副本的状态。

 [root@localhost hlsb]# snmpwalk sbs-tech-switch ciscoConfigCopyMIB 2>/dev/null CISCO-CONFIG-COPY-MIB::ccCopyProtocol.42 = INTEGER: scp(4) CISCO-CONFIG-COPY-MIB::ccCopySourceFileType.42 = INTEGER: runningConfig(4) CISCO-CONFIG-COPY-MIB::ccCopyDestFileType.42 = INTEGER: networkFile(1) CISCO-CONFIG-COPY-MIB::ccCopyServerAddress.42 = IpAddress: 10.10.10.193 CISCO-CONFIG-COPY-MIB::ccCopyFileName.42 = STRING: sbs-tech-switch.07_09_14 CISCO-CONFIG-COPY-MIB::ccCopyUserName.42 = STRING: XXXX CISCO-CONFIG-COPY-MIB::ccCopyUserPassword.42 = STRING: XXXX CISCO-CONFIG-COPY-MIB::ccCopyNotificationOnCompletion.42 = INTEGER: false(2) CISCO-CONFIG-COPY-MIB::ccCopyState.42 = INTEGER: successful(3) CISCO-CONFIG-COPY-MIB::ccCopyTimeStarted.42 = Timeticks: (52270199) 6 days, 1:11:41.99 CISCO-CONFIG-COPY-MIB::ccCopyTimeCompleted.42 = Timeticks: (52270339) 6 days, 1:11:43.39 CISCO-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 = INTEGER: active(1) CISCO-CONFIG-COPY-MIB::ccCopyServerAddressType.42 = INTEGER: ipv4(1) CISCO-CONFIG-COPY-MIB::ccCopyServerAddressRev1.42 = STRING: "10.10.10.193" 

成功的复制完成后,条目将存在五分钟,不允许用该特定的随机数进行进一步的请求。 要在表格五分钟清除之前发送另一个请求,请发送一个“destroy”snmpset来清除该条目。

 [root@localhost hlse]# snmpset sbs-tech-switch CISCO-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 i 6 2>/dev/null CISCO-CONFIG-COPY-MIB::ccCopyEntryRowStatus.42 = INTEGER: destroy(6) 

希望这会为那些希望实现更安全的snmpconfiguration复制设置的用户节省一些时间。