简介
本文档介绍如何在路由器和简单文件传输协议(TFTP)服务器之间移动配置文件和软件映像。
先决条件
要求
本文档的读者必须了解SNMP和MIB。
使用的组件
本文档中的信息基于Cisco IOS®软件版本10.2或更高版本。这些示例使用的MIB是OLD-CISCO-SYS-MIB和OLD-CISCO-FLASH-MIB,Cisco IOS软件版本10.2及更高版本支持这些MIB。思科建议您使用Cisco IOS软件的更新版本,如Cisco IOS软件版本12。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
在本文档显示的所有示例中,这些值用于说明目的:
-
172.16.99.20 — 路由器的IP地址。
-
10.68.191.135 - TFTP服务器的IP地址。
-
private - SNMP读写社区字符串。确保使用路由器上配置的读写字符串。在路由器CLI上发出show running-config命令以验证这一点。
-
发出thesnmpsetandsnmpwalk命令时的语法如下:
snmpset [options...]
{
} [
...] snmpwalk [options...]
{
} [
]
注意:要增加超时,请在snmpset命令中使用 — t <timeticks>选项。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
背景信息
验证您能从路由器ping TFTP服务器的IP地址:
Router#ping 10.68.191.135
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.68.191.135, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms:
步骤如下:
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 |
将运行配置文件从路由器复制到TFTP服务器
逐步指导
请完成以下步骤:
-
在TFTP服务器的/tftpboot目录下创建新文件router-config。在UNIX上,请使用语法:touch <filename>。
touch router-config
-
使用语法:chmod <permissions> <filename>将文件的权限更改为777。
chmod 777 router-config
-
在管理站命令行中,使用MIB objectwriteNetenter提供以下信息:
% snmpset 172.16.99.20 private .1.3.6.1.4.1.9.2.1.55.10.68.191.135
s router-config enterprises.9.2.1.55.171.68.191.135 = "router-config"
检查配置
验证TFTP服务器/tftpbootdirectory中的router-config文件是否成功复制。
将配置文件从TFTP服务器复制到路由器
逐步指导
-
执行这些任务之一:
-
使用syntaxchmod <permissions> <filename>将文件的权限更改为777。
chmod 777 router-config
-
在管理站命令行中,使用MIB objecthostConfigSet输入以下命令:
% snmpset -t 60 172.16.99.22 private .1.3.6.1.4.1.9.2.1.53.10.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 objectwriteMem将其复制到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
将Cisco IOS映像从路由器复制到TFTP服务器
逐步指导
-
执行这些任务之一:
-
使用syntaxchmod <permissions> <filename>将文件的权限更改为777。
chmod 777 c2600-i-mz.122-2.XA
-
在管理站命令行中,使用MIB objectflashToNet输入以下信息:
% 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"
检查配置
文件传输完成后,验证/tftpbootdirectory和路由器上的文件上的文件大小(字节)是否相同。
将Cisco IOS映像从TFTP服务器复制到路由器
逐步指导
请完成以下步骤:
-
将Cisco IOS映像放在TFTP服务器的/tftpbootdirectory中。请确保咨询“软件下载”(仅限注册客户)。
-
使用syntaxchmod <permissions> <filename>将文件的权限更改为777
chmod 777 <Cisco IOS image file>
-
在通过SNMP开始文件传输之前,请执行adir flash:orshow flash:以验证您是否有足够的空间容纳新的Cisco IOS映像文件。
如果在您的闪存中没有需要的空间,文件传输会发生故障。或者,您可以先清除闪存,以便通过SNMP为新的Cisco IOS软件腾出空间。如果是,请使用MIB objectflashErase命令从管理站命令行输入以下信息:
% 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命令ase flash:
-
验证闪存是否已完全清除。发出dir flash:orshow 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 objectnetToFlash输入以下信息,以便将Cisco IOS映像文件传输到路由器:
% snmpset 172.16.99.22 private .1.3.6.1.4.1.9.2.10.12.10.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"
注意:在本示例中,使用Cisco IOS映像文件c2600-i-mz.122-2.XA.bin进行说明。
-
根据Cisco IOS映像的文件大小(字节),此步骤可能需要几分钟才能完成。
如果尝试在路由器上传输文件期间执行CLI命令dir flash:,将显示此输出。此输出表示文件传输尚未完成。
Router#dir flash:
%Error opening flash:/ (Device in exclusive use)
-
Cisco IOS映像文件传输完成后,执行CLI命令dir flash:orshow flash:以验证文件名和文件大小(字节)是否与TFTP服务器/tftpbootdirectory中使用/存在的文件完全匹配。
然后,您可以将配置寄存器设置为适当的值并重新加载路由器(如果需要)以加载新的Cisco IOS映像文件。有关如何执行此操作的更多详细信息,请参阅Cisco IOS软件配置文档。
附录 A
MIB对象详细信息
对象 |
writeNet |
OID |
.1.3.6.1.4.1.9.2.1.55 |
类型 |
显示字符串 |
权限 |
仅写 |
状态 |
必需 |
MIB |
OLD-CISCO-SYS-MIB |
描述 |
将配置写入使用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 |
类型 |
显示字符串 |
权限 |
仅写 |
状态 |
过时 |
MIB |
OLD-CISCO-SYS-MIB |
描述 |
使用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 |
类型 |
显示字符串 |
权限 |
仅写 |
状态 |
必需 |
MIB |
OLD-CISCO-SYS-MIB |
描述 |
使用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 |
类型 |
显示字符串 |
权限 |
仅写 |
状态 |
必需 |
MIB |
OLD-CISCO-FLASH-MIB |
描述 |
将闪存条目写入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 |
类型 |
整数 |
权限 |
仅写 |
状态 |
必需 |
MIB |
OLD-CISCO-FLASH-MIB |
描述 |
请求擦除闪存。 |
树中的OID |
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lflash(10)6 } |
对象 |
flashToNet |
OID |
.1.3.6.1.4.1.9.2.10.12 |
类型 |
显示字符串 |
权限 |
仅写 |
状态 |
必需 |
MIB |
OLD-CISCO-FLASH-MIB |
描述 |
从TFTP服务器写入闪存条目。值必须是要写入的闪存条目的名称。实例是TFTP主机的IP地址。 |
树中的OID |
::= { ISO(1)org(3)DOD(6)Internet(1)私有(4)企业(1)cisco(9)local(2)lflash(10)12 } |