En una entrada anterior sobre cómo se borra el IOS guardando la configuración, mencioné algunos métodos fáciles para recuperarlo, en ésta entrada describiré el procedimiento con el que se puede usar un enrutador como servidor TFTP, que es mi forma preferida de recuperar IOS en el laboratorio, en una próxima publicación describiré algunos interesantes comandos que trae la última versión del IOS. Espero que encuentre útil esta información o por lo menos interesante.
Ya describí antes cómo es de fácil borrar accidentalmente el IOS y también cómo es posible que nadie se da cuenta en el momento en que ocurre. Si alguien ha leído las entradas anteriores, ya puede reconocer el error cuando lo comete y puede evitar al instructor la tarea de recuperar el IOS y ganar unos puntos con él o ella, al mismo tiempo que refuerza los conceptos básicos de direccionamiento y conectividad de capa de red del modelo OSI usando el método de recuperación que voy a describir. No es crítico saber y usar este procedimiento, pero personalmente lo encuentro muy fácil, sin mencionar que, con frecuencia, los IOS de respalso suelen estar en algún servidor especial que está fuera de alcance público, necesita permiso para poder acceder a él o simplemente el servidor TFTP no mantiene encendido y hay que hacerlo para poder recuperar el sistema, bien sea diciendole a alguien más que lo haga o nosotros mismos levantar el servidor. Cualquiera que sea el caso, es incómodo tener que incurrir en todos estos inconvenientes como si fuera poco la esperita de recuperar un sistema operativo que nunca se debió haber borrado.
Básicamente lo que se necesita es tener un enrutador igual al que se le borró el IOS. Personalmente, hago este procedimiento con frecuencia en enrutadores de la serie 1700, ya que es con éstos que más ocurre el problema, pero lo que describo -tanto el error como la recuperación- sirve para las series más populares de enrutadores incluyendo los de servicios integrados.
El comando clave acá es
config)#tftp-server flash:<imagen de IOS>
Éste comando instruye al enrutador a prestar el servicio de tftp, publicando la imagen del IOS que se le haya especificado en el comando. Queda también claro, que éste comando puede servir en casos de recuperación rápida de configuraciones cuando ocurre algún accidente en entornos de producción, es decir, en el trabajo. Sobra decir que se ejecuta en modo de configuración global, que el archivo <imagen del IOS> debe existir en la Flash.
Una vez que se ha ejecutado el comando anterior en uno de los enrutadores, basta con establecer conectividad de capa 3 entre los mismos, en otras palabras, conectarlos a través de dos interfaces que pertenezcan a la misma subred. Siendo más ilustrativo, conecto los enrutadores con un cable cruzado por interfaces fastethernet, en uno configuro la interfaz fastethernet con ip 10.1.1.1 255.0.0.0 y la subo. Si el otro enrutador se configura con la dirección 10.1.1.2, con la misma máscara de subred, por la interfaz por la que está conectado al servidor, eso es conectividad de capa 3 y ya tenemos disponible un servidor tftp que contiene el archivo de IOS necesario. En la descripción anterior, en vez del cable cruzado se pueden usar cables directos a través de un switch pero es preferible usar un cable cruzado para evitar algún problema de configuración en el Switch, como que los puertos del switch en los que se conectan los enrutadores pertenezcan a Vlans diferentes, lo que no permitiría que hubiera conectividad de capa 3 así estén bien configurados los enrutadores. Le recomiendo usar un cable cruzado y asumiré que los equipos se conectaron de esa manera.
NOTA: Las direcciones propuestas son en el caso de enrutadores de laboratorio, aislados de cualquier otra red, en caso de enrutadores en producción, se debe elegir una subred que no esté en uso o conectar el enrutador sin IOS a un segmento de red y configurarlo como si fuera un nodo más de ese segmento.
La secuencia de configuración completa para un enrutador 1700 que ofrece su propio IOS (desde su propia memoria flash), omitiendo enable, sería
configure terminal
interface fastethernet 0/0
ip address 10.1.1.1 255.0.0.0
no shutdown
exit
tftp-server flash:c1700-y-mz.122-4.YA2.bin
En este punto podemos tener dos escenarios de enrutador sin IOS: un enrutador que fue apagado o reiniciado y por lo tanto está en ROMMON o un enrutador al que se le ha borrado el IOS pero que no se ha reiniciado todavía y por lo tanto está perfectamente operacional.
Escenario 1: enrutador sin IOS pero sin reiniciar
En el segundo caso, partiríamos de configurar la interfaz con la dirección adecuada, como de costumbre, con ip address (si continúa el ejemplo usaría la dirección 10.1.1.2) y no shutdown en modo de configuración de interfaz y luego ejecutar un comando que no puede ser más fácil
tftpServer)#copy tftp: flash:
en éste caso, el comando va a copiar un archivo del tftp a la flash e inicia un diálogo en el que pregunta la dirección del servidor (10.1.1.1 en nuestro caso) y el nombre del archivo, que debe ser el nombre exacto con el que se sirvió en el enrutador configurado como servidor tftp. El diálogo también puede preguntar si se desea borrar la flash y en ese momento ud. debe tener muy claro que la flash está efectivamente vacía, sino está seguro es recomendable cancelar y echar un vistazo (show flash:) para verificar que no se está empeorando la situación con este cambio. El comando anterior puede incluír también la dirección y el nombre de archivo, aunque si el enrutador acepta o no el comando completo depende de la versión de IOS que se esté ejecutando.
tftpServer)#copy tftp://10.1.1.1/c1700-y-mz.122-4.YA2.bin flash:
La secuencia de comandos completa, otra vez omitiendo enable, sería
configure terminal
interface fastethernet 0/0
ip address 10.1.1.2 255.0.0.0
no shutdown
exit
copy tftp: flash:
Escenario 2: Enrutador sin IOS reiniciado
Si el escenario es un enrutador en ROMMON, hay que usar el clásico comando tftpdnld. A veces puede resultar difícil recordar el comando y adicionalmente cómo se usa. Para recordar el comando sólo hay que recordar lo que significa: descarga de tftp, o en inglés tftp download. Si ud. junta las dos palabras y le quita las vocales (incluida la w) le queda justo el comando que debe recordar tftpdnld y tampoco es necesario saber exactamente cómo usarlo. Siempre que se ejecuta tftpdnld, muestra los parámetros de funcionamiento y explica qué se debe hacer. Básicamente, éste comando saca por pantalla un conjunto de variables de entorno que son la información necesaria para encontrar el servidor y el archivo, éstas son IP_ADDRESS, IP_SUBNET_MASK, DEFAULT_GATEWAY, TFTP_SERVER, TFTP_FILE. Casi todas son propiedades de capa 3, sólo la última es de naturaleza diferente: es el nombre exacto del archivo del IOS, otra forma de conocer el contenido de éstas variables es usando el comando set, pero a veces éste comando se confunde con la forma de establecer las variables en algunos sistemas operativos y shells, así que no lo recomiendo. Establecer éstas variables es muy simple pero estricto, las variables deben ser escritas en mayúsculas, no se puede dejar espacio entre el nombre de la variable y su parámetro, ni al final del mismo, es decir, para configurar la ip del enrutador se escribe exactamente
IP_ADDRESS=10.1.1.2
Sin espacios en ninguna parte y más importante aún: SIN ERRORES, es decir, como Rommon es tan elemental, a veces usar las flechas para moverse por la pantalla o borrar caracteres lo que hace es generar errores que el sistema no avisa, por lo que se debe escribir despacio y perfectamente el comando que acabo de indicar. Así mismo, se establecen las otras variables y finalmente se ejecuta de nuevo el comando tftpdnld que muestra los valores de las variables. Siempre es necesario revisarlas y asegurar que corresponden a la topología física y direccionamiento del servidor TFTP. Si el comando no funciona, probablemente sea necesario indicar nuevamente el nombre del IOS, que es sensible a la mayúscula y suele ser un nombre largo, lleno de puntos, números y rayas, p. ej.: c1700-y-mz.122-4.YA2.bin en el caso de un enrutador de la serie 1700, si lo copió a la memoria del PC y éste comando no funcionó, escríbalo manualmente, porque copiar el nombre puede generar caracteres adicionales no visibles o espacios adicionales al final o inicio del nombre que, le recuerdo, debe ser exactamente igual al del servidor.
Conclusiones
|
|
Y ya. Cualquiera que sea el escenario, ejecutando los comandos que relato y respondiendo a las preguntas de verificación de rigor, se borra la flash y se instala el “nuevo” IOS tomado de otro enrutador con las mismas características que el recuperado, sin necesidad de tener disponible un servidor TFTP en ninguna parte e incluso se podría usar el mismo procedimiento para hacer un clon exacto de otro enrutador incluyendo en esta operación los archivos de configuración. Como aclaración adicional, es indispensable que los enrutadores sean casi idénticos y que sea legal copiar el IOS, es decir, se tiene licencia del IOS copiado. Los IOS de la misma plataforma pueden variar mucho en tamaño, en capacidades y soporte de hardware y software, por lo que cualquier diferencia en los nombres de IOS original y copiado, cantidad de RAM o interfaces puede hacer que el enrutador quede funcionando mal, le haga falta soporte de alguna característica -falten comandos- o simplemente no arranque. De todas formas, la mejor recomendación es que siempre tenga copias de respaldo en algún medio confiable de los IOS que vengan con sus enrutadores, éste método es sólo una forma rápida de recuperarlos.
Etiquetas: cisco, Configuración


Hola,
Actualicé el IOS de mi equipo borrando antes la flash, después sin apagar el equipo cargué desde un TFTP el nuevo IOS.
seguido dí un RELOAD para que lo mostrara en el show ver pero se fué a ROMMON al reiniciarlo.
Saben porqué paso esto??
Graicas.
Hola Raúl,
verifica que la imagen que instalaste sí es soportada por el hardware y si la copia terminó correctamente (generalmente se hace una suma de verificación que debe ser exitosa).
Gracias y hasta pronto.
Borre la Flash por error, solo me aparece esto de abajo…. que hago?
switch: ?
? — Present list of available commands
boot — Load and boot an executable image
cat — Concatenate (type) file(s)
copy — Copy a file
delete — Delete file(s)
dir — List files in directories
flash_init — Initialize flash filesystem(s)
format — Format a filesystem
fsck — Check filesystem consistency
help — Present list of available commands
load_helper — Load and initialize a helper image
memory — Present memory heap utilization information
mkdir — Create dir(s)
more — Concatenate (display) file(s)
rename — Rename a file
reset — Reset the system
rmdir — Delete empty dir(s)
set — Set or display environment variables
set_param — Set system parameters in flash
trap — Cause a software breakpoint to occur
type — Concatenate (type) file(s)
— MORE –
unset — Unset one or more environment variables
version — Display boot loader version
switch:
Hola Luis,
lamento no haberte respondido antes, espero que todavía te sirva la información. Los switches que no arrancan el IOS se deben actualizar mediante el emulador de terminal (Hyperterminal o minicom) transfiriendo el archivo a la flash mediante xmodem. El procedimiento es escribir el comando copy xmodem: flash:c3500XL-c3h2s-mz.120-5.1.XP.bin (suponiendo que esa es la imagen de tu Switch), una vez tengas listo el comando, buscas la opción de enviar archivos por xmodem en el emulador. Intenta varias veces porque se requiere que ambas acciones se hagan dentro de 3 segundos.
La descripción oficial del proceso está en http://www.cisco.com/en/US/pro.....4955.shtml
Gracias y hasta pronto.
Buenas Cesar
Cisco dice que el comando “no service pass recovery” impide el acceso al modo ROMmon, de igual forma se puede acceder a dicho modo haciendo un break dentro de 5 segundos una vez que la IOS se haya descomprimido, esto provocara que el startup-config se elimine. Mi duda es, aunque se elimine dicho archivo, si yo anteriormente ingrese el comando secure boot-config, el archivo lo tengo guardado en la flash ATA, podre recuperar igualmente el archivo de inicio con el secure boot-config restore aunque haya sido eliminado el startup-config, o recuperarlo desde la ROMmon accediendo a la flash ATA???
Otra duda que tengo es, una vez emitido el comando “no service pass recovery” , si hago un break para ingresar en ROMmon y se borra el archivo de inicio, imaginate que al reiniciar el router no me funciona la IOS y se vuelve a cargar el solo en modo ROMmon, la funcion xmodem creo que no esta disponible con este comando , como recupero la IOS. Muchas gracias
Saludos
Hola Martin,
qué interesante pregunta, ya que parecen comandos en conflicto. Debo decirte que he interpretado la documentación oficial para darte respuesta, así que habrá que verificar en equipos de laboratorio si lo que te voy a decir es correcto.
El comando no serv pass rec es un comando viejo que sólo activa una tecnología (rommon security) en algunos enrutadores y su propósito es evitar que quien que pueda romper la secuencia de arranque pueda ver o sobrecargar la configuración actual (en la NVRAM). En vista de lo anterior, si la plataforma tiene tarjetas adicionales de Flash, me imagino que éste comando evitará que se acceda a ellas de manera directa o que se copien archivos de éstas tarjetas a la NVRAM a menos que se desactive la característica (reescribiendo la NVRAM o reseteandola). Por otro lado, el comando secure boot-config o boot-image crea copias no borrables en flash de la configuración y del IOS, por lo tanto, si tienes activas las dos características, el enrutador no debería arrancar en ROMMON porque siempre existirá una copia usable tanto de la configuración como del IOS y si llegara a suceder, primero debes deshabilitar la Rommon security para poder hacer la recuperación.
Gracias y hasta pronto.
P.D.: Éstas pruebas habrá que hacerlas en un laboratorio porque sí son confusas.
Hola, tengo un problema mas o menos parecido al que pones aquí, pero creo que mi IOS esta dañada, porque pongo otra imagen en la memoria flash y nada, sigo entrando a modo rommon, algun comentario? o me explique? gracias
Hola Mincho,
si cuando cargas la nueva IOS en la flash la borras previamente y la imagen que cargas es la misma que estaba, probablemente sí se haya dañado la Flash. Intenta con una imagen más pequeña a ver si con esa sí te arranca. Recuerda poner el registro de configuración a un valor correcto, busca en el manual de tu equipo cuál es el valor correcto, generalmente es 0×2102 pero eso depende del equipo.
Gracias y hasta pronto.
Buenas César, primero gracias por el blog, borré “accidentalmente” la Bios, la tenía guardada, he seguido los pasos que propones, y ahora el problema es mayor. Al arrancar la conexión con hyperterminal, me salen caracteres extraños, o sea, no me arranca ni en rommon. He cambiado todo lo referente a hardware.
La conexión de hyperterminal la hago a 9600 con ningún hardware.
Los caracteres extraños son variables dependiendo de las veces que lo enchufo.
La verdad es que estoy anclado aquí.
A ver si se te ocurre algo, pues no tengo ni idea.
Saludos y gracias de antemano
Hola Jirulo,
lo de los caracteres extraños es un cambio en la velocidad del protocolo serial de la consola. Intenta conectarte con otras tasas de transferencia a ver si te salen letras normalmente (empieza desde la tasa más alta 115000 o más).
Lo que creo que hiciste es que pusiste un valor de config-register equivocado. Si utilizaste los valores que dí en la entrada, entonces busca al manual de tu dispositivo y encuentra el valor por defecto del registro de configuración.
Gracias y hasta pronto.
Muy buen post, explicando incluso los pequeños trucos para recordar las sintaXis,eso es enseñar y lo demás cuentos.
Hola, Gracias por todo pero me gustaria saber cual es el gateway que se debe poner y el la direccion del server tftp
Hola Pablo,
primero hay que saber porqué está arrancando en rommon. Una razón (la buena) es que hayas modificado el registro de arranque a algún valor que haga que el enrutador entre en rommon. La otra razón (la mala) es que hayas borrado el IOS, en el segundo caso es indispensable tener una copia del IOS en alguna parte y transferirla con tftpdnld y un servidor tftp. Para la primera hay que buscar la forma de poner el registro de configuración en el valor por defecto. Usualmente se hace mediante confreg 0×2102 para casi todos los enrutadores, pero averigua el valor para el tuyo. Si no tienes copia del IOS, te tocará pedir ayuda a Cisco para eso (y probablemente tendrás que pagar por ello).
Gracias y hasta pronto.
P.D.: Si tienes un enrutador de las mismas características puedes hacer lo de la entrada, copiarlo por tftp del enrutador que tienes funcionando.
que tal pana una pregunta hay forma de recuperar el ios despues de haberlo borrado y apagado el router y al encenderlo solo me sale el rommon
por fa tu ayuda
Hola Fernando,
hmm…. pues habrá que probarlo, por lo pronto sí es seguro que la asignación de direcciones es distinta, porque en el switch se asigna la dirección a la vlan administrativa, pero cuando lo pruebe te digo.
Gracias y hasta pronto.
Que tal Cesar..
Oye y son los mismos pasos para un switch si tambien se ha perdido el IOS en el???
Que me gustaria que al igual que conectas dos routers entre si para intercambiar las ios, pudieras conectar tu coco al mio y transaferir todo lo que sabes!!!!
Gracias, ha salido todo perfectamente.
Una observación que estoy experimentando en este mismo momento: si el router está funcionando el proceso se demora mucho (estoy haciendo un laboratorio).