domingo, junio 12, 2022

Cargar una imagen en la flash de nuestro router Cisco desde ROMMON

 ¿Has borrado sin querer la flash de tu router Cisco?, ¿la flash se ha corrompido y has tenido que sustituirla por una nueva sin poder cargar ninguna imagen? Aquí te mostramos cómo cargar una imagen en el router desde ROMMON, la línea de comando limitada en la que arrancan los routers Cisco cuando no encuentran una imagen válida que cargar.

Prerrequisitos

Necesitarás lo siguiente:

-El router, obviamente. En nuestro caso usamos un Cisco 2811.

-Un PC con un servidor TFTP lanzado. Un servidor TFTP libre y muy popular es TFTPD64. En el directorio al que apunte el servidor (D:/TFTP en el ejemplo) debemos poner la imagen que queramos cargar luego al router (c2800nm-adventerprisek9-mz.124-25g.bin, en nuestro ejemplo).

-Router y PC deben estar cableados a un mismo switch o al menos conectarlos entre ellos mediante un latiguillo de red para que el router pueda alcanzar el servidor TFTP. En nuestro ejemplo hemos conectado el puerto FastEthernet0/0 del router al mismo etherswitch que el PC.

 -Un emulador de consola para abrir una sesión en el router a través del puerto de consola de este. PuTTY o TeraTerm irán perfectos.

 

Procedimiento

Una vez arrancado el router estaremos en ROMMON:

Entering rommon> prompt after several failed attempts to boot an IOS image.
Please check your internal/external flash drives for the correct IOS image
and issue 'reset' at the rommon> prompt to re-try the boot process.
rommon 1 >

 Para que el router pueda comunicarse con el servidor TFTP hay que configurarle una IP, máscara, puerto de enlace, dirección del servidor TFTP y el nombre del fichero que queremos descargar. En nuestro ejemplo:

IP_ADDRESS=192.168.1.254
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=192.168.1.1
TFTP_SERVER=192.168.1.90
TFTP_FILE=c2800nm-adventerprisek9-mz.124-25g.bin

Podemos ver cómo ha quedado configurado con el comando set:

rommon 6 > set
PS1=rommon ! >
FE_PORT=0
WARM_REBOOT=FALSE
RET_2_RTS=21:56:59 UTC Wed Mar 23 2016
RELOAD_TYPE=1
BSI=0
RET_2_RCALTS=
RANDOM_NUM=29440168
?=0
IP_ADDRESS=192.168.1.254
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=192.168.1.1
TFTP_SERVER=192.168.1.90
TFTP_FILE=c2800nm-adventerprisek9-mz.124-25g.bin

Ahora para descargar la imagen usamos el comando tftpdnld y aceptamos continuar pulsando y, con lo que comienza la descarga:

 rommon 7 > tftpdnld

          IP_ADDRESS: 192.168.1.254
      IP_SUBNET_MASK: 255.255.255.0
     DEFAULT_GATEWAY: 192.168.1.1
         TFTP_SERVER: 192.168.1.90
           TFTP_FILE: c2800nm-adventerprisek9-mz.124-25g.bin
        TFTP_VERBOSE: Progress
    TFTP_RETRY_COUNT: 18
        TFTP_TIMEOUT: 7200
       TFTP_CHECKSUM: Yes
        TFTP_MACADDR: 00:26:99:5a:2a:80
             FE_PORT: Fast Ethernet 0
       FE_SPEED_MODE: Auto

Invoke this command for disaster recovery only.
WARNING: all existing data in all partitions on flash: will be lost!
Do you wish to continue? y/n:  [n]:  y
.
Receiving c2800nm-adventerprisek9-mz.124-25g.bin from 192.168.1.90 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[...]

File reception completed.
Validating checksum.
Copying file c2800nm-adventerprisek9-mz.124-25g.bin to flash:.
program load complete, entry point: 0x8000f000, size: 0xcb80

Format: All system sectors written. OK...
Format: Operation completed successfully.

Format of flash: complete
program load complete, entry point: 0x8000f000, size: 0xcb80

 La descarga puede llevar un buen rato. cuando finalice y todo esté correcto ejecutamos

reset

El router se reiniciará, arrancando con la nueva imagen .