Guest

IP Application Services

Moving Files and Images Between a Router and TFTP Server via SNMP

Document ID: 7910

Updated: Jul 05, 2006

   Print

Introduction

This document describes how to move configuration files and Cisco IOS® images between a router and a Trivial File Transfer Protocol (TFTP) server with the use of Simple Network Management Protocol (SNMP).

Prerequisites

Requirements

Readers of this document should be knowledgeable of SNMP and MIBs.

Components Used

The information in this document is based Cisco IOS Software Release 10.2 or later. The MIBs that these examples use are OLD-CISCO-SYS-MIB and OLD-CISCO-FLASH-MIB, which are supported in Cisco IOS Software Release 10.2 and later. Cisco recommends that you use a more recent release of Cisco IOS software such as Cisco IOS Software Release 12.0.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

In all the examples that this document shows, these values are used for illustration purposes:

  • 172.16.99.20—IP address of the router.

  • 171.68.191.135—IP address of the TFTP server.

  • private—SNMP read-write community string. Make sure that you use the read-write string configured on your router. Issue the show running-config command on the router CLI in order to verify this.

  • The syntax for when you issue the snmpset and snmpwalk commands are in these examples:

    snmpset [options...] <hostname> {<community>} [<objectID> <type> <value> ...] 
    snmpwalk [options...] <hostname> {<community>} [<objectID>] 
    

    Note: In order to increase the timeout, use the -t <timeticks> option in the snmpset command.

For more information on document conventions, refer to Cisco Technical Tips Conventions.

Background Information

Verify that you can ping the IP address of the TFTP server from the router:

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:

The procedures are:

  • Not applicable for Catalyst switches based on Cisco IOS® software, such as the Catalyst 2900/3500XL series.

  • Not applicable for Catalyst switches based on CatOS software, such as the Catalyst 4000/5000/6000 series.

  • Not applicable for Catalyst 6000 series Multilayer Switch Feature Card (MSFC) and MSFC2 modules that run Cisco IOS software.

  • Not applicable if SNMP Read-Write community string in not configured or not known on the router. Refer to How to Configure SNMP Community Strings on Routers, Cisco IOS Software-Based XL Switches, RSMs, MSFCs and Catalyst Switches for the detailed procedure on how to configure the SNMP community strings.

  • This is not recommended if you use a run-from-Flash device such as the Cisco 2500 series router.

  • This is not recommended if you use Cisco devices that run Cisco IOS Software Release 12.0 (on some devices, as early as Cisco IOS Software Release 11.2P) or later. This is because the OLD-CISCO* (OLD-CISCO-SYS-MIB) MIBs are deprecated since Cisco IOS Software Release 12.0. Therefore, if you run Cisco IOS Software Release 12.0 or later, you must use the CISCO-CONFIG-COPY-MIB.

  • Based on command line syntax of NET-SNMP leavingcisco.com (previously known as UCD-SNMP) Utilities. If you use some other SNMP applications like HP Open View or NetView, make sure that you verify the syntax which can be different from the one shown in the examples in this document.

  • Based on OLD-CISCO-SYS-MIB and OLD-CISCO-FLASH-MIB. The MIB objects from this MIB are used:

MIB Object Name 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

For further information on the MIB objects in this table (includes definitions), see Appendix A of this document.

Follow the Cisco bug ID links here in order to see detailed bug information.

  • Cisco bug ID CSCdk33879 (registered customers only) : Deprecate all OLD-CISCO-* MIBS

  • Cisco bug ID CSCdt11311 (registered customers only) : SNMP request for a configuration that uses OLD-CISCO-SYSTEM-MIB brings ISDN down.

Copy a Running Configuration File from the Router to the TFTP Server

Step-by Step Instructions

Complete these steps:

  1. Create a new file, router-config, in the /tftpboot directory of the TFTP server. On UNIX, use the syntax: touch <filename>.

    touch router-config
    
  2. Change the permissions of the file to 777 with the syntax: chmod <permissions> <filename>.

    chmod 777 router-config
    
  3. From the management station command line, with the use of the MIB object writeNet enter this information:

    % 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"

Verify the Configuration

Verify that the router-config file in the /tftpboot directory of the TFTP server copies over successfully.

Copy a Configuration File from the TFTP Server to the Router

Step-by Step Instructions

Complete these steps:

  1. Perform one of these tasks:

    • Create a new file, router-config in the /tftpboot directory of the TFTP server. On UNIX, use the syntax touch <filename>.

      touch router-config
    • Place your current configuration file in the /tftpboot directory of the TFTP server.

  2. Change the permissions of the file to 777 with the use of the syntax chmod <permissions> <filename>.

    chmod 777 router-config
  3. From the management station command line, with the use of the MIB object hostConfigSet, enter this:

    % 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"

    Where - t 60 equals a timeout of 60 timeticks.

  4. After the file is written to RAM, copy it to NVRAM with the use of the MIB object writeMem:

    % 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
    

Copy a Cisco IOS Image from the Router to the TFTP Server

Step-by Step Instructions

Complete these steps:

  1. Perform one of these tasks:

    • Create a new file, router-image, in the /tftpboot directory of the TFTP server. On UNIX, use the syntax touch <filename>.

      touch router-image
    • Use the same file name shown in the show flash output in order to create the file on the /tftpboot directory of the TFTP server. For this example, the router lists c2600-i-mz.122-2.XA as the output for the show flash: command.

      touch c2600-i-mz.122-2.XA
  2. Change the permissions of the file to 777 with syntax chmod <permissions> <filename>.

    chmod 777 c2600-i-mz.122-2.XA
  3. From the management station command line, with the use of the MIB object flashToNet, enter this information:

    % 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"

Verify the Configuration

After the file transfer completes, verify that the file size (bytes) is the same on the file in the /tftpboot directory and on the router.

Copy a Cisco IOS Image from the TFTP Server to the Router

Step-by Step Instructions

Complete these steps:

  1. Place the IOS image in the /tftpboot directory of the TFTP server. Make sure that you consult with the Download Software Area (registered customers only) .

  2. Change the permissions of the file to 777 with the use of the syntax chmod <permissions> <filename>

    chmod 777 <IOS image file>
  3. Before you start the file transfer via SNMP, perform a dir flash: or show flash: in order to verify that you have enough space for the new IOS image file.

    If you do not have the necessary space in your Flash, the file transfer fails. Alternately, you can erase the Flash first to make room for the new IOS software via SNMP. If so, use the MIB object flashErase command in order to enter this information from the management station command line:

    % 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

    Note: You can also erase the router's Flash manually when you issue the CLI command erase flash:.

  4. Verify that the Flash is erased completely. Issue the dir flash: or show flash: command.

    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)
  5. From the management station command line, use the MIB object netToFlash to enter this information in order to transfer the IOS image file to the router:

    % 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"

    Note: In this example, the IOS image file, c2600-i-mz.122-2.XA.bin, is used for illustration.

  6. Based upon the file size (bytes) of the IOS image, this step can take a few minutes in order to complete.

    If you try to perform the CLI command dir flash: during the file transfer on the router, this output appears. This output indicates that the file transfer has not yet completed.

    Router#dir flash:
    %Error opening flash:/ (Device in exclusive use)
  7. Once the IOS image file transfer completes, perform the CLI command dir flash: or show flash: in order to verify that both the file name and the file size (bytes) exactly match with the file that is used/present in the /tftpboot directory of the TFTP server.

    You can then set the config register to the appropriate value and reload the router (if needed) to load the new IOS image file. Refer to the Cisco IOS Software Configuration documentation for further details on how to do this.

Appendix A - MIB Object Details

Object writeNet
OID .1.3.6.1.4.1.9.2.1.55
Type DisplayString
Permission write-only
Status mandatory
MIB OLD-CISCO-SYS-MIB
Description Write configuration to host that uses TFTP.
OID in Tree ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) local(2) lsystem(1) 55 }

Object hostConfigSet
OID .1.3.6.1.4.1.9.2.1.53
Type DisplayString
Permission write-only
Status obsolete
MIB OLD-CISCO-SYS-MIB
Description Causes a new host-confg file to load with the use of TFTP.
OID in Tree ::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) local(2) lsystem(1) 53 }

Object writeMem
OID .1.3.6.1.4.1.9.2.1.54
Type DisplayString
Permission write-only
Status mandatory
MIB OLD-CISCO-SYS-MIB
Description Causes a new host-confg file to load with the use of TFTP.
OID in Tree ::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) local(2) lsystem(1) 54 }

Object flashToNet
OID .1.3.6.1.4.1.9.2.10.9
Type DisplayString
Permission write-only
Status mandatory
MIB OLD-CISCO-FLASH-MIB
Description Write Flash entry to the TFTP server. The value needs to be the name of the Flash entry to send. Instance is the IP address of the TFTP host.
OID in Tree ::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) local(2) lflash(10) 9 }

Object flashErase
OID .1.3.6.1.4.1.9.2.10.6
Type Integer
Permission write-only
Status mandatory
MIB OLD-CISCO-FLASH-MIB
Description Request to erase Flash memory.
OID in Tree ::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) local(2) lflash(10) 6 }

Object netToFlash
OID .1.3.6.1.4.1.9.2.10.12
Type DisplayString
Permission write-only
Status mandatory
MIB OLD-CISCO-FLASH-MIB
Description Write Flash entry from the TFTP server. The value needs to be the name of the Flash entry to write. Instance is the IP address of the TFTP host.
OID in Tree ::= { ISO(1) org(3) DOD(6) Internet(1) private(4) enterprises(1) cisco(9) local(2) lflash(10) 12 }

Related Information

Updated: Jul 05, 2006
Document ID: 7910