目录
本文档介绍如何使用简单网络管理协议(SNMP)在路由器和简单文件传输协议(TFTP)服务器之间移动配置文件和Cisco IOS®映像。
本文档的读者应了解SNMP和MIB。
本文档中的信息基于Cisco IOS软件版本10.2或更高版本。这些示例使用的MIB是OLD-CISCO-SYS-MIB和OLD-CISCO-FLASH-MIB,在Cisco IOS软件版本10.2及更高版本中受支持。思科建议您使用Cisco IOS软件的更新版本,如Cisco IOS软件版本12.0。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
在本文档显示的所有示例中,这些值用于说明目的:
172.16.99.20 — 路由器的IP地址。
171.68.191.135 - TFTP服务器的IP地址。
private - SNMP读写社区字符串。确保使用路由器上配置的读写字符串。在路由器CLI上发出show running-config命令以验证这一点。
发出snmpset和snmpwalk命令时的语法如下:
snmpset [options...]
{
} [
...] snmpwalk [options...]
{
} [
]
注意:要增加超时,请在snmpset命令中使用 — t 选项。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
验证您能从路由器ping TFTP服务器的IP地址:
Router#ping 171.68.191.135
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 171.68.191.135, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms:
步骤如下:
不适用于基于Cisco IOS®软件(如Catalyst 2900/3500XL系列)的Catalyst交换机。
不适用于基于CatOS软件(如Catalyst 4000/5000/6000系列)的Catalyst交换机。
不适用于运行Cisco IOS软件的Catalyst 6000系列多层交换功能卡(MSFC)和MSFC2模块。
如果使用从闪存运行的设备(如Cisco 2500系列路由器),则不建议这样做。
如果您使用运行Cisco IOS软件版本12.0(在某些设备上,早在Cisco IOS软件版本11.2P)或更高版本的Cisco设备,则不建议使用此功能。这是因为自Cisco IOS软件版本12.0起,OLD-CISCO*(OLD-CISCO-SYS-MIB)MIB已弃用。因此,如果运行Cisco IOS软件版本12.0或更高版本,则必须使用CISCO-CONFIG-COPY-MIB。
基于NET-SNMP(以前称为UCD-
SNMP)实用程序的命令行语法。如果使用HP Open View或NetView等其他SNMP应用,请确保验证的语法可能与本文档示例中所示的语法不同。
MIB 对象名称
OID
writeNet
.1.3.6.1.4.1.9.2.1.55
hostConfigSet
.1.3.6.1.4.1.9.2.1.53
writeMem
.1.3.6.1.4.1.9.2.1.54
flashToNet
.1.3.6.1.4.1.9.2.10.9
flashErase
.1.3.6.1.4.1.9.2.10.6
netToFlash
.1.3.6.1.4.1.9.2.10.12
有关此表中MIB对象(包括定义)的详细信息,请参阅本文档的附录A。
请点击此处的Cisco Bug ID链接,查看详细的Bug信息。
Cisco Bug ID CSCdk33879(仅限注册客户):弃用所有旧CISCO-* MIBS
Cisco Bug ID CSCdt11311(仅限注册客户):使用OLD-CISCO-SYSTEM-MIB的配置的SNMP请求导致ISDN关闭。
请完成以下步骤:
在TFTP服务器的/tftpboot目录下创建新文件router-config。在UNIX上,使用以下语法:按。
touch router-config
使用以下语法将文件的权限更改为777:chmod 。
chmod 777 router-config
在管理站命令行中,使用MIB对象writeNet输入以下信息:
% snmpset 172.16.99.20 private .1.3.6.1.4.1.9.2.1.55.171.68.191.135
s router-config enterprises.9.2.1.55.171.68.191.135 = "router-config"
验证TFTP服务器/tftpboot目录中的router-config文件是否成功复制。
请完成以下步骤:
执行这些任务之一:
在TFTP服务器的/tftpboot目录中创建一个新文件router-config。在UNIX上,使用语法touch 。
touch router-config
将当前配置文件放在TFTP服务器的/tftpboot目录中。
使用语法chmod 将文件的权限更改为777。
chmod 777 router-config
在管理站命令行中,使用MIB对象hostConfigSet,输入以下命令:
% snmpset -t 60 172.16.99.22 private .1.3.6.1.4.1.9.2.1.53.171.68.191.135
s router-config OR % snmpset -t 60 172.16.99.22 private
enterprises.9.2.1.53.171.68.191.135 = "router-config"
其中 — t 60等于超时60次。
将文件写入RAM后,使用MIB对象writeMem将其复制到NVRAM中:
% snmpset -t 60 172.16.99.22 private .1.3.6.1.4.1.9.2.1.54.0 i 1
enterprises.9.2.1.54.0 = 1
请完成以下步骤:
执行这些任务之一:
在TFTP服务器的/tftpboot目录中创建一个新文件router-image。在UNIX上,使用语法touch 。
touch router-image
使用show flash输出中显示的相同文件名,以便在TFTP服务器的/tftpboot目录上创建文件。在本例中,路由器将c2600-i-mz.122-2.XA列为show flash:的输出: 命令。
touch c2600-i-mz.122-2.XA
使用语法chmod 将文件的权限更改为777。
chmod 777 c2600-i-mz.122-2.XA
在管理站命令行中,使用MIB对象flashToNet输入以下信息:
% snmpset 172.16.99.22 private .1.3.6.1.4.1.9.2.10.9.171.68.191.135
s c2600-i-mz.122-2.XA enterprises.9.2.10.9.171.68.191.135
= "c2600-i-mz.122-2.XA"
文件传输完毕后,请验证/tftpboot目录中的文件和路由器获得的文件大小是否相同。
请完成以下步骤:
将IOS映像放在TFTP服务器的/tftpboot目录中。确保咨询“下载软件区域”(仅限注册客户)。
使用语法chmod 将文件的权限更改为777
chmod 777
在通过SNMP开始文件传输之前,请执行dir flash:或show flash:以验证您是否有足够的空间来容纳新的IOS映像文件。
如果闪存中没有必要的空间,文件传输将失败。或者,您可以先清除闪存,以便通过SNMP为新的IOS软件腾出空间。如果是,请使用MIB object flashErase命令从管理站命令行输入以下信息:
% snmpset 172.16.99.22 private .1.3.6.1.4.1.9.2.10.6.0 i 1
enterprises.9.2.10.6.0 = 1
注意:发出CLI命令erase flash:时,您也可以手动清除路由器的闪存。
验证闪存是否已完全清除。发出 dir flash:或show flash: 命令。
Router#show flash:
System flash directory:
No files in System flash
[0 bytes used, 33030144 available, 33030144 total]
32768K bytes of processor board System flash (Read/Write)
Router #dir flash:
Directory of flash:/
No files in directory
33030144 bytes total (33030144 bytes free)
在管理站命令行中,使用MIB对象netToFlash输入以下信息,以便将IOS映像文件传输到路由器:
% snmpset 172.16.99.22 private .1.3.6.1.4.1.9.2.10.12.171.68.191.135
s c2600-i-mz.122-2.XA.bin enterprises.9.2.10.12.171.68.191.135
= "c2600-i-mz.122-2.XA.bin"
注意:在本示例中,使用IOS映像文件c2600-i-mz.122-2.XA.bin进行图示。
根据IOS映像的文件大小(字节),此步骤可能需要几分钟才能完成。
如果尝试执行CLI命令dir flash:在路由器上传输文件时,会显示此输出。此输出表示文件传输尚未完成。
Router#dir flash:
%Error opening flash:/ (Device in exclusive use)
完成IOS映像文件传输后,执行CLI命令dir flash:或show flash:为了验证文件名和文件大小(字节)是否与TFTP服务器/tftpboot目录中使用/存在的文件完全匹配。
然后,您可以将寄存器配置为一个合适的值,并重新载入路由器(若需要),以加载新的IOS镜像文件。有关如何执行此操作的详细信息,请参阅Cisco IOS软件配置文档。
对象
writeNet
OID
.1.3.6.1.4.1.9.2.1.55
类型
显示字符串
权限
仅写
状态
强制
描述
将配置写入使用TFTP的主机。
树中的OID
::= { iso(1)org(3)dod(6)internet(1)私营(4)企业(1)cisco(9)local(2)lsystem(1)55 }
对象
hostConfigSet
OID
.1.3.6.1.4.1.9.2.1.53
类型
显示字符串
权限
仅写
状态
过时
描述
使用TFTP加载新的host-confg文件。
树中的OID
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lsystem(1)53 }
对象
writeMem
OID
.1.3.6.1.4.1.9.2.1.54
类型
显示字符串
权限
仅写
状态
强制
描述
使用TFTP加载新的host-confg文件。
树中的OID
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lsystem(1)54 }
对象
flashToNet
OID
.1.3.6.1.4.1.9.2.10.9
类型
显示字符串
权限
仅写
状态
强制
描述
将闪存条目写入TFTP服务器。值必须是要发送的闪存条目的名称。实例是TFTP主机的IP地址。
树中的OID
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lflash(10)9 }
对象
flashErase
OID
.1.3.6.1.4.1.9.2.10.6
类型
整数
权限
仅写
状态
强制
描述
请求擦除闪存。
树中的OID
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lflash(10)6 }
对象
netToFlash
OID
.1.3.6.1.4.1.9.2.10.12
类型
显示字符串
权限
仅写
状态
强制
描述
从TFTP服务器写入闪存条目。值必须是要写入的闪存条目的名称。实例是TFTP主机的IP地址。
树中的OID
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lflash(10)12 }