Kamis, 28 Mei 2009

How to Configure Load Balancing in a Cisco Router

When would you need this: When you are using a dynamic routing protocol, and have more than one path to destination networks.

The first fact to be set is that ALL router platforms support load balancing. And in a short description, load balancing is the operation in which the router forwards packets in different routes to the same destination. This happens when there is more than one entry in the routing table for the same destination network.

There are two types of load balancing:

1. Multiple entries to the same destination with equal metrics.

In this situation, protocols like RIP, RIPv2, IGRP, EIGRP, and OSPF automatically does the operation and no configuration is needed.

2. Multiple entries to the same destination with different metrics.

With a complex metric calculation, like IGRP and EIGRP, it is rare to get metrics to be equal to the same destination for different paths. In this case, configuration is needed.

You can configure something called ‘variance’. The variance value, determines the percentage that you are willing tolerate in choosing a secondary path. If the value of the variance is chosen to be 1, this means that only the paths with equal best metric will be used. And a value of 1.2, for example, means that the best path as well as the paths with a metric up to 1.2 of best path’s metric will be used.

A numerical example is,

For a variance of 1.3

If the best path’s metric is 1000, paths of metric in the range of 1000 to 1300 will be used. And remember that we are talking about multiple paths to the same destination.

And one more important note, we are talking about paths derived from the same routing protocol, i.e, paths with the same administrative distance.

The configuration of unequal path load balancing for IGRP and EIGRP is done with a single command:

Router(config-router)#variance X

Where X represent the value of the variance that you want to use.

Per-Packet and Per-Destination Load Balancing

There are two types of load balancing; Per-Packet and Per-Destination. In the Per-Packet load balancing, packets going to the same destination are sent over different paths. This way, you will guarantee that all paths to the destination network are being used. But using this method causes great amount of load on the routers’ resources and low-end routers may crash. Also, the packets may arrive out of order because of different network latencies in different paths.

Using the Per-Destination load balancing, packets going to one destination pass through one path. This way, you will lower the load on the router. But the different paths will not be utilized to the best.

To activate Per-Destination load balancing, issue the following command on the interface that you want to use this method of load balancing,

Router(config-if)#ip route-cache

And to activate Per-Packet load balancing use,

Router(config-if)#no ip route-cache

Newer switching schemes such as Cisco Express Forwarding (CEF) allow you to do per-packet and per-destination load-balancing more quickly. However, this method requires some extra resources to deal with maintaining CEF entries and adjacencies.

How to Copy IOS From One Cisco Router to Another

When would you need this: When you want to copy IOS file from one router to another for the purposes of upgrade or install. This is usually required when you do not have a TFTP server around.

Special Requirements: The flash size of the destination router should be adequate for the new IOS file size.

On the source router that contains the IOS file that you want to copy, issue the following command:

Router(config)#tftp-server flash:/SOURCE-IOS-FILE.bin

Where SOURCE-IOS-FILE.bin is the name of the IOS file that you want to copy. If you are using a router that has PCMCIA flash car, replace the ‘flash:’ with ‘slot0:’ or ‘slot1:’ in the previous command, depending on the slot that contains the file that you want to copy.

This command will make the router act as a TFTP server. And the rest of the procedure is done on the target router and can be found on this link.

After you complete the copy operation, issue the command:

Router(config)#no tftp-server flash:/SOURCE-IOS-FILE.bin


Rabu, 27 Mei 2009

How to Configure PPP on a Cisco Router

When would you need this: When you are creating a WAN link. And also when the other end of a WAN link is NOT a Cisco router. Point-to-Point Protocol can be used in synchronous, asynchoronous, HSSI, and ISDN links.

1. Get to the interface configuration mode and issue the following command,

Router(config-if)#encapsulation ppp

2. If you want to configure authentication (which is almost always the case), go through the following steps:

a. Choose the authentication type; Password Authentication Protocol (PAP), or Challenge Handshake Authentication Protocol (CHAP).

Router(config-if)#ppp authentication XXX

where XXX is the authentication type which can be: pap, chap, pap chap, or chap pap. The last two choices are to use the other authentication type when the first one fails.

CHAP is strongly recommended over PAP for two reasons. First, PAP sends the username and password in plaintext, while CHAP sends hashed challenges only. Second is that CHAP does an operation similar to periodic re-authentication in the middle of the communication session such that it provides more security than PAP.

b. Set a username and a password that the remote router would use to connect to your local router. You can define many username-password pairs for many PPP connections to the same router.

Router(config)#username USER password PASS

where USER is the host name of the remote router, and PASS is its password. Issue this command once for each PPP connection. For example if you are connecting RouterA to RouterB and RouterC, on RouterA issue this command once for each remote router.

c. Now you can set the username and password that you local router would use to access the remote router. For PAP authentication, you can specify the username and password that the local router will send to the remote router for authentication using the following command,

Router(config-if)#ppp pap sent-username USER passwrod PASS

For CHAP, two commands are used,

Router(config-if)#ppp chap hostname USER

Router(config-if)#ppp chap password PASS

The usernames and passwords are case sensitive, so be careful when writing them. This way, you will have to write the hostname and secret password of the remote router in your local router and write the hostname and secret password of your local router into your remote using the 'username' command.

If you do not set the username and password that will be sent from the local router to the remote router for authentication, the router will use its hostname and secret password instead.

3. You can monitor the quality of the serial link that is using PPP with the following command,

Router(config-if)#ppp quality PERCENT

where PERCENT is the minimum accepted link quality. If the link quality drops below PERCENT, the link will be shutdown and considered bad.

4. If the available bandwidth is small, you might consider compressing the data being transmitted using the following command,

Router(config-if)#ppp compress YYY

where YYY is the compression type which can be predictor or stacker.

Note: The compression might affect the system performance because it increases the CPU load. Check the CPU load with ‘show process cpu’ and disable the compression if the CPU load is over 65%.

5. To troubleshoot PPP, you can use the following commands,

Router#debug ppp negotioations

Router#debug ppp packets

Router#debug ppp errors

Router#debug ppp authentication


How to Configure Inter-VLAN Routing on a Cisco Router

When would you need this: When you want to perform routing between different VLANs.

Special Requirements: You have to make sure that your router support the frame tagging technology used between the switches.

Before jumping into the router configuration, you have to configure a port in the switch that will be connected to the router to be a trunk port. And keep remembering the VLAN tagging method that you configured the switch to use (ISL or 802.1Q, 802.10, or LANE).

What will be done in this procedure is creating logical interfaces inside the single physical interface that will be linking the switch to the router. These logical interfaces will be treated as separate interfaces in the routing decisions.

1. Remove the IP address from the physical interface, and turn it on,

Router(config-if)#no ip address

Router(config-if)#no shutdown

2. Create a logical interface to be assigned to one of the VLANs

Router(config-if)#int fastethernet 0/0.X

You can change the ‘fastethernet’ to the type you have and the ‘0/0’ with the interface number that you are using.

X represent the logical interface number (not number of logical interfaces). You can use any number here, but I think it is better to use the same number of the VLAN that you will assign to this logical interface. For example, for the logical interface that you will use for VLAN 5 use ‘int fastethernet 0/0.5'. This way, you will easily know which interface refers to which VLAN.

3. Assign the logical interface to a VLAN number

Router(config-subif)#encapsulation XXX Y

where XXX is the encapsulation type you are using for the VLANs (ex: isl or dot1q which is 802.1Q)

and Y is the VLAN number that this logical interface will be assigned to.

4. Assign an IP address to the logical interface

Router(config-subif)#ip address XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY

where XXX.XXX.XXX.XXX and YYY.YYY.YYY.YYY are the IP address and the subnet mask,respectively, you want to use. Remember to give the logical interface an IP address that is lying in the range of the available IP addresses in the VLAN you assigned it to. This interface will be the gateway to the hosts connected to this VLAN. This means that you should do the addressing of the logical interface, you do it exactly the way you do the physical interfaces usually.

Repeat the steps 2 to 4 for each VLAN that you want.

5. Configure static or dynamic routing in the way you need it. And treat the logical interfaces the exact same way you treat the physical interfaces when doing the routing.

If you like some VLANs (ie, networks) not to participate in the routing, you can either not include them in the routing protocol or not assign a logical interface for them.

6. Configure access-lists in the way you find appropriate to filter the traffic going from one VLAN to another and apply them to the logical interfaces the same way you apply them to physical interfaces.

Implementation notes:

1. If you plan to let routing updates go through the router from one VLAN to another, it is necessary to turn off split-horizon. Split-horizon technology forbids the update coming from one interface to go out the same interface. Slit-horizon can be turned off using the following command issued in the physical interface:

Router(config-if)#no ip split-horizon

2. Without the access-lists, there would not be much point of doing VLANs and inter-VLAN routing because without the VLANs everyone would be able to communicate with everyone else.

3. Most switches support trunks on FastEthernet or faster interfaces, and do not support the old Ethernet with 10Mbps.

How to Configure Site-to-Site VPN in Cisco Routers

When would you need this: When you want to create a secure tunnel to transfer data between two sites without the use of VPN concentrator or other security devices.

Special Requirements: The routers used must support IPSec. Most of Cisco routers do. Another need is that both sides use a static public IP address to connect to the Internet.

We will go through the steps to be done on one side and the same steps must be repeated on the other side too. The encryption of data will depend on a shared-key. This way, we will not need specialized CAs or RSA methodologies.

1. Create Internet Key Exchange (IKE) key policy. The policy used for our case is policy number 9, because this policy requires a pre-shared key.

Router(config)#crypto isakmp policy 9

Router(config-isakmp)#hash md5

Router(config-isakmp)#authentication pre-share

2. Setup the shared key that would be used in the VPN,

Router(config)#crypto isakmp key VPNKEY address XXX.XXX.XXX.XXX

where,

VPNKEY is the shared key that you will use for the VPN, and remember to set the same key on the other end.

XXX.XXX.XXX.XXX the static public IP address of the other end.

3. Now we set lifetime for the IPSec security associations,

Router(config)#crypto ipsec security-association lifetime seconds YYYYY

where YYYYY is the associations lifetime in seconds. It is usually used as 86400, which is one day.

4. Configure an extended access-list to define the traffic that is allowed to be directed through the VPN link,

Router(config)#access-list AAA permit ip SSS.SSS.SSS.SSS WIL.DCA.RDM.ASK DDD.DDD.DDD.DDD WIL.DCA.RDM.ASK

where,

AAA is the access-list number

SSS.SSS.SSS.SSS WIL.DCA.RDM.ASK is the source of the data allowed to use the VPN link.

DDD.DDD.DDD.DDD WIL.DCA.RDM.ASK is the destination of the data that need to pass though the VPN link.

5. Define the transformations set that will be used for this VPN connection,

Router(config)#crypto ipsec transform-set SETNAME BBBB CCCCC

where,

SETNAME is the name of the transformations set. You can choose any name you like.

BBBB and CCCCC is the transformation set. I recommend the use of “esp-3des esp-md5-hmac”. You can also use “esp-3des esp-sha-hmac”. Any one of these two will do the job.

6. After defining all the previous things, we need to create a cypto-map that associates the access-list to the other site and the transform set.

Router(config)#crypto map MAPNAME PRIORITY ipsec-isakmp

Router(config-crypto-map)#set peer XXX.XXX.XXX.XXX

Router(config-crypto-map)#set transform-set SETNAME

Router(config-crypto-map)#match address AAA

where,

MAPNAME is a name of your choice to the crypto-map

PRIORITY is the priority of this map over other maps to the same destination. If this is your only crypto-map give it any number, for example 10.

XXX.XXX.XXX.XXX the static public IP address of the other end

SETNAME is the name of the transformations set that we configured in step 5

AAA is the number of the access-list that we created to define the traffic in step 4

7. The last step is to bind the crypto-map to the interface that connects the router to the other end.

Router(config-if)#crypto map MAPNAME

where MAPNAME is the name of the crypto-map that we defined in step 6.

Now, repeat these steps on the other end, and remember to use the same key along with the same authentication and transform set.

Note: If you want to implement multiple VPN connections to multiple sites, you can do this by repeating the steps 2 to 7 (except step 3) for each VPN connection. The different crypto-maps and their assignments differentiate between the different VPN connections.

For troubleshooting purposes, you can use the following commands,

show crypto isakmp sa

show crypto ipsec sa

show crypto engine connections active

and show crypto map

Upgarde IOS CISCO Router

IOS Software Installation and Upgrade Procedure

This procedure applies to the following Cisco products:

  • Cisco 10001
  • Cisco 14001
  • Cisco 1600-R
  • Cisco 1700
  • Cisco 2600
  • Cisco 3600
  • Cisco 3700
  • Cisco 4000
  • Cisco 4500
  • Cisco 4700
  • Cisco AS53001
  • Cisco MC3810
1. Not currently supported in COMPASS.

Contents


Introduction

This document explains the procedure for upgrading a Cisco IOS® Software image on Access router platforms. The examples provided from the 2600 and 3600 Series Routers also apply to the list of router platforms mentioned below. The Cisco IOS software file names may vary depending on the Cisco IOS software version, feature set, and platform.The following Cisco series routers are addressed in this document:

  • Cisco 1000 Series Routers
  • Cisco 1400Series Routers
  • Cisco 1600-R Series Routers
  • Cisco 1700 Series Routers
  • Cisco 2600 Series Routers
  • Cisco 3600 Series Routers
  • Cisco 3700 Series Routers
  • Cisco 4000 Series Routers
  • Cisco 4700 Series Routers
  • Cisco AS5300 Series Routers
  • Cisco MC3810 Series Routers

The information in this document is based on Cisco IOS Software Release 12.0 or later.

The Field Engineer must receive permission from Cisco VISE that a software image upgrade is required, BEFORE carrying out any of these procedures.

Before You Begin

Step 1: Install a TFTP Server
A Trival File Transfer Protocol (TFTP) server or a Remote Copy Protocol (RCP) server application must be installed on a TCP/IP-ready workstation or PC. Once the application is installed, a minimal level of configuration must be performed.

  • Note: Cisco no longer supply or support their own TFTP Server application, however searching within your favourite search engine for "TFTP Server" will locate a third party TFTP application for you. Alternatively, you may find Cisco's unsupported TFTP Server application on the COMPASS CD.
  1. First, the TFTP application must be configured to operate as a TFTP server as opposed to a TFTP client.
  2. The outbound file directory must be specified. This is the directory in which the Cisco IOS Software images are stored. Most TFTP applications provide a set-up routine to assist in these configuration tasks.

Step 2: Request which IOS Software Image is to be used.
The Field Engineer must ask the VISE engineer or the customer, which image is to be upgraded. It is not the responsibility of the Field Engineer to recommend software image versions. The software image may be provided by the customer, and so the Field Engineer must ask the Cisco VISE engineer for directions.

Step 3: Download the Cisco IOS Software Image
Download the Cisco IOS Software image into your workstation or PC from the Cisco website (http://www.cisco.com).


Software Installation and Upgrade Procedures

Routers with Internal Flash (for example, 2600 Series Routers)
Routers with PCMCIA Flash cards (for example, 3600 Series Routers)


Cisco 2600 Series Routers Upgrade Procedure

Step 1: Establish a console session to the router

Even if it is possible to connect to the router through a telnet session, it is strongly recommended to be directly connected to the router using the console port. The reason is that if something goes wrong during the upgrade, it might be necessary to be physically located next to the router to power-cycle it. Moreover, the telnet connection will be lost while the router is rebooting during the upgrade procedure.

A rolled cable (usually a flat black cable) is used to connect the console port of the router to one of the COM ports of the PC.

Once the PC is connected to the console port of the router, you need to open Hyperterminal on the PC, and use the following settings:

     Speed 9600 bits per second

8 databits

0 parity bits

1 stop bit

No Flow Control

Note: If you are getting any garbage characters in the hyperterminal session, this means that you have not set the hyperterminal properties properly, or the config-register of the router is set to a non-standard value for which the console connection speed is higher than 9600 bps. Check the value of the config-register using the show version command (shown in the last line of the output) and ensure it is set to 0x2102 or 0x102. It is necessary to reload the router for a configuration register change to take effect. Once you are sure the console speed is set to 9600 bps on the router side, you should check the hyperterminal properties as above .

Booting Problems

Once you are connected to the console port of the router, you might notice that the router is either in ROMmon or Boot mode. These two modes are used for recovery and/or diagnostic procedures. If you do not see the usual router prompt, you should follow the recommendations below to proceed with the upgrade procedure installation.

  1. Router boots in rommon mode, and the following message appears when you issue dir flash: command.
  2. rommon 1 > dir flash:
    device does not contain a valid magic number
    dir: cannot open device "flash:"
    rommon 2 >

    When you see the above error message, it means the Flash is empty or the filesystem is corrupted. A Xmodem console download procedure using ROMmon may then be necessary.

  3. Router boots in boot mode, with the following messages on the console:
  4. router(boot)>
    device does not contain a valid magic number
    boot: cannot open "flash:"
    boot: cannot determine first file name on device "flash:"

When you get the above error messages on the console output, it means the Flash is empty or the file system is corrupted. Copy a valid image on the Flash by following the procedures provided in this document.

Step 2: Verify that the TFTP server has IP connectivity to the router

The TFTP server must have a network connection to the router, and must be able to ping the IP address of the router targeted for a TFTP software upgrade. To achieve this, the router interface and the TFTP server must have:

  • an IP address in the same range, or
  • a default gateway configured.

To verify this, check the IP address of the TFTP server.

Step 3: Copy the new image into the Flash memory of the 2600 Series Router through the TFTP server
  1. Now that you have IP connectivity and can ping between the computer acting as a TFTP server and the router, you can copy the Cisco IOS Software image into the Flash.

    Note: Before copying, make sure you have started the TFTP server software on your PC and that you have the filename mentioned in the TFTP server root directory. We recommend that you keep a backup of the router/access server configuration before upgrading. The upgrade itself does not affect the configuration (which is stored in nonvolatile RAM (NVRAM). However, this might happen if the right steps are not followed properly.

    For RCP applications, substitute RCP for every occurrence of TFTP. For example, use the copy rcp flash command instead of the copy tftp flash command.

    2600> enable
    Password:xxxxx
    2600#
    2600# copy tftp flash

    If necessary, you can copy an image from one device to another.

  2. Specify the IP address of the TFTP server.

    When prompted, enter the IP address of the TFTP server as in the following example:

    Address or name of remote host []? 10.10.10.2
  3. Specify the filename of the new Cisco IOS Software image.

    When prompted, enter the filename of the Cisco IOS Software image to be installed, as in the following example:

    Source filename []? c2600-i-mz.121-14.bin

    Note: The filename is case sensitive, so be sure to enter it correctly.

  4. Specify the destination filename.

    This is the name the new software image will have when it is loaded onto the router. The image can be named anything, but common practice is to enter the same image filename.

    Destination filename []? c2600-i-mz.121-14.bin

    Note: If you see the below error message:

    %Error copying tftp://10.10.10.2/c2600-i-mz.121-14.bin
    (Not enough space on device)

    This indicates that there is not enough room available in Flash to copy the image. You need to erase a file(s) before copying the new image from the TFTP server.

  5. Upgrade the new image from a TFTP server
    2610#copy tftp flash
    Address or name of remote host []? 10.10.10.2
    Source filename []? c2600-i-mz.121-14.bin
    Destination filename [c2600-i-mz.121-14.bin]?y
    Accessing tftp://10.10.10.2/c2600-i-mz.121-14.bin...
    Erase flash: before copying? [confirm]y !---If there is not enough
    !--- memory available, erase the Flash
    Erasing the flash filesystem will remove all files! Continue? [confirm]y
    Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    eeeeeeeeee ...erased
    Erase of flash: complete
    Loading c2600-i-mz.121-14.bin from 10.10.10.2 (via Ethernet0/0): !!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 4501480/9001984 bytes]

    Verifying checksum... OK (0xAC8A)
    4501480 bytes copied in 56.88 secs (80383 bytes/sec)

    The copying process takes several minutes; the time differs from network to network. During the copy process, messages are displayed to indicate which file has been accessed.

    The exclamation point "!" indicates that the copy process is taking place. Each exclamation point indicates that ten packets have been transferred successfully. A checksum verification of the image occurs after the image is written to Flash memory.

After you have upgraded the Flash, you need to reload the router using the reload command.

Before you reload the router, you need to check two things:

  • The value of the config-register - You can check this using the show version command. The value is shown in the last line of the show version output. It should be set to 0x2102.
      2610#configure terminal
      Enter configuration commands, one per line. End with CNTL/Z.
      2610(config)#config-register 0x2102
      2610(config)#^Z
  • The other files on the Flash - If the first file in the Flash is not the Cisco IOS Software image, but a configuration file or something else, then you need to configure a boot system statement in order to boot the specified image. Otherwise, the router will try to boot with the configuration file or the first file in the Flash; this will not work. If there is only one file in the Flash which is the Cisco IOS Software image, then this step is not necessary.
      2610#configure terminal
      Enter configuration commands, one per line. End with CNTL/Z.
      2610(config)#no boot system
      2610(config)#boot system flash c2600-i-mz.121-14.bin
      2610(config)#^Z

Note: If you type the reload command, the router asks you if you want to save the configuration. You should be very cautious here. The reason is that if the router is in boot mode for instance, it is a subset of the full Cisco IOS software which is running and there is no routing functionality. Therefore, all the routing configuration is gone in the running configuration and if you save the configuration at this time, then you erase the good startup-configuration in NVRAM and replace it by the incomplete running-configuration. Save the configuration only if you are sure that you have the full configuration in the output of show run. It is NOT necessary to save the configuration to take into account the new config-register if this one has been changed previously. That is done automatically.

2610#reload

System configuration has been modified. Save? [yes/no]: y
Building configuration...
[OK]
Proceed with reload? [confirm]y

Verify that the router is running with the proper image. After the reload is complete, the router should be running the desired Cisco IOS Software image. Use the show version command to verify.

2610#show version
00:22:25: %SYS-5-CONFIG_I: Configured from console by console
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.1(14), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 25-Mar-02 20:33 by kellythw
Image text-base: 0x80008088, data-base: 0x80828788

ROM: System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)

2610 uptime is 22 minutes
System returned to ROM by reload
System image file is "flash:c2600-i-mz.121-14.bin"


Cisco 3600 Series Routers (with PCMCIA cards) Upgrade Procedure

Step 1: Establish a console session to the router

See Establish a console session to the router for more information.

Note: Once connected to the router through the console port, if you get a ">" or "rommon >" prompt, your router is in ROM monitor (ROMmon) mode. If the router is showing the "router (boot)>" prompt, then the router is in boot mode. See booting problems for steps to handle either of these situations.

Step 2: Verify the amount of free space on the Flash memory card (PCMCIA slot)

At this point, you need to verify that you have enough space in the Flash memory card to copy the new image. If there is not enough memory, you need to delete some files to make enough space. In some situations, if the image is very large, you may need to delete the current image in the Flash memory card.

To determine the amount of free space, and to show files currently located in slot0: or slot1:, issue the dir{device:} command.

3600#dir slot1:
Directory of slot1:/

1 -rw- 2779832 c3640-i-mz.113-11c.bin
2 -rw- 3748760 c3640-i-mz.120-22.bin

Verify that the name and the file size are correct.

If you find that there is not enough space, you can delete the file. The delete{device:}[filename] command deletes the file.

3600#delete slot1:
Delete filename []? c3640-i-mz.113-11c.bin
Delete slot1:c3640-i-mz.113-11c.bin? [confirm]y

Note: Do not reload or powercycle the router if there is not a valid image in the Flash; this causes the router to boot into rommon or bootmode.

Step 3: Verify that the TFTP server has IP connectivity to the router

The TFTP server must have a network connection to the router and must be able to ping the IP address of the router targeted for a TFTP software upgrade. To achieve this, the router interface and the TFTP server must have:

  • an IP address in the same range, or
  • a default gateway configured

To verify this, check the IP address of the TFTP server.

Step 4: Copy the new image into the Flash memory card through the TFTP server

Now that you have IP connectivity and can ping between the computer acting as a TFTP server and the router, you can copy the image into the right slot.

Note: Before copying, make sure you have started the TFTP server software on your PC and that you have the filename mentioned in the TFTP server root directory. We recommend that you keep a backup of the router/access server configuration before upgrading. The upgrade itself does not affect the configuration (which is stored in nonvolatile RAM -NVRAM). However, this may happen if the right steps are not followed properly.

For RCP applications, substitute RCP for every occurrence of TFTP. For example, use the copy rcp {device:} command instead of the copy tftp {device:} command.

If necessary, you can copy an image from one device to another.

3600#copy tftp: slot1:
Address or name of remote host []? 171.68.173.10
Source filename []? c3640-i-mz.122-7b.bin
Destination filename [c3640-i-mz.122-7b.bin]?
Accessing tftp://171.68.173.10/c3640-i-mz.122-7b.bin...
Erase slot1: before copying? [confirm]n !--- Here you are specifying "n"
!--- because there is enough memory available.
Loading c3640-i-mz.122-7b.bin from 171.68.173.10 (via Ethernet1/0):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!
[OK - 5996844/11993088 bytes]

Verifying checksum... OK (0x13F0)
5996844 bytes copied in 67.708 secs (89505 bytes/sec)
3600#

Use the dir slot1: command to check whether the image has been copied to slot1. Below, you can see that the new image c3640-i-mz.122-7b.bin has been copied on the PCMCIA slot1:

3600#dir slot1:
Directory of slot1:/

2 -rw- 3748760 c3640-i-mz.120-22.bin
3 -rw- 5996844 c3640-i-mz.122-7b.bin
Step 5: Set boot statements to load the new image upon startup

After copying the image through TFTP, you may need to tell the router which image to load upon boot up.

Checking Current Boot Statements

At this point, the new image is now in the slot1. You need to set the router to boot the new image. By default, the router boots the first available image (the default is enabled when there are no boot statements in the configuration).

3600#show running-config
Building configuration...

Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname 3600
!
boot system flash slot1:c3640-i-mz.120-22.bin
!
ip subnet-zero
!

The commands appear at the begginning of the configuration. In our example above, it shows the router has a boot system command configured as boot system flash slot1:c3640-i-mz.120-22.bin.

If you have boot system command entries in your configuration, you need to remove them from the configuration. For more information on removing boot entries, refer to the next section.

Removing Previous Boot Statements

To remove the commands, enter into configuration terminal mode. From the configuration mode, you can negate any command by typing "no" in front of each boot statement. The following example illustrates the removal of an existing boot statement.

3600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
3600(config)#no boot system flash slot1:c3640-i-mz.120-22.bin
3600(config)#^Z
3600#

The statement "no boot system flash slot1:c3640-i-mz.120-22.bin" is removed from the configuration. Verify that the command has been removed by issuing the show running-config command.

Setting New Boot Statements

Now set the router to boot the new image. Issue the following command to set the boot system parameter:

boot system flash slot#:{imagename} (imagename = name of the new Cisco IOS software image)

3600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
3600(config)#boot system flash slot1:c3640-i-mz.122-7b.bin
3600(config)#^Z
3600#write memory
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0
Building configuration...
3600#

Be sure to verify that you are using config-register 0x2102 by issuing the show version command. If it is set up differently, you can change it by issuing the following command in configuration mode:

3600#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
3600(config)#config-register 0x2102
3600(config)#^Z

After changing the config-register, the change takes place at the next reload.

Step 6: Reboot the router to load the new image

For the router to run the new Cisco IOS software image, you need to reload the router. Make sure you have saved the configuration by issuing the copy running-config starting-config or write memory commands.

3600#write memory
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11)
Building configuration...
3600#reload
Step 7: Verify the upgrade

After the router comes up, make sure you are currently running the new version of code, by issuing the show version command.

3640#show version
Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-I-M), Version 12.2(7b), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 04-Mar-02 20:23 by pwade
Image text-base: 0x600089A8, data-base: 0x60A6A000

ROM: System Bootstrap, Version 11.1(19)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (f)

Router uptime is 2 minutes
System returned to ROM by reload
System image file is "slot1:c3640-i-mz.122-7b.bin"

cisco 3640 (R4700) processor (revision 0x00) with 59392K/6144K bytes of memory.

Processor board ID 10524422
R4700 CPU at 100Mhz, Implementation 33, Rev 1.0
Bridging software.
X.25 software, Version 3.0.0.
4 Ethernet/IEEE 802.3 interface(s)
DRAM configuration is 64 bits wide with parity disabled.
125K bytes of non-volatile configuration memory.
4096K bytes of processor board System flash (Read/Write)
20480K bytes of processor board PCMCIA Slot0 flash (Read/Write)
20480K bytes of processor board PCMCIA Slot1 flash (Read/Write)

Configuration register is 0x2102

Verify that the version 12.2(7b) is correct and the config-register is set to 0x2102.

Page last updated on: 05/18/2007 21:23:42
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved.

Truble Proses :

Note: In step 1 or after the upgrade, if the router boots into rommon mode or boot mode and you have one of the following case:

rommon 1 > dir flash:

device does not contain a valid magic number

dir: cannot open device "flash:"

rommon 2 >

or

router(boot)>

device does not contain a valid magic number

boot: cannot open "flash:"

boot: cannot determine first file name on device "flash:"

This means that the flash is empty or the file system is corrupted. In this case, you have to consider using the procedure of Upgrading or Installing the IOS from ROMmon mode.

Before starting the procedure of IOS upgrade or installation, you will need to install TFTP server software on a PC connected to the router Ethernet interface. There are many free downloadable TFTP servers’ software on the Internet, however, our recommendation is Free TFTP Server 6.0.

Afterwards, you make sure to direct the TFTP server to the folder containing the new IOS image that you have.

If you are using this procedure to upgrade the IOS file and you router works fine, it is preferred to backup the old IOS file before starting the upgrade procedure. For this purpose, refer to the IOS backup procedure .

1. Create a console connection with the default settings (9600 baud, 8 databits, 0 parity bits, 1 stop bit, no flow control).

2. If your flash or IOS file are corrupted and your router goes directly to router boot mode (Router(boot)#), go to step 4. If your router has some problems and boots into the ROMmon mode directly(rommon 1> or >), go to step 3. If your router boots normally, interrupt the router boot sequence by pressing Ctrl-Break once the router is powered on. This will take you to ROMmon mode with the prompt:

rommon 1>

Or

>

3. Change the value of the configuration register to 0x2101 to instruct the router to boot into router boot mode. Afterwards, reload the router.

If you have the ‘rommon 1>’ prompt use the commands:

rommon 1> confreg 0x2101

rommon 2> reset

While if you have the ‘>’ prompt, use:

> o/r 0x2101

> i

4. Now you are in the router boot mode with the prompt (Router(boot)#), you will need to give a valid IP address and default-gateway address to the router so it can communicate with the TFTP server.

Router(boot)>enable

Router(boot)#configure terminal

Router(boot)(config)#interface ethernet 0

Router(boot)(config-if)#ip address ZZZ.ZZZ.ZZZ.ZZZ 255.255.255.0

Router(boot)(config-if)#no shutdown

Router(boot) (config-if)#exit

Router(boot)(config)#ip default-gateway YYY.YYY.YYY.YYY

5. Check the connectivity between the router and the TFTP server with the ‘ping’ command.

6. Start the copying of the new IOS file from the TFTP server to the flash.

Router(boot)#copy tftp flash

Now you will be asked for the IP address of the TFTP server

Address or name of remote host [255.255.255.255]? XXX.XXX.XXX.XXX

Then, the source file name,

Source file name? cXXXX-X-X.XXX-XXX.bin

Please note that the file name is case sensitive and make sure that the TFTP server’s working directory is the one containing the new IOS file.

Afterwards, you will be asked for a destination file name,

Destination file name [cXXXX-X-X.XXX-XXX.bin]?

It is advised that you keep the file name unchanged for future reference.

Accessing file 'cXXXX-X-X.XXX-XXX.bin' on XXX.XXX.XXX.XXX...

Loading cXXXX-X-X.XXX-XXX.bin from XXX.XXX.XXX.XXX (via Ethernet0):

! [OK] Device needs erasure before copying new file

Erase flash device before writing? [confirm]y

Copy 'cXXXX-X-X.XXX-XXX.bin' from server as 'cXXXX-X-X.XXX-XXX.bin' into Flash

WITH erase? [yes/no]yes

Erasing device...

eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erased

Loading cXXXX-X-X.XXX-XXX.bin from XXX.XXX.XXX.XXX (via Ethernet0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!

[OK - xxxxxx/yyyyyyy bytes]Verifying checksum... OK (0x6526)

Flash device copy took 00:yy:yy [hh:mm:ss]

Router(boot)#

7. Change back the configuration register value to 0x2102.

Router(boot)#configure terminal

Router(boot)(config)#config-register 0x2102

Router(boot)(config)#exit

Router(boot)#

8. Reload the router

Router(boot)#reload

System configuration has been modified. Save? [yes/no]: no

Building configuration...

[OK]

Proceed with reload? [confirm]

9. Everything should look fine now, and you should be getting the regular (Router>) prompt. To check the version and file name of the new IOS, use the ‘show version’ command.